title: Jenkinsfile print parameters nicely
body: <p>We have a Jenkinsfile with parameters declared as follows:</p>
  <pre><code>def params = [string(name: 'ENVIRONMENT', value: environment),
                string(name: 'VERSION',     value: version),
                string(name: 'REGION',      value: region)]
  </code></pre>
  <p>I'd like to echo these, for example</p>
  <pre><code>DEPLOYING: ENVIRONMENT=STAGING, VERSION=1.3.0, REGION=EU
  </code></pre>
  <p>However calling <code>echo &quot;$params&quot;</code> prints:</p>
  <pre><code>[@string(name=ENVIRONMENT,value=STAGING), @string(name=VERSION,value=1.3.0), @string(name=REGION,value=EU)]
  </code></pre>
  <p>I tried iterating the array - e.g. :</p>
  <p><code>params.each { echo it }</code> throws <code>UnsupportedOperationException: no known implementation of class java.lang.String is using symbol ‘string’</code></p>
  <p><code>params.each { echo it.name }</code>  throws <code>RejectedAccessException: No such field found: field org.jenkinsci.plugins.structs.describable.UninstantiatedDescribable name</code></p>
  <p>How can I print the <code>params</code> array nicely?</p>
  <p>EDIT - from Matt Schuchard's response:</p>
  <pre><code>def params = [string(name: 'ENVIRONMENT', value: &quot;STAGING&quot;),
                string(name: 'VERSION',     value: &quot;1.3.0&quot;),
                string(name: 'REGION',      value: &quot;EU&quot;)]
  print &quot;$params&quot;
  
  params.each() { param, value -&gt;
      print &quot;Parameter: ${param}, Value: ${value}&quot;
  }
  </code></pre>
  <p>returns (i.e. Value is all null):</p>
  <pre><code>[@string(name=ENVIRONMENT,value=STAGING), @string(name=VERSION,value=1.3.0), @string(name=REGION,value=EU)]
  Parameter: @string(name=ENVIRONMENT,value=STAGING), Value: null
  Parameter: @string(name=VERSION,value=1.3.0), Value: null
  Parameter: @string(name=REGION,value=EU), Value: null
  </code></pre>