Class PlanKeys

java.lang.Object
com.atlassian.bamboo.plan.PlanKeys

@PublicApi public final class PlanKeys extends Object
Method for producing PlanKeys and PlanResultKeys from a String
  • Field Details

  • Method Details

    • isChainKey

      public static boolean isChainKey(@NotNull @NotNull PlanKey planKey)
      Checks if PlanKey represents a Chain
      Parameters:
      planKey -
      Returns:
      isChainKey
    • isJobKey

      public static boolean isJobKey(@NotNull @NotNull PlanKey planKey)
      Checks if PlanKey represents a Job
      Parameters:
      planKey -
      Returns:
      isJobKey
    • isJobResultKey

      public static boolean isJobResultKey(@NotNull @NotNull PlanResultKey planResultKey)
      Checks if PlanResultKey represents a result of Job
      Parameters:
      planResultKey -
      Returns:
      isJobResultKey
    • getPlanKey

      public static PlanKey getPlanKey(@NotNull @NotNull String projectKey, @NotNull @NotNull String buildKey)
      Creates a PlanKey from project key and build key
      Parameters:
      projectKey -
      buildKey -
      Returns:
      key
    • getPlanKey

      public static PlanKey getPlanKey(@NotNull @NotNull com.atlassian.bamboo.specs.api.model.plan.PlanProperties planProperties)
      Creates a PlanKey from PlanProperties
      Parameters:
      planProperties -
      Returns:
      key
    • getPlanKey

      public static PlanKey getPlanKey(@NotNull com.atlassian.bamboo.specs.api.builders.plan.PlanIdentifier planIdentifier)
      Creates a PlanKey from PlanIdentifier
      Parameters:
      planIdentifier -
      Returns:
      key
    • getPlanKey

      public static PlanKey getPlanKey(@NotNull @NotNull com.atlassian.bamboo.specs.api.model.plan.PlanIdentifierProperties planIdentifier)
      Creates a PlanKey from PlanIdentifierProperties
      Parameters:
      planIdentifier -
      Returns:
      key
    • getProjectKeyPart

      @NotNull public static @NotNull String getProjectKeyPart(@NotNull @NotNull PlanKey planKey)
      Returns project key part for given PlanKey
      Parameters:
      planKey -
      Returns:
      project key
    • getProjectKeyPart

      @Nullable public static @Nullable String getProjectKeyPart(@NotNull @NotNull PlanResultKey planResultKey)
      Returns project key part for given PlanResultKey
      Parameters:
      planResultKey -
      Returns:
      project key
    • getPlanKeyPart

      @NotNull public static @NotNull String getPlanKeyPart(@NotNull @NotNull PlanKey planKey)
      Returns plan key part for given PlanKey
      Parameters:
      planKey -
      Returns:
      project key
    • getPlanKeyPart

      @Nullable public static @Nullable String getPlanKeyPart(@NotNull @NotNull PlanResultKey planResultKey)
      Returns plan key part for given PlanResultKey
      Parameters:
      planResultKey -
      Returns:
      project key
    • getJobKey

      @NotNull public static @NotNull PlanKey getJobKey(@NotNull @NotNull PlanKey chainPlanKey, @NotNull @NotNull String jobKey)
      Joins the a Chain key and a jobKey part to create a Job PlanKey

      For example, BAM-REL and UNIT becomes BAM-REL-UNIT

      Parameters:
      chainPlanKey -
      jobKey -
      Returns:
      planKey
    • getChainKeyFromJobKey

      @NotNull public static @NotNull PlanKey getChainKeyFromJobKey(@NotNull @NotNull PlanKey jobKey)
      Extracts a Chain key from a jobKey and creates new PlanKey For example, BAM-REL-UNIT becomes BAM-REL
      Parameters:
      jobKey -
      Returns:
      chainKey
      Throws:
      IllegalArgumentException - if the argument has incorrect format.
    • getChainKeyIfJobKey

      @Nullable public static @Nullable PlanKey getChainKeyIfJobKey(@NotNull @NotNull PlanKey jobKey)
      Extracts a Chain key from a jobKey and creates new PlanKey For example, BAM-REL-UNIT becomes BAM-REL Returns a Chain key if the passed in key is a Job key, otherwise a null is returned
      Parameters:
      jobKey -
      Returns:
      chainKey
    • getPlanKey

      public static PlanKey getPlanKey(@NotNull @NotNull String projectKey, @Nullable @Nullable String chainKey, @NotNull @NotNull String buildKey)
      Creates a PlanKey from project key, parent chain key and build key
      Parameters:
      projectKey -
      chainKey - - if empty a key for top level plan is created
      buildKey -
      Returns:
      key
    • getPlanKey

      @NotNull public static @NotNull PlanKey getPlanKey(@NotNull @NotNull String planKey)
      Creates a PlanKey from its string form 'BAM-BOO' or from the result key form 'BAM-BOO-123'
      Parameters:
      planKey -
      Returns:
      key
      Throws:
      IllegalArgumentException - if key could not be parsed
    • isPlanKey

      public static boolean isPlanKey(@NotNull @NotNull String planKey)
    • getPlanResultKey

      public static PlanResultKey getPlanResultKey(String planResultKey)
      Creates a PlanResultKey from its string form 'BAM-BOO-123'
      Parameters:
      planResultKey -
      Returns:
      key
      Throws:
      IllegalArgumentException - if key could not be parsed
    • getPlanResultKey

      public static PlanResultKey getPlanResultKey(@NotNull @NotNull String planKey, int buildNumber)
      Creates a PlanResultKey from the given planKey and buildNumber
      Parameters:
      planKey -
      buildNumber -
      Returns:
      key
      Throws:
      IllegalArgumentException - if key could not be parsed
    • getPlanResultKey

      public static PlanResultKey getPlanResultKey(PlanKey planKey, int buildNumber)
      Creates a PlanResultKey from the given PlanKey and buildNumber
      Parameters:
      planKey -
      buildNumber -
      Returns:
      planResultKey
    • getChainResultKey

      @NotNull public static @NotNull PlanResultKey getChainResultKey(@NotNull @NotNull PlanResultKey planResultKey)
      Creates a chain result key from job result key. E.g. BAM-BOO-N-1 will return BAM-BOO-1
      Parameters:
      planResultKey - the job result key to convert
      Returns:
      chain result key
    • getPartialJobKey

      public static String getPartialJobKey(PlanKey jobKey)
      Return a partial job key from a full job key, e.g. PROJ-CHAIN-JOB would return JOB.
      Parameters:
      jobKey - a full job key
      Returns:
      partial job key
    • getShortKeyFromPlanKey

      public static String getShortKeyFromPlanKey(PlanKey planKey)
      Return a last part of the plan key, e.g PROJ-CHAIN would reduce CHAIN and PROJ-CHAIN-HOB would return JOB
      Parameters:
      planKey - a full plan key
      Returns:
      short plan key
    • assertSafeKey

      public static void assertSafeKey(String key)
    • updatePlanKeyInBranchKey

      public static PlanKey updatePlanKeyInBranchKey(@NotNull @NotNull PlanKey branchKey, @NotNull @NotNull PlanKey originalPlanKey, @NotNull @NotNull PlanKey newPlanKey)
      Update plan key part in branch key
      Parameters:
      branchKey - branch key to be altered
      originalPlanKey - original plan key
      newPlanKey - new plan key
      Returns:
      updated plan key or the original branchKey argument when it didn't match originalPlanKey
    • getNumberSuffixFromBranch

      public static Optional<Long> getNumberSuffixFromBranch(@NotNull @NotNull PlanKey chainKey, @NotNull @NotNull PlanKey branchKey)
      Extract numerical branch suffix
      Parameters:
      chainKey - chain key
      branchKey - branch key
      Returns:
      Long value of branch suffix or empty Option
      Throws:
      IllegalArgumentException - if the branch key doesn't start with chain key
      NumberFormatException - if the branch suffix is not proper numerical value
    • asDeletedPlanKey

      public static PlanKey asDeletedPlanKey(@NotNull @NotNull PlanKey planKey)
    • asNonDeletedPlanKey

      public static PlanKey asNonDeletedPlanKey(@NotNull @NotNull PlanKey planKey)
    • isPlanResultKey

      public static boolean isPlanResultKey(String planResultKey)