I am not sure what I am doing wrong with my groovy script. I have written a groovy update script to bulk update all my projects. Sometimes it does not take affect when I call project.save() I can afterwards open that project configuration page and everything looks right. The updated content is there. However when I write a groovy read script to print out that information I updated, not all projects show the updated information. If I then open those projects configuration page, do nothing and just press save then that information is available when I run the read script again.
Making a change in Script console using Groovy and then envoke project.save(), why is it that when I try to read the value again it does not show the changed value, but the old one. Do I need to perform some other action than just project.save() For instance given this groovy script to add some environment variables. #!/usr/bin/env groovy import java.lang.StringBuilder import hudson.matrix.MatrixProject import org.jenkinsci.plugins.envinject.EnvInjectJobProperty import org.jenkinsci.plugins.envinject.EnvInjectJobPropertyInfo def jenkinsInstance = jenkins.model.Jenkins.getInstance() def developmentView = jenkinsInstance.getView("myView") developmentView.getItems().each { project -> StringBuilder builder = new StringBuilder() builder.append("NO_CPPCHECK=true") builder.append("\n") builder.append("NO_INSTALL=true") final def propertiesContent = builder.toString() def info = new EnvInjectJobPropertyInfo(null, propertiesContent, null, null, null, false) def property = new EnvInjectJobProperty() property.setOn(true) property.setKeepJenkinsSystemVariables(true) property.setKeepBuildVariables(true) property.setInfo(info) project.addProperty(property) project.save() } Trying to read the same environment variables #!/usr/bin/env groovy import org.jenkinsci.plugins.envinject.EnvInjectJobProperty import org.jenkinsci.plugins.envinject.EnvInjectJobPropertyInfo def jenkinsInstance = jenkins.model.Jenkins.getInstance() def developmentView = jenkinsInstance.getView("myView") developmentView.getItems().each { project -> def EnvInjectJobProperty property = project.getProperty( EnvInjectJobProperty.class) if (property != null) { def info = property.getInfo() println info.getPropertiesContent() } } Not all projects now shows the environment variables. -- You received this message because you are subscribed to the Google Groups "Jenkins Developers" group. To unsubscribe from this group and stop receiving emails from it, send an email to jenkinsci-dev+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/jenkinsci-dev/37b712cb-5407-4359-bacd-37a700ef8aed%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.