/** @deprecated use {@link #getChildJobs} */ @Deprecated public List<AbstractProject> getChildProjects(AbstractProject owner) { return getChildProjects(owner==null?null:owner.getParent()); }
@SuppressWarnings("unchecked") @Nonnull public List<Job<?, ?>> getChildJobs(@Nonnull AbstractProject<?, ?> owner) { return Items.fromNameList(owner.getParent(), childProjects, (Class<Job<?, ?>>) (Class) Job.class); }
/** * Gets the nearest ancestor {@link TopLevelItem} that's also an {@link AbstractProject}. * * <p> * Some projects (such as matrix projects, Maven projects, or promotion processes) form a tree of jobs * that acts as a single unit. This method can be used to find the top most dominating job that * covers such a tree. * * @return never null. * @see AbstractBuild#getRootBuild() */ public AbstractProject<?,?> getRootProject() { if (this instanceof TopLevelItem) { return this; } else { ItemGroup p = this.getParent(); if (p instanceof AbstractProject) return ((AbstractProject) p).getRootProject(); return this; } }
@Override public void buildDependencyGraph(final AbstractProject downstream, DependencyGraph graph) { for (AbstractProject upstream : Items.fromNameList(downstream.getParent(), getUpstreamProjects(), AbstractProject.class)) { graph.addDependency(new DependencyGraph.Dependency(upstream, downstream) { @Override public boolean shouldTriggerBuild(AbstractBuild upstreamBuild, TaskListener listener, List<Action> actions) { return shouldTrigger(upstreamBuild, listener); } }); } }
Item item = Jenkins.getInstance().getItem(projectName,project,Item.class); if (item == null) { Job<?, ?> nearest = Items.findNearest(Job.class, projectName, project.getParent()); String alternative = nearest != null ? nearest.getRelativeNameFrom(project) : "?"; return FormValidation.error(Messages.BuildTrigger_NoSuchProject(projectName, alternative));
@Override public JobPropertyImpl getParent() { return (JobPropertyImpl)super.getParent(); }
@SuppressWarnings("unchecked") @Nonnull public List<Job<?, ?>> getChildJobs(@Nonnull AbstractProject<?, ?> owner) { return Items.fromNameList(owner.getParent(), childProjects, (Class<Job<?, ?>>) (Class) Job.class); }
/** @deprecated use {@link #getChildJobs} */ @Deprecated public List<AbstractProject> getChildProjects(AbstractProject owner) { return getChildProjects(owner==null?null:owner.getParent()); }
@SuppressWarnings("unchecked") @Override public Void call() throws IOException { project.onLoad(project.getParent(), projectName); return null; } });
@Override public ItemGroup getConfigContext(ItemGroup itemGroup) { if (itemGroup instanceof JobPropertyImpl) { return JobPropertyImpl.class.cast(itemGroup).getOwner().getParent(); } return null; } }
@Override public boolean isTopLevelJob(AbstractProject<?, ?> job) { return Hudson.getInstance().equals(job.getParent()); }
@Override public List<AbstractProject> getDownstreamProjects(AbstractProject<?, ?> project) { List<AbstractProject> result = new ArrayList<>(); for (SubProjectsAction action : Util.filter(project.getActions(), SubProjectsAction.class)) { for (BlockableBuildTriggerConfig config : action.getConfigs()) { result.addAll(config.getProjectList(project.getParent(), null)); } } return result; }
@Override @CheckForNull public ManualTrigger getManualTrigger(AbstractProject<?, ?> project, AbstractProject<?, ?> downstream) { BuildPipelineTrigger bppTrigger = downstream.getPublishersList().get(BuildPipelineTrigger.class); if (bppTrigger != null) { String names = bppTrigger.getDownstreamProjectNames(); if (ProjectUtil.getProjectList(names, project.getParent(), null).contains(project)) { return new BPPManualTrigger(); } } return null; }
@Override public void buildDependencyGraph(final AbstractProject downstream, DependencyGraph graph) { for (AbstractProject upstream : Items.fromNameList(downstream.getParent(), getUpstreamProjects(), AbstractProject.class)) { graph.addDependency(new DependencyGraph.Dependency(upstream, downstream) { @Override public boolean shouldTriggerBuild(AbstractBuild upstreamBuild, TaskListener listener, List<Action> actions) { return shouldTrigger(upstreamBuild, listener); } }); } }
public void buildDependencyGraph(AbstractProject owner, DependencyGraph graph) { // Can only add dependencies in Hudson 1.341 or higher if (!canDeclare(owner)) return; for (BuildTriggerConfig config : configs) for (AbstractProject project : config.getProjectList(owner.getParent(),null)) ParameterizedDependency.add(owner, project, config, graph); } }
@Override public void buildDependencyGraph(AbstractProject owner, DependencyGraph graph) { if (!canDeclare(owner)) return; for (BuildTriggerConfig config : configs) { List<AbstractProject> projectList = config.getProjectList(owner.getParent(), null); for (AbstractProject project : projectList) { graph.addDependency(new TriggerBuilderDependency(owner, project, config)); } } }