|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
public interface PlanManager
Manager for all Plan types within Bamboo Use this manager if you need to address Builds, Plans, etc.
| Method Summary | ||
|---|---|---|
boolean |
assertPlanPermission(Plan plan)
Used to validate user permission for plan. |
|
void |
createPlan(Plan plan)
Same as savePlan, but create permissions used instead of edit permissions. |
|
void |
deletePlan(Plan plan)
Removes the plan object from the database. |
|
java.util.Set<TopLevelPlan> |
filterFavouritedPlans(java.util.Collection<TopLevelPlan> plans,
com.atlassian.user.User user)
Return a set of Builds that are a subset of the given TopLevelPlans collection that are favourited by the User |
|
java.util.List<TopLevelPlan> |
getAllPlans()
Returns all TopLevelPlan's |
|
|
getAllPlans(java.lang.Class<T> planType)
Returns all Plan's filtered by Class |
|
|
getAllPlansByProject(Project project,
java.lang.Class<T> planType)
Returns all Plan's filtered by Project and Class, including the plans
marked for deletion. |
|
|
getAllPlansForClone(java.lang.Class<T> planType)
Returns all Plan's filtered by Class
Return list filtered to show only plans the current user is allowed to clone. |
|
|
getAllPlansMarkedForDeletion(java.lang.Class<T> planType)
Returns a list of Plans that are com.atlassian.bamboo.plan.Plan#markForDeletion() for the given type |
|
java.util.List<TopLevelPlan> |
getAllPlansUnrestricted()
Returns all TopLevelPlan's ignoring permissions |
|
java.util.Set<TopLevelPlan> |
getFavouritePlans(com.atlassian.user.User user)
|
|
Plan |
getPlanById(long id)
Returns a Plan by its id |
|
|
getPlanById(long id,
java.lang.Class<T> planType)
Returns a Plan by its id and Class |
|
Plan |
getPlanByKey(PlanKey planKey)
Returns a Plan by its PlanKey |
|
|
getPlanByKey(PlanKey planKey,
java.lang.Class<T> planType)
Returns a Plan by its PlanKey and Class |
|
Plan |
getPlanByKey(java.lang.String planKey)
Returns a Plan by its planKey |
|
|
getPlanByKey(java.lang.String planKey,
java.lang.Class<T> planType)
Returns a Plan by its planKey and Class |
|
|
getPlanByKeyIfOfType(PlanKey planKey,
java.lang.Class<T> planType)
Returns a Plan by its planKey and if it's of the type Class. |
|
|
getPlanByKeyIfOfType(java.lang.String planKey,
java.lang.Class<T> planType)
Returns a Plan by its planKey and if it's of the type Class. |
|
|
getPlanByName(java.lang.String projectKey,
java.lang.String planName,
java.lang.Class<T> planType)
Returns a Plan from a project with the given plan name and Class
It is not possible to use this method if the planType parameter is a marker interface type such as Plan, Buildable or TopLevelPlan
since it is possible to have a Chain and a Job that share the same name. |
|
|
getPlanByPartialKeyAndName(PlanKey partialPlanKey,
java.lang.String planName,
java.lang.Class<T> planType)
Returns a Plan that matches the start of the given PlanKey and the full plan name |
|
Plan |
getPlanByResultKey(PlanResultKey planResultKey)
Returns a Plan by a PlanResultKey |
|
|
getPlanByResultKey(PlanResultKey planResultKey,
java.lang.Class<T> planType)
Returns a Plan from a PlanResultKey and Class |
|
int |
getPlanCount()
|
|
|
getPlanCount(java.lang.Class<T> planType)
How many plans filtered by Class currently exist |
|
java.util.List<TopLevelPlan> |
getPlansByProject(Project project)
Returns all TopLevelPlan's filtered by Project |
|
|
getPlansByProject(Project project,
java.lang.Class<T> planType)
Returns all Plan's filtered by Project and Class |
|
Plan |
getPlanSkeletonForPermissionCheckingByKey(java.lang.String planKey)
Returns a Plan skeleton skeleton providing ONLY id and key, that matches the given key
This method should be used only for permission checking using Acegi
If Job key is provided as a parameter, parent Chain will be returned anyway, as Acegi assertions are defined only for TopLevelPlans |
|
|
getProjectPlanMap(java.lang.Class<T> planType,
boolean includeEmptyProjects)
Return mapping of Project to Plan of given type |
|
boolean |
isPlanCreationAllowed()
Check whether or not a plan can be created or not (based on licensing etc) |
|
java.util.Map<PlanKey,PlanKey> |
movePlanToProject(Plan plan,
Project project,
java.lang.String newPlanKey,
java.lang.String newBuildName)
Moves plan to a selected project. |
|
|
narrow(Plan plan,
java.lang.Class<T> aClass)
Deprecated. since 2.7 please use Narrow.to instead. |
|
java.lang.String |
revertVcsRevisionKey(java.lang.String buildKey,
java.lang.String revisionForBuild,
java.lang.String previousRevision)
Revert lastVcsRevisionKey in build based on previous build revision contained in BuildContext. |
|
void |
savePlan(Plan plan)
Saves the Plan |
|
void |
setPlanSuspendedState(Plan plan,
boolean newState)
Persists enable/disable state of a plan. |
|
void |
updateLatestVcsKey(Plan plan,
java.lang.String vcsRevisionKey)
Updates the build to the latest passed revision key |
|
void |
updateNamesAndDescription(java.lang.String projectName,
java.lang.String buildName,
java.lang.String description,
Plan plan)
Updates project and plan names and plan description. |
|
java.lang.String |
updateVcsRevisionKey(BuildContext buildContext)
Updates lastVcsRevisionKey in build based on revision contained in BuildContext |
|
| Method Detail |
|---|
@Deprecated
@Nullable
<T extends Plan> T narrow(@NotNull
Plan plan,
@NotNull
java.lang.Class<T> aClass)
Plan to the given Class
Returns null if Plan could not be converted
This method should only be used if testing the capability of a Plan where generically provided.
For example, a perfectly acceptable use of #narrow(Plan,Class) may be where you are given a collection of Plans
and you want to perform a specific operation on plans that are Buildable.
In other cases (if possible) you should use one of the getPlanBy methods on this class instead of #narrow(Plan,Class).
plan - - to be narrowedaClass - - type to be narrowed to
IncorrectPlanTypeException - if plan cannot be found
@Nullable
Plan getPlanById(long id)
throws IncorrectPlanTypeException
Plan by its id
id - of the plan
IncorrectPlanTypeException - if plan cannot be found
@Nullable
<T extends Plan> T getPlanById(long id,
java.lang.Class<T> planType)
throws IncorrectPlanTypeException
Plan by its id and Class
id - of the planplanType - - the type of the plan to retrieve
IncorrectPlanTypeException - if plan cannot be found with the correct type
@Nullable
Plan getPlanByKey(@NotNull
java.lang.String planKey)
throws IncorrectPlanTypeException
Plan by its planKey
planKey - of the plan to find
IncorrectPlanTypeException - if plan cannot be found with the correct type (should never happen)
@Nullable
Plan getPlanSkeletonForPermissionCheckingByKey(@NotNull
java.lang.String planKey)
Plan skeleton skeleton providing ONLY id and key, that matches the given key
This method should be used only for permission checking using Acegi
If Job key is provided as a parameter, parent Chain will be returned anyway, as Acegi assertions are defined only for TopLevelPlans
planKey - of the plan to find
IncorrectPlanTypeException - if plan cannot be found with the correct type (should never happen)
@Nullable
<T extends Plan> T getPlanByKey(@NotNull
java.lang.String planKey,
java.lang.Class<T> planType)
throws IncorrectPlanTypeException
Plan by its planKey and Class
planKey - to search forplanType - - the type of the plan to retrieve
IncorrectPlanTypeException - if plan cannot be found with the correct type
@Nullable
<T extends Plan> T getPlanByKeyIfOfType(@NotNull
java.lang.String planKey,
@NotNull
java.lang.Class<T> planType)
Plan by its planKey and if it's of the type Class. Does not throw IncorrectPlanTypeException.
Should only be used when the type of the plan can not be known.
T - planKey - planType -
@Nullable
<T extends Plan> T getPlanByKeyIfOfType(@NotNull
PlanKey planKey,
@NotNull
java.lang.Class<T> planType)
Plan by its planKey and if it's of the type Class. Does not throw IncorrectPlanTypeException.
Should only be used when the type of the plan can not be known.
planKey - to search forplanType - the type of the plan to retrieve
@Nullable
Plan getPlanByKey(@NotNull
PlanKey planKey)
throws IncorrectPlanTypeException
Plan by its PlanKey
planKey - to search for
IncorrectPlanTypeException - if plan cannot be found with the correct type (should never happen)
boolean assertPlanPermission(@NotNull
Plan plan)
plan - to check the permissions of
@Nullable
<T extends Plan> T getPlanByKey(@NotNull
PlanKey planKey,
java.lang.Class<T> planType)
throws IncorrectPlanTypeException
Plan by its PlanKey and Class
planKey - to search forplanType - - the type of the plan to retrieve
IncorrectPlanTypeException - if plan cannot be found with the correct type
@Nullable
Plan getPlanByResultKey(@NotNull
PlanResultKey planResultKey)
throws IncorrectPlanTypeException
Plan by a PlanResultKey
planResultKey - to look for the parent plan
IncorrectPlanTypeException - if plan cannot be found with the correct type (should never happen)
@Nullable
<T extends Plan> T getPlanByResultKey(@NotNull
PlanResultKey planResultKey,
java.lang.Class<T> planType)
throws IncorrectPlanTypeException
Plan from a PlanResultKey and Class
planResultKey - to look for the parent planplanType - - the type of the plan to retrieve
IncorrectPlanTypeException - if plan cannot be found with the correct type
@Nullable
<T extends Plan> T getPlanByName(@NotNull
java.lang.String projectKey,
@NotNull
java.lang.String planName,
java.lang.Class<T> planType)
throws IncorrectPlanTypeException
Plan from a project with the given plan name and Class
It is not possible to use this method if the planType parameter is a marker interface type such as Plan, Buildable or TopLevelPlan
since it is possible to have a Chain and a Job that share the same name.
projectKey - of the project to look for the plan inplanName - - name of the plan inside the project: this is just the plan component of the name (i.e does not include the project component)planType - - the type of the plan to retrieve
IncorrectPlanTypeException - if the result cannot be guaranteed to be unique
@Nullable
<T extends Plan> T getPlanByPartialKeyAndName(@NotNull
PlanKey partialPlanKey,
@NotNull
java.lang.String planName,
java.lang.Class<T> planType)
throws IncorrectPlanTypeException
Plan that matches the start of the given PlanKey and the full plan name
partialPlanKey - - the start of the plan keyplanName - - name of the plan to search for: this is just the plan component of the name (i.e does not include the project component)planType - - the type of the plan to retrieve
IncorrectPlanTypeException - if plan cannot be found with the correct type@NotNull java.util.List<TopLevelPlan> getAllPlans()
TopLevelPlan's
java.util.List<TopLevelPlan> getAllPlansUnrestricted()
TopLevelPlan's ignoring permissions
@NotNull <T extends Plan> java.util.List<T> getAllPlans(java.lang.Class<T> planType)
Plan's filtered by Class
planType - - the type of the plan to retrieve
Plan.getName()@NotNull <T extends Plan> java.util.List<T> getAllPlansForClone(java.lang.Class<T> planType)
Plan's filtered by Class
Return list filtered to show only plans the current user is allowed to clone.
planType - the class type of the plans you want returned
@NotNull java.util.List<TopLevelPlan> getPlansByProject(Project project)
TopLevelPlan's filtered by Project
project - - that the plans will belong to
TopLevelPlan plans contained within the given project
@NotNull
<T extends Plan> java.util.List<T> getPlansByProject(Project project,
java.lang.Class<T> planType)
Plan's filtered by Project and Class
project - - that the plans will belong toplanType - - the type of the plan to retrieve
@NotNull
<T extends Plan> java.util.List<T> getAllPlansByProject(Project project,
java.lang.Class<T> planType)
Plan's filtered by Project and Class, including the plans
marked for deletion.
project - - that the plans will belong toplanType - - the type of the plan to retrieve
@NotNull
<T extends Plan> java.util.Map<Project,java.util.Collection<T>> getProjectPlanMap(java.lang.Class<T> planType,
boolean includeEmptyProjects)
Project to Plan of given type
planType - type of plan to be selected from DBincludeEmptyProjects - should empty projects be included in result
Project to Plan of given typeint getPlanCount()
Buildable's exists<T extends Plan> int getPlanCount(java.lang.Class<T> planType)
Class currently exist
planType - - the type of the plan to retrieve
void savePlan(@NotNull
Plan plan)
Plan
plan - to be saved
void setPlanSuspendedState(Plan plan,
boolean newState)
plan - to be suspended/resumed
void updateLatestVcsKey(@NotNull
Plan plan,
@NotNull
java.lang.String vcsRevisionKey)
plan - - Plan keyvcsRevisionKey - - revision key
java.lang.String updateVcsRevisionKey(@NotNull
BuildContext buildContext)
buildContext - containing the plan and vcs information to be persisted to the db.
@Nullable
java.lang.String revertVcsRevisionKey(@NotNull
java.lang.String buildKey,
@NotNull
java.lang.String revisionForBuild,
@Nullable
java.lang.String previousRevision)
buildKey - - plan to revertrevisionForBuild - - the revision number that the build should be before reverting (used to see if another build
may have started since this one.)previousRevision - - the revision that the build should be reverted to if above conditions met
boolean isPlanCreationAllowed()
void updateNamesAndDescription(@NotNull
java.lang.String projectName,
@NotNull
java.lang.String buildName,
@Nullable
java.lang.String description,
@NotNull
Plan plan)
projectName - new name of the projectbuildName - new name of the plandescription - new plan descriptionplan - to update the details ofvoid createPlan(Plan plan)
void deletePlan(Plan plan)
plan - to delete.
java.util.Map<PlanKey,PlanKey> movePlanToProject(Plan plan,
Project project,
java.lang.String newPlanKey,
java.lang.String newBuildName)
plan - - plan to be moved/renamedproject - - project plan should be moved tonewPlanKey - - new key for the plan (not a full key)newBuildName - - new name for the plan
java.util.Set<TopLevelPlan> getFavouritePlans(@NotNull
com.atlassian.user.User user)
@NotNull
java.util.Set<TopLevelPlan> filterFavouritedPlans(@NotNull
java.util.Collection<TopLevelPlan> plans,
@NotNull
com.atlassian.user.User user)
Builds that are a subset of the given TopLevelPlans collection that are favourited by the User
plans - to filteruser - to return the favourites of
Builds that are a subset of the given TopLevelPlans collection that are favourited by the User@NotNull <T extends Plan> java.util.Collection<T> getAllPlansMarkedForDeletion(java.lang.Class<T> planType)
Plans that are com.atlassian.bamboo.plan.Plan#markForDeletion() for the given type
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||