Class ApprovableBuildManager
- java.lang.Object
-
- jetbrains.buildServer.serverSide.impl.approval.ApprovableBuildManager
-
public class ApprovableBuildManager extends Object
-
-
Constructor Summary
Constructors Constructor Description ApprovableBuildManager(UserModel userModel, UserGroupManager userGroupManager, TimeService timeService, AuditLogFactory auditLogFactory, UntrustedBuildsManager untrustedBuildsManager)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addApprovedByUser(BuildPromotionEx buildPromotionEx, SUser user)
void
addApprovedByUser(BuildPromotionEx buildPromotionEx, SUser user, boolean approveAll)
Boolean
allApprovalRulesAreMet(BuildPromotionEx buildPromotionEx)
Returns true if all approval rules for this promotion are met, or false otherwise.Boolean
areApprovalRulesValid(BuildPromotionEx buildPromotionEx)
Returns true if given build promotion has approval feature enabled and its rules are valid.ApprovalBuildFeatureConfiguration
getApprovalBuildFeatureConfiguration(Map<String,String> params)
Returns configuration without resolving parameter references, if any.ApprovalBuildFeatureConfiguration
getApprovalBuildFeatureConfiguration(BuildTypeTemplate template)
ApprovalBuildFeatureConfiguration
getApprovalBuildFeatureConfiguration(SBuildType buildType)
ApprovalBuildFeatureConfiguration
getApprovalConfiguration(BuildPromotionEx buildPromotionEx)
Returns configuration for approval if this build type has approval rules(from untrusted build settings or approval feauture), or throws an exception if it does not.ApprovalBuildFeatureConfiguration
getApprovalConfigurationOrNull(BuildPromotionEx buildPromotionEx)
ApprovalResult
getApprovalStatus(BuildPromotion buildPromotion)
static Set<String>
getApprovedByUsernames(BuildPromotionEx buildPromotionEx)
Return set of usernames of users who have approved this build.Set<SUser>
getApprovedByUsers(BuildPromotionEx buildPromotionEx)
Retrieve set of SUser entities for users who have approved this build.Long
getTimeout(BuildPromotionEx buildPromotionEx)
Retrieve timestamp (epoch seconds) for the moment when this build promotion will time out.boolean
hasApprovalFeature(BuildPromotionEx buildPromotionEx)
Boolean
hasApprovalFeature(BuildTypeTemplate template)
Boolean
hasApprovalFeature(SBuildType buildType)
boolean
hasApprovalRules(BuildPromotionEx buildPromotionEx)
Returns true if this build has approval configuration(from untrusted build settings or approval build feature)Boolean
hasTimedOut(BuildPromotionEx buildPromotionEx)
Returns true if this build promotion has timed out (e.g.Boolean
isApprovableByUser(BuildPromotionEx buildPromotionEx, SUser user)
Returns true if this build may be approved by specified user, or false otherwise.Boolean
isApprovedByUser(BuildPromotionEx buildPromotionEx, SUser user)
Returns true if this build was approved by specified user, or false otherwise.void
setTimeService(TimeService timeService)
boolean
shouldCollectChangesInQueue(BuildPromotionEx buildPromotion)
-
-
-
Constructor Detail
-
ApprovableBuildManager
public ApprovableBuildManager(UserModel userModel, UserGroupManager userGroupManager, TimeService timeService, AuditLogFactory auditLogFactory, UntrustedBuildsManager untrustedBuildsManager)
-
-
Method Detail
-
setTimeService
public void setTimeService(TimeService timeService)
-
getApprovalStatus
@NotNull public ApprovalResult getApprovalStatus(@NotNull BuildPromotion buildPromotion)
-
hasApprovalRules
public boolean hasApprovalRules(@NotNull BuildPromotionEx buildPromotionEx)
Returns true if this build has approval configuration(from untrusted build settings or approval build feature)
-
shouldCollectChangesInQueue
public boolean shouldCollectChangesInQueue(@NotNull BuildPromotionEx buildPromotion)
-
hasApprovalFeature
public boolean hasApprovalFeature(@NotNull BuildPromotionEx buildPromotionEx)
-
hasApprovalFeature
public Boolean hasApprovalFeature(@NotNull SBuildType buildType)
-
hasApprovalFeature
public Boolean hasApprovalFeature(@NotNull BuildTypeTemplate template)
-
getApprovalConfiguration
@NotNull public ApprovalBuildFeatureConfiguration getApprovalConfiguration(@NotNull BuildPromotionEx buildPromotionEx)
Returns configuration for approval if this build type has approval rules(from untrusted build settings or approval feauture), or throws an exception if it does not. Use shouldBeApproved() method prior to calling this method.
-
getApprovalConfigurationOrNull
@Nullable public ApprovalBuildFeatureConfiguration getApprovalConfigurationOrNull(@NotNull BuildPromotionEx buildPromotionEx)
-
getApprovalBuildFeatureConfiguration
public ApprovalBuildFeatureConfiguration getApprovalBuildFeatureConfiguration(@NotNull Map<String,String> params)
Returns configuration without resolving parameter references, if any.
-
getApprovalBuildFeatureConfiguration
@NotNull public ApprovalBuildFeatureConfiguration getApprovalBuildFeatureConfiguration(@NotNull SBuildType buildType)
-
getApprovalBuildFeatureConfiguration
@NotNull public ApprovalBuildFeatureConfiguration getApprovalBuildFeatureConfiguration(@NotNull BuildTypeTemplate template)
-
allApprovalRulesAreMet
public Boolean allApprovalRulesAreMet(@NotNull BuildPromotionEx buildPromotionEx)
Returns true if all approval rules for this promotion are met, or false otherwise. Always returns false for a build which does not need to be approved
-
getApprovedByUsers
public Set<SUser> getApprovedByUsers(@NotNull BuildPromotionEx buildPromotionEx)
Retrieve set of SUser entities for users who have approved this build.
-
getApprovedByUsernames
public static Set<String> getApprovedByUsernames(@NotNull BuildPromotionEx buildPromotionEx)
Return set of usernames of users who have approved this build.
-
getTimeout
@Nullable public Long getTimeout(@NotNull BuildPromotionEx buildPromotionEx)
Retrieve timestamp (epoch seconds) for the moment when this build promotion will time out.
-
hasTimedOut
public Boolean hasTimedOut(@NotNull BuildPromotionEx buildPromotionEx)
Returns true if this build promotion has timed out (e.g. timeout timestamp was reached), and false otherwise.
-
areApprovalRulesValid
public Boolean areApprovalRulesValid(@NotNull BuildPromotionEx buildPromotionEx) throws IllegalStateException
Returns true if given build promotion has approval feature enabled and its rules are valid. Throws IllegalStateException if given build promotion does not have approval feature enabled (use getApprovalFeature method).- Throws:
IllegalStateException
-
isApprovedByUser
public Boolean isApprovedByUser(@NotNull BuildPromotionEx buildPromotionEx, @NotNull SUser user)
Returns true if this build was approved by specified user, or false otherwise.
-
isApprovableByUser
public Boolean isApprovableByUser(@NotNull BuildPromotionEx buildPromotionEx, @NotNull SUser user) throws IllegalStateException, InvalidApprovalRuleException
Returns true if this build may be approved by specified user, or false otherwise. Always returns false for a build which does not have approval feature enabled.
-
addApprovedByUser
public void addApprovedByUser(@NotNull BuildPromotionEx buildPromotionEx, @NotNull SUser user)
-
addApprovedByUser
public void addApprovedByUser(@NotNull BuildPromotionEx buildPromotionEx, @NotNull SUser user, boolean approveAll)
-
-