I am trying to get the current workspace of my Jenkins build using a Groovy pipeline script:
node(\'master\') {
    // PULL IN ENVIRONMENT VARIABLES
    // J         
        This is where you can find the answer in the job-dsl-plugin code.
Basically you can do something like this:
readFileFromWorkspace('src/main/groovy/com/groovy/jenkins/scripts/enable_safehtml.groovy')
                                                                        There is no variable included for that yet, so you have to use shell-out-read-file method:
sh 'pwd > workspace'
workspace = readFile('workspace').trim()
Or (if running on master node):
workspace = pwd()
                                                                        I think you can also execute the pwd() function on the particular node:
node {
    def PWD = pwd();
    ...
}
                                                                        For me just ${workspace} worked without even initializing the variable 'workspace.'
I have successfully used as shown below in Jenkinsfile:
steps {
  script {
    def reportPath = "${WORKSPACE}/target/report"
    ...
  }
}
                                                                        A quick note for anyone who is using bat in the job and needs to access Workspace:
It won't work.
$WORKSPACE https://issues.jenkins-ci.org/browse/JENKINS-33511 as mentioned here only works with PowerShell. So your code should have powershell for execution
 stage('Verifying Workspace') {
  powershell label: '', script: 'dir $WORKSPACE'
}