I have added some reverse build triggers with a Groovy script. Unfortunately the triggers does not work properly.
It all looks like its ok, but after an upstream project has been built I get the following NullPointerException: Warning: you have no plugins providing access control for builds, so falling back to legacy behavior of permitting any downstream builds to be triggered FATAL: null java.lang.NullPointerException <http://stacktrace.jenkins-ci.org/search?query=java.lang.NullPointerException> at jenkins.triggers.ReverseBuildTrigger.shouldTrigger(ReverseBuildTrigger.java:111) <http://stacktrace.jenkins-ci.org/search/?query=jenkins.triggers.ReverseBuildTrigger.shouldTrigger&entity=method> at jenkins.triggers.ReverseBuildTrigger.access$000(ReverseBuildTrigger.java:84) <http://stacktrace.jenkins-ci.org/search/?query=jenkins.triggers.ReverseBuildTrigger.access$000&entity=method> at jenkins.triggers.ReverseBuildTrigger$1.shouldTriggerBuild(ReverseBuildTrigger.java:141) <http://stacktrace.jenkins-ci.org/search/?query=jenkins.triggers.ReverseBuildTrigger$1.shouldTriggerBuild&entity=method> at hudson.tasks.BuildTrigger.execute(BuildTrigger.java:245) <http://stacktrace.jenkins-ci.org/search/?query=hudson.tasks.BuildTrigger.execute&entity=method> at hudson.model.AbstractBuild$AbstractBuildExecution.cleanUp(AbstractBuild.java:687) <http://stacktrace.jenkins-ci.org/search/?query=hudson.model.AbstractBuild$AbstractBuildExecution.cleanUp&entity=method> at hudson.model.Run.execute(Run.java:1788) <http://stacktrace.jenkins-ci.org/search/?query=hudson.model.Run.execute&entity=method> at hudson.matrix.MatrixBuild.run(MatrixBuild.java:301) <http://stacktrace.jenkins-ci.org/search/?query=hudson.matrix.MatrixBuild.run&entity=method> at hudson.model.ResourceController.execute(ResourceController.java:98) <http://stacktrace.jenkins-ci.org/search/?query=hudson.model.ResourceController.execute&entity=method> at hudson.model.Executor.run(Executor.java:381) <http://stacktrace.jenkins-ci.org/search/?query=hudson.model.Executor.run&entity=method> Finished: SUCCESS I fixed it by the following approach: Before building one of the upstream project, I went into the configuration of each of its downstream projects, checked the "Build after other projects are built" for each of them. The reverse build trigger was already activated, the projects listed. I save the project even though there actually was no changes. This time the reverse build trigger worked when an upstream project was build all its downstream projects got triggered. Why did I have to manually go into each downstream project and save it? My groovy script does that. #!/usr/bin/env groovy import jenkins.triggers.ReverseBuildTrigger import hudson.model.Result def jenkinsInstance = jenkins.model.Jenkins.getInstance() def developmentView = jenkinsInstance.getView("Development") developmentView.getItems().each { project -> def upstreamProjects = null if (project.name.equals("project3")) { upstreamProjects = "project1, project2 " } if (upstreamProjects != null) { def trigger = new ReverseBuildTrigger(upstreamProjects, Result.SUCCESS) project.addTrigger(trigger) project.save() } } jenkinsInstance.rebuildDependencyGraph() It contains only one for simplicity. My if-else contains aprox 100 projects. -- 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 jenkinsci-users+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/jenkinsci-users/359c5d02-ec66-44b1-be3d-3df40d7e7ab5%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.