/** * Used to retrieve the parameters from the upstream project build trigger relative to the given downstream project * @param project the downstream project * @param upstreamBuild the upstream project build * @return the trigger config relative to the given downstream project */ private List<AbstractBuildParameters> retrieveUpstreamProjectTriggerConfig(final AbstractProject<?, ?> project, final AbstractBuild<?, ?> upstreamBuild) { final DescribableList<Publisher, Descriptor<Publisher>> upstreamProjectPublishersList = upstreamBuild.getProject().getPublishersList(); List<AbstractBuildParameters> configs = null; final BuildPipelineTrigger manualTrigger = upstreamProjectPublishersList.get(BuildPipelineTrigger.class); if (manualTrigger != null) { final Set<String> downstreamProjectsNames = Sets.newHashSet(Splitter.on(",").trimResults().split(manualTrigger.getDownstreamProjectNames())); if (downstreamProjectsNames.contains(project.getFullName())) { configs = manualTrigger.getConfigs(); } } final BuildTrigger autoTrigger = upstreamProjectPublishersList.get(BuildTrigger.class); if (autoTrigger != null) { for (BuildTriggerConfig config : autoTrigger.getConfigs()) { final Set<String> downstreamProjectsNames = Sets.newHashSet(Splitter.on(",").trimResults().split(config.getProjects())); if (downstreamProjectsNames.contains(project.getFullName())) { configs = config.getConfigs(); } } } return configs; }
for (ListIterator<BuildTriggerConfig> btc = bt.getConfigs().listIterator(); btc.hasNext();) { BuildTriggerConfig c = btc.next(); if (c.onDeleted(oldName)) { if (bt!=null && bt.getConfigs().isEmpty()){ p.getPublishersList().remove(bt);
for (ListIterator<BuildTriggerConfig> btc = bt.getConfigs().listIterator(); btc.hasNext();) { BuildTriggerConfig c = btc.next(); if (c.onDeleted(p.getParent(), oldName)) { if (bt!=null && bt.getConfigs().isEmpty()){ p.getPublishersList().remove(bt);
@Override public void onRenamed(Item item, String oldName, String newName) { for (Project<?,?> p : Hudson.getInstance().getProjects()) { boolean changed = false; //iterate over post build triggers BuildTrigger bt = p.getPublishersList().get(BuildTrigger.class); if (bt != null) { for (BuildTriggerConfig c : bt.getConfigs()){ changed |= c.onJobRenamed(oldName, newName); } } //iterate over build step triggers TriggerBuilder tb = p.getBuildersList().get(TriggerBuilder.class); if (tb != null) { for (BuildTriggerConfig co : tb.getConfigs()){ changed |= co.onJobRenamed(oldName, newName); } } //if something changed, save the project if (changed){ try { p.save(); } catch (IOException e) { Logger.getLogger(RenameListener.class.getName()).log(Level.WARNING, "Failed to persist project setting during rename from "+oldName+" to "+newName, e); } } } }
if (buildStep instanceof BuildTrigger) { BuildTrigger buildTrigger = (BuildTrigger) buildStep; List<BuildTriggerConfig> configs = buildTrigger.getConfigs(); for (BuildTriggerConfig config : configs) { result.addAll(config.getProjectList(project.getParent(), null));
for (BuildTriggerConfig c : bt.getConfigs()){ changed |= c.onJobRenamed(p.getParent(), fullOldName, fullNewName);