title: Jenkins Pipeline emailext $class parameter for recipientProviders
body: <p>I have been trying to get my head around the pipeline groovy code below:</p>
  
  <pre><code>emailext (
          subject: "STARTED: Job '${env.JOB_NAME} [${env.BUILD_NUMBER}]'",
          body: """&lt;p&gt;STARTED: Job '${env.JOB_NAME} [${env.BUILD_NUMBER}]':&lt;/p&gt;
            &lt;p&gt;Check console output at &amp;QUOT;&lt;a href='${env.BUILD_URL}'&gt;${env.JOB_NAME} [${env.BUILD_NUMBER}]&lt;/a&gt;&amp;QUOT;&lt;/p&gt;""",
          recipientProviders: [[$class: 'DevelopersRecipientProvider']]
        )
  </code></pre>
  
  <p>1) Does the dollar sign before the class (which is $class) have some special meaning? I know it refers to the class type <code>DevelopersRecipientProvider</code> but is <code>$class</code> some sort of special reserved word in groovy to indicate class type?</p>
  
  <p>2) In the source code, <code>recipientProviders</code> is a <code>List</code> but what exactly is being assigned to it in the code above? Is it a list of maps?</p>
  
  <p>3) Where is emailext defined in the email ext plugin source code? I searched for emailext in all the .groovy files in the plugin source code but can't seem to find something that looks like the emailext call above.</p>
  
  <p>I would appreciate if someone could shed some light on the above, thanks.</p>