Pipeline - Using java.io.File in a Pipeline description

Article ID:230922128
1 minute readKnowledge base

Issue

Within a Pipeline definition (Jenkinsfile), I need to work with files, to store a value, read its content or validate that the file exists. However, using java.io.File is not working or not permitted inside the _ groovy sandbox_. How can I achieve those tasks?

Resolution

Using java.io.File inside a Pipeline description cannot work as the Pipeline it self is executed on the controller when you want to write/read/test a file on the agent, where the build is done.

So, Pipeline plugins bring some steps in order to provide those features:

  • readFile to read the content of a file in the workspace

  • writeFile to write to a file in the workspace

  • fileExists to test if a file does or not exist in the workspace

  • touch to create an empty file (from pipeline-utility-steps-plugin) in the workspace

You can details on the exact syntax for those step using the snipper generator when creating a plain Pipeline job.