Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Select an option

  • Save mark-cabardo/d033c05e9dabd11edf4875d33b7088f2 to your computer and use it in GitHub Desktop.

Select an option

Save mark-cabardo/d033c05e9dabd11edf4875d33b7088f2 to your computer and use it in GitHub Desktop.

Revisions

  1. @marcelbirkner marcelbirkner revised this gist Feb 5, 2016. 1 changed file with 3 additions and 0 deletions.
    3 changes: 3 additions & 0 deletions jenkins-job-dsl-write-read-file-test.groovy
    Original file line number Diff line number Diff line change
    @@ -1,3 +1,6 @@
    /**
    * Jenkins Job DSL Groovy Script showing how to write & read files to Jenkins Workspace
    */
    import groovy.json.JsonSlurper
    import groovy.json.JsonBuilder
    import groovy.json.JsonOutput
  2. @marcelbirkner marcelbirkner created this gist Feb 5, 2016.
    26 changes: 26 additions & 0 deletions jenkins-job-dsl-write-read-file-test.groovy
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,26 @@
    import groovy.json.JsonSlurper
    import groovy.json.JsonBuilder
    import groovy.json.JsonOutput
    import hudson.FilePath
    import hudson.*

    def projects = []
    projects.add([projectname: 'maven-project-base', ci: true, deployment: false])
    projects.add([projectname: 'maven-project-common', ci: true, deployment: false])
    projects.add([projectname: 'maven-project-webapp', ci: true, deployment: true])

    def json = JsonOutput.toJson(projects)
    println json

    hudson.FilePath workspace = hudson.model.Executor.currentExecutor().getCurrentWorkspace()
    new File("${workspace}/test.json").write(new JsonBuilder(projects).toPrettyString())

    File f = new File("${workspace}/test.json")
    def slurper = new JsonSlurper()
    def jsonText = f.getText()
    println "jsonText ${jsonText}"
    projects = slurper.parseText( jsonText )

    projects.each {
    println it.projectname
    }