title: In jenkins job, create file using system groovy in current workspace
body: <p>my task is to collect node details and list them in certail format. I need to write data to a file and save it as csv file and attach it as artifacts.
  But i am not able to create a file using groovy scripts in the jenkins using plugin "Execute System Groovy" as build step</p>
  
  <pre><code>import jenkins.model.Jenkins
  import hudson.model.User
  import hudson.security.Permission
  import hudson.EnvVars
  
  EnvVars envVars = build.getEnvironment(listener);
  
  filename = envVars.get('WORKSPACE') + "\\node_details.txt";
  //filename = "${manager.build.workspace.remote}" + "\\node_details.txt"
  targetFile = new File(filename);
  println "attempting to create file: $targetFile"
  
  if (targetFile.createNewFile()) {
      println "Successfully created file $targetFile"
  } else {
      println "Failed to create file $targetFile"
  }
  print "Deleting ${targetFile.getAbsolutePath()} : "
  println targetFile.delete()
  </code></pre>
  
  <p>Output obtained</p>
  
  <pre><code>attempting to create file: /home/jenkins/server-name/workspace/GET_NODE_DETAILS\node_details.txt
  FATAL: No such file or directory
  java.io.IOException: No such file or directory
      at java.io.UnixFileSystem.createFileExclusively(Native Method)
      at java.io.File.createNewFile(File.java:947)
      at java_io_File$createNewFile.call(Unknown Source)
      at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:42)
      at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:108)
      at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:112)
      at Script1.run(Script1.groovy:13)
      at groovy.lang.GroovyShell.evaluate(GroovyShell.java:682)
      at groovy.lang.GroovyShell.evaluate(GroovyShell.java:666)
      at hudson.plugins.groovy.SystemGroovy.perform(SystemGroovy.java:81)
      at hudson.tasks.BuildStepMonitor$1.perform(BuildStepMonitor.java:20)
      at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:772)
      at hudson.model.Build$BuildExecution.build(Build.java:199)
      at hudson.model.Build$BuildExecution.doRun(Build.java:160)
      at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:535)
      at hudson.model.Run.execute(Run.java:1732)
      at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43)
      at hudson.model.ResourceController.execute(ResourceController.java:88)
      at hudson.model.Executor.run(Executor.java:234)
  </code></pre>
  
  <p>Some time i see people use "manager" object, how can i get access to it ?
  Alos any ideas on how to accomplish the task ?</p>