Your problem is the new File( piece. The pipeline code runs on a flyweight
executor on the master, and the various steps can run on allocated nodes.
You might be able to do something using FilePath
<http://javadoc.jenkins-ci.org/hudson/FilePath.html>, but I think you could
use the findFiles step
<https://jenkins.io/doc/pipeline/steps/pipeline-utility-steps/#findfiles-find-files-in-the-workspace>
which
would get you some information. You could then use the readFile step
<https://jenkins.io/doc/pipeline/steps/workflow-basic-steps/#readfile-read-file-from-workspace>
to
get the file contents into your pipeline execution.

On Tue, Dec 13, 2016 at 4:36 PM anton kropp <[email protected]> wrote:

> I'm having some issues reading files from the local workspace. As part of
> my build a set of artifact files are created and I'd like to iterate over
> them, parse their json contents, and act on it in a pipeline step. However,
> I can't seem to get reading files from the workspace to work.
>
> My stage looks like:
>
>
> stage('Push docker containers') {
> def slurper = new JsonSlurper()
>
> def files = new File(env.WORKSPACE).listFiles()
>
> for (int i = 0; i < files.size(); i++) {
> def file = files[i]
> println(file.name)
> if (file.name.endsWith(".json")) {
> def json = slurper.parse(file)
>
> json.each { key, value ->
> // do stuff
> }
> }
> }
> }
>
> I keep getting a null pointer on files.size. I've tried to ls the
> workspace to see whats in it, but nothing shows up.   Whats the recommended
> approach here?
>
> Thanks
> -Anton
>
> --
> You received this message because you are subscribed to the Google Groups
> "Jenkins Users" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/jenkinsci-users/fd65242f-f3a7-4ba3-8717-3146639d759a%40googlegroups.com
> <https://groups.google.com/d/msgid/jenkinsci-users/fd65242f-f3a7-4ba3-8717-3146639d759a%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
> For more options, visit https://groups.google.com/d/optout.
>

-- 
You received this message because you are subscribed to the Google Groups 
"Jenkins Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/jenkinsci-users/CALELY9Gr0nrmt69eS8KXAu0r4tHYqJA4GGk9ZnLv7XTMn%3DF_4Q%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to