title: Shell command not as expected
body: <p>I am new to Jenkins Pipelines/Groovy and am struggling with the following:</p>
  <pre><code>stage('Gating') {
      def gatingBaseUrl = &quot;https://www.gating.org/api&quot;
  
      def gatingParams = [
          &quot;fiability&quot;: &quot;$MIN_FIABILITY&quot;, 
          &quot;security&quot;: &quot;$MIN_SECURITY&quot;, 
          &quot;maintenability&quot;: &quot;$MIN_MAINTENABILITY&quot;
      ]
      
      gatingQueryParams = gatingParams.collect{ k,v -&gt; &quot;$k=$v&quot; }.join('&amp;')
      gatingUrl = gatingBaseUrl + '?' + gatingQueryParams
      
      println &quot;gatingUrl: &quot; + gatingUrl
  
      sh(script: &quot;echo $gatingUrl&quot;, returnStdout: true)
   }
  </code></pre>
  <p>Outputs something like this:</p>
  <pre><code>[Pipeline] echo
  gatingUrl: https://www.gating.org/api?fiability=A&amp;security=A&amp;maintenability=A
  [Pipeline] sh
  + maintenability=A
  + echo 'https://www.gating.org/api?fiability=A&amp;security=A&amp;maintenability=A'
  + security=A
  </code></pre>
  <p>I am trying to figure out why my url is splitted when used in shell and how do I fix it.
  Thanks</p>