Interface PlanRestService
-
- All Known Implementing Classes:
PlanRestServiceImpl
public interface PlanRestService
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description void
assertPlanExistsAndVisible(@NotNull PlanKey planKey)
Checks ifPlan
exists and is visible for calling uservoid
assertPlanExistsAndVisible(@NotNull PlanKey planKey, @NotNull Class<? extends ImmutablePlan> clazz)
Checks ifPlan
exists, has correct type and is visible for calling user@Nullable RestBranchLatestActive
createLatestActiveBranchResult(ImmutablePlan branch)
RestPlanBranchList
createPaginatedBranchResponse(List<? extends ImmutablePlan> branches, @Nullable com.atlassian.user.User user, javax.ws.rs.core.UriInfo uriInfo, boolean allBranches)
RestPlans
createPaginatedPlanResponse(List<? extends ImmutablePlan> plans, @Nullable com.atlassian.user.User user, javax.ws.rs.core.UriInfo uriInfo)
@Nullable ImmutablePlan
getBranchByName(@NotNull ImmutablePlan plan, @NotNull String branchName)
Get branch of a given plan by name.List<ImmutableChainBranch>
getBranchesForChain(ImmutablePlan plan)
List<ImmutableJob>
getBranchesForJob(ImmutableJob job)
@NotNull ImmutableChain
getChainByKey(@NotNull PlanKey planKey)
Returns aPlan
if plan exists and is visible for calling userList<ImmutableJob>
getJobsForPlan(@NotNull PlanKey planKey, @NotNull javax.ws.rs.core.UriInfo uriInfo, @NotNull com.atlassian.plugins.rest.common.security.AuthenticationContext authenticationContext)
Get a list of jobs of specified plan.@NotNull ImmutablePlan
getPlanByKey(@NotNull PlanKey planKey)
Returns aPlan
if plan exists and is visible for calling user In clustered mode, there is NO consistency guarantee.@Nullable ImmutablePlan
getPlanByKeyUnchecked(@NotNull PlanKey planKey)
Returns aPlan
if plan exists.@NotNull ImmutablePlan
getPlanByKeyWithHighConsistencyGuarantee(@NotNull PlanKey planKey)
Returns aPlan
if plan exists and is visible for calling user.List<ImmutablePlan>
getPlans(@NotNull javax.ws.rs.core.UriInfo uriInfo, @NotNull com.atlassian.plugins.rest.common.security.AuthenticationContext authenticationContext)
Get a list of plans.<T extends ImmutablePlan>
List<T>getPlans(Class<T> planType, @NotNull javax.ws.rs.core.UriInfo uriInfo, @NotNull com.atlassian.plugins.rest.common.security.AuthenticationContext authenticationContext)
Get a list of plans.List<ImmutablePlan>
getPlansByProject(@NotNull Project project, @NotNull javax.ws.rs.core.UriInfo uriInfo)
Get a list of plans that belong to a project.List<ImmutablePlan>
getPlansByProject(@NotNull Project project, @NotNull javax.ws.rs.core.UriInfo uriInfo, @NotNull com.atlassian.plugins.rest.common.security.AuthenticationContext authenticationContext)
Get a list of plans that belong to a project.List<ImmutablePlan>
getRunnablePlans(@NotNull Project project, @NotNull javax.ws.rs.core.UriInfo uriInfo)
Get a list of plans that can be run currently logged in user.List<ImmutableChainStage>
getStagesForPlan(@NotNull PlanKey planKey, @NotNull javax.ws.rs.core.UriInfo uriInfo, @NotNull com.atlassian.plugins.rest.common.security.AuthenticationContext authenticationContext)
Get a list of stages of specified plan.boolean
isPlanCreationAllowed()
Check whether or not a plan can be created or not (based on licensing etc)
-
-
-
Method Detail
-
getBranchesForChain
List<ImmutableChainBranch> getBranchesForChain(ImmutablePlan plan)
-
getBranchesForJob
List<ImmutableJob> getBranchesForJob(ImmutableJob job)
-
createPaginatedBranchResponse
RestPlanBranchList createPaginatedBranchResponse(List<? extends ImmutablePlan> branches, @Nullable @Nullable com.atlassian.user.User user, javax.ws.rs.core.UriInfo uriInfo, boolean allBranches)
- Parameters:
branches
-user
-uriInfo
-allBranches
- return all branches, even if expand has 'favourites' parameter. This is because 'favourites' is about plans not branches and all branches of a favourite plan are to be shown- Returns:
- filtered list of branches
-
createLatestActiveBranchResult
@Nullable @Nullable RestBranchLatestActive createLatestActiveBranchResult(ImmutablePlan branch)
-
getBranchByName
@Nullable @Nullable ImmutablePlan getBranchByName(@NotNull @NotNull ImmutablePlan plan, @NotNull @NotNull String branchName)
Get branch of a given plan by name. If passed plan is Chain method will look after properly named chain branch. If passed plan is a Job method will look after corresponding job in a found chain branch.- Parameters:
plan
- planbranchName
- name of the branch to be fetched- Returns:
ImmutableChainBranch
,ImmutableJob
or null if not found
-
createPaginatedPlanResponse
RestPlans createPaginatedPlanResponse(List<? extends ImmutablePlan> plans, @Nullable @Nullable com.atlassian.user.User user, javax.ws.rs.core.UriInfo uriInfo)
-
getPlans
List<ImmutablePlan> getPlans(@NotNull @NotNull javax.ws.rs.core.UriInfo uriInfo, @NotNull @NotNull com.atlassian.plugins.rest.common.security.AuthenticationContext authenticationContext)
Get a list of plans. This method provides filtering using the following query params:favourite
- if specified return only favourite plans
permission
- if specified return only plans that user has this specific permission for
type
- if specifies return only plans of specified type
- Parameters:
uriInfo
-authenticationContext
-- Returns:
- Filtered list of plans belonging to a project.
-
getPlans
<T extends ImmutablePlan> List<T> getPlans(Class<T> planType, @NotNull @NotNull javax.ws.rs.core.UriInfo uriInfo, @NotNull @NotNull com.atlassian.plugins.rest.common.security.AuthenticationContext authenticationContext)
Get a list of plans. This method provides filtering using the following query params:favourite
- if specified return only favourite plans
permission
- if specified return only plans that user has this specific permission for
- Parameters:
planType
- type of plansuriInfo
-authenticationContext
-- Returns:
- Filtered list of plans belonging to a project.
-
getJobsForPlan
List<ImmutableJob> getJobsForPlan(@NotNull @NotNull PlanKey planKey, @NotNull @NotNull javax.ws.rs.core.UriInfo uriInfo, @NotNull @NotNull com.atlassian.plugins.rest.common.security.AuthenticationContext authenticationContext)
Get a list of jobs of specified plan.- Parameters:
planKey
- planKeyuriInfo
-authenticationContext
-- Returns:
- Filtered list of jobs belonging to a plan.
-
getStagesForPlan
List<ImmutableChainStage> getStagesForPlan(@NotNull @NotNull PlanKey planKey, @NotNull @NotNull javax.ws.rs.core.UriInfo uriInfo, @NotNull @NotNull com.atlassian.plugins.rest.common.security.AuthenticationContext authenticationContext)
Get a list of stages of specified plan.- Parameters:
planKey
- planKeyuriInfo
-authenticationContext
-- Returns:
- Filtered list of stages belonging to a plan.
-
getPlansByProject
List<ImmutablePlan> getPlansByProject(@NotNull @NotNull Project project, @NotNull @NotNull javax.ws.rs.core.UriInfo uriInfo)
Get a list of plans that belong to a project.- Parameters:
project
-uriInfo
-- Returns:
- Filtered list of plans belonging to a project.
-
getPlansByProject
List<ImmutablePlan> getPlansByProject(@NotNull @NotNull Project project, @NotNull @NotNull javax.ws.rs.core.UriInfo uriInfo, @NotNull @NotNull com.atlassian.plugins.rest.common.security.AuthenticationContext authenticationContext)
Get a list of plans that belong to a project. This method provides favourite filtering.- Parameters:
project
-uriInfo
-authenticationContext
-- Returns:
- Filtered list of plans belonging to a project.
-
getRunnablePlans
List<ImmutablePlan> getRunnablePlans(@NotNull @NotNull Project project, @NotNull @NotNull javax.ws.rs.core.UriInfo uriInfo)
Get a list of plans that can be run currently logged in user.- Parameters:
project
-uriInfo
-- Returns:
- A list of plans that the current user can run.
-
assertPlanExistsAndVisible
void assertPlanExistsAndVisible(@NotNull @NotNull PlanKey planKey)
Checks ifPlan
exists and is visible for calling user- Parameters:
planKey
-
-
assertPlanExistsAndVisible
void assertPlanExistsAndVisible(@NotNull @NotNull PlanKey planKey, @NotNull @NotNull Class<? extends ImmutablePlan> clazz)
Checks ifPlan
exists, has correct type and is visible for calling user- Parameters:
planKey
-clazz
-
-
getChainByKey
@NotNull @NotNull ImmutableChain getChainByKey(@NotNull @NotNull PlanKey planKey)
Returns aPlan
if plan exists and is visible for calling user- Parameters:
planKey
-- Returns:
- the chain matching the given planKey
-
getPlanByKey
@NotNull @NotNull ImmutablePlan getPlanByKey(@NotNull @NotNull PlanKey planKey)
Returns aPlan
if plan exists and is visible for calling user In clustered mode, there is NO consistency guarantee.- Parameters:
planKey
- key of a plan to search for- Returns:
ImmutablePlan
- Throws:
NotFoundException
- when plan was not foundorg.acegisecurity.AccessDeniedException
- when authenticated user has no permission to the plan
-
getPlanByKeyWithHighConsistencyGuarantee
@NotNull @NotNull ImmutablePlan getPlanByKeyWithHighConsistencyGuarantee(@NotNull @NotNull PlanKey planKey)
Returns aPlan
if plan exists and is visible for calling user. There is a guarantee that the data will be up-to-date.- Parameters:
planKey
- key of a plan to search for- Returns:
ImmutablePlan
- Throws:
NotFoundException
- when plan was not foundorg.acegisecurity.AccessDeniedException
- when authenticated user has no permission to the plan
-
getPlanByKeyUnchecked
@Nullable @Nullable ImmutablePlan getPlanByKeyUnchecked(@NotNull @NotNull PlanKey planKey)
Returns aPlan
if plan exists. No permission check is performed.- Parameters:
planKey
- key of a plan to search for- Returns:
ImmutablePlan
or null if not found
-
isPlanCreationAllowed
boolean isPlanCreationAllowed()
Check whether or not a plan can be created or not (based on licensing etc)- Returns:
- true if a plan can be created otherwise false;
-
-