Class JiraIssueUtils
java.lang.Object
com.atlassian.bamboo.jira.jiraissues.JiraIssueUtils
- All Implemented Interfaces:
JiraIssueHelper
-
Nested Class Summary
Nested Classes -
Field Summary
Fields -
Constructor Summary
ConstructorsConstructorDescriptionJiraIssueUtils(JiraApplinksService jiraApplinksService, InternalResultsSummaryAccessor internalResultsSummaryAccessor, com.atlassian.event.api.EventPublisher eventPublisher, AdministrationConfigurationAccessor administrationConfigurationAccessor, LinkedJiraIssueDao linkedJiraIssueDao) -
Method Summary
Modifier and TypeMethodDescriptionbuildJiraIssueDetailsFromSearchResultFunction(@NotNull com.atlassian.applinks.api.ApplicationLink applicationLink, JiraIssueDetailsBuilderFactory jiraIssueDetailsBuilderFactory) Returns function which buildsJiraIssueDetailsfrom JIRA XML search resultvoidfindAndSaveJiraIssueKeys(@NotNull String string, @NotNull ResultsSummary buildResultsSummary) Finds any jira issue keys in the given input string, and saves them against the given build result summary.@NotNull LinkedHashSet<String> findIssueKeys(String string, boolean ignoreIfInUrl, Pattern issueKeyBoundaryRegex) Deprecated.findIssueKeysInText(@NotNull String string) Find the JIRA issue keys within the given string.findIssueKeysInText(@NotNull String string, boolean ignoreIfInUrl) Find the JIRA issue keys within the given string.findIssueKeysInTextAsList(@NotNull String string, boolean ignoreIfInUrl) Find the JIRA issue keys within the given string.findIssueKeysInTextAsList(@NotNull String string, boolean ignoreIfInUrl, @NotNull Pattern issueKeyBoundaryRegex) Find the JIRA issue keys within the given string.@NotNull LinkedHashSet<String> findPotentialIssueKeys(String string, boolean ignoreIfInUrl, Pattern issueKeyLeftBoundaryRegex, Pattern issueKeyRightBoundaryRegex) Find the JIRA issue keys within the given string.@NotNull List<LinkedJiraIssue> getFilteredFixedJiraIssues(@Nullable Collection<LinkedJiraIssue> possibleIssues, int numberNeeded) @NotNull List<LinkedJiraIssue> getFilteredJiraIssues(@Nullable Collection<LinkedJiraIssue> possibleIssues, int numberNeeded) Returns a required length list of jira issues and controls logic behind which are shown * Fixed issues are given preference@NotNull List<LinkedJiraIssue> getFilteredRelatedJiraIssues(@Nullable Collection<LinkedJiraIssue> possibleIssues, int numberNeeded) @NotNull Set<LinkedJiraIssue> getFixedJiraIssues(@NotNull Iterable<LinkedJiraIssue> allIssues) returns a set of all jira issues with link type 'fixed'static JiraIssueUtilsstatic @Nullable StringgetJiraDisplayUrl(@NotNull com.atlassian.applinks.api.ApplicationLink applicationLink, @NotNull String issueKey) protected Stringstatic @NotNull StringgetJiraIssueUrl(@NotNull String host, @NotNull JiraIssueKey issueKey, @Nullable JiraIssueUtils.JiraPanel panel) static @Nullable StringgetJiraUrl(@NotNull com.atlassian.applinks.api.ApplicationLink applicationLink, @NotNull String issueKey) @NotNull Set<LinkedJiraIssue> getRelatedJiraIssues(@NotNull Iterable<LinkedJiraIssue> allIssues) returns a set of all jira issues with link type 'related'@Nullable StringgetRenderedString(@Nullable String inputString) Renders any jira links within the input string@Nullable StringgetRenderedString(@Nullable String inputString, @NotNull DeploymentVersion deploymentVersion) Renders valid jira issues in the input string, valid issues are determined by what is stored in the DeploymentVersion@Nullable StringgetRenderedString(@Nullable String inputString, @NotNull ImmutableResultsSummary resultsSummary) Renders valid jira issues in the input string, valid issues are determined by what is stored in the BuildResultSummary@Nullable StringgetRenderedString(@Nullable String inputString, @NotNull String buildKey, @NotNull Integer buildNumber) Renders valid jira issues in the input string, valid issues are determined by what is stored in the BuildResultSummarybooleanWhether any JIRA server is linked with this instance of Bamboo.booleanisValidIssueKey(@NotNull String string) Checks whether a given string could be a valid issue key.voidsetAdministrationConfigurationAccessor(AdministrationConfigurationAccessor administrationConfigurationAccessor) static Function<InternalLinkedJiraIssue, String>
-
Field Details
-
RESTRICTIVE_ISSUE_KEY_BOUNDARY_REGEX
-
LENIENT_ISSUE_KEY_BOUNDARY_REGEX
-
PROJECT_ISSUE_NUMBER_SEPARATOR
- See Also:
-
RENDERED_JIRA_KEY
- See Also:
-
RENDERED_JIRA_KEY_NO_SERVER
- See Also:
-
-
Constructor Details
-
JiraIssueUtils
public JiraIssueUtils(JiraApplinksService jiraApplinksService, InternalResultsSummaryAccessor internalResultsSummaryAccessor, com.atlassian.event.api.EventPublisher eventPublisher, AdministrationConfigurationAccessor administrationConfigurationAccessor, LinkedJiraIssueDao linkedJiraIssueDao)
-
-
Method Details
-
getFreemarkerInstance
-
findAndSaveJiraIssueKeys
public void findAndSaveJiraIssueKeys(@NotNull @NotNull String string, @NotNull @NotNull ResultsSummary buildResultsSummary) Finds any jira issue keys in the given input string, and saves them against the given build result summary.- Parameters:
string-buildResultsSummary-
-
isValidIssueKey
Description copied from interface:JiraIssueHelperChecks whether a given string could be a valid issue key.- Specified by:
isValidIssueKeyin interfaceJiraIssueHelper
-
getFixedJiraIssues
@NotNull public @NotNull Set<LinkedJiraIssue> getFixedJiraIssues(@NotNull @NotNull Iterable<LinkedJiraIssue> allIssues) returns a set of all jira issues with link type 'fixed'- Parameters:
allIssues-- Returns:
-
getRelatedJiraIssues
@NotNull public @NotNull Set<LinkedJiraIssue> getRelatedJiraIssues(@NotNull @NotNull Iterable<LinkedJiraIssue> allIssues) returns a set of all jira issues with link type 'related'- Parameters:
allIssues-- Returns:
-
findIssueKeysInText
Description copied from interface:JiraIssueHelperFind the JIRA issue keys within the given string.- Specified by:
findIssueKeysInTextin interfaceJiraIssueHelper- Parameters:
string- text to search- Returns:
- JIRA issue keys in order of appearance in the string
-
findIssueKeysInText
@NotNull public @NotNull Set<String> findIssueKeysInText(@NotNull @NotNull String string, boolean ignoreIfInUrl) Description copied from interface:JiraIssueHelperFind the JIRA issue keys within the given string.- Specified by:
findIssueKeysInTextin interfaceJiraIssueHelper- Parameters:
string- text to searchignoreIfInUrl- whether to ignore found keys if they're part of URLs- Returns:
- JIRA issue keys in order of appearance in the string
-
findIssueKeys
@NotNull @Deprecated public @NotNull LinkedHashSet<String> findIssueKeys(String string, boolean ignoreIfInUrl, Pattern issueKeyBoundaryRegex) Deprecated.since 6.5 usefindPotentialIssueKeys(String, boolean, Pattern, Pattern)insteadFind the JIRA issue keys within the given string. Preserves the order they were found in.- Parameters:
string-ignoreIfInUrl-- Returns:
- An ordered set of JIRA Issue Keys
-
findPotentialIssueKeys
@NotNull public @NotNull LinkedHashSet<String> findPotentialIssueKeys(String string, boolean ignoreIfInUrl, Pattern issueKeyLeftBoundaryRegex, Pattern issueKeyRightBoundaryRegex) Description copied from interface:JiraIssueHelperFind the JIRA issue keys within the given string. Preserves the order they were found in.- Specified by:
findPotentialIssueKeysin interfaceJiraIssueHelper
-
findIssueKeysInTextAsList
@NotNull public @NotNull List<String> findIssueKeysInTextAsList(@NotNull @NotNull String string, boolean ignoreIfInUrl) Description copied from interface:JiraIssueHelperFind the JIRA issue keys within the given string. Maintains the order they were found in. Does not contain duplicates.- Specified by:
findIssueKeysInTextAsListin interfaceJiraIssueHelper- Parameters:
string- text to searchignoreIfInUrl- whether to ignore found keys if they're part of URLs- Returns:
- A list of JIRA issue keys
-
findIssueKeysInTextAsList
@NotNull public @NotNull List<String> findIssueKeysInTextAsList(@NotNull @NotNull String string, boolean ignoreIfInUrl, @NotNull @NotNull Pattern issueKeyBoundaryRegex) Description copied from interface:JiraIssueHelperFind the JIRA issue keys within the given string. Maintains the order they were found in. Does not contain duplicates.This method accepts a
Patternas a parameter to test characters before and after discovered issue key, in order to adjust sensitivity of the search. As an example, for text "CR-BAM-1534", if the character "-" is disallowed by the boundary regex, the key "BAM-1534" will not be returned (as the "-" character is present in the text just before the key).- Specified by:
findIssueKeysInTextAsListin interfaceJiraIssueHelper- Parameters:
string- text to searchignoreIfInUrl- whether to ignore found keys if they're part of URLsissueKeyBoundaryRegex- regular expression which has to match characters before and after discovered issue key, for example "[^a-zA-Z0-9-]"- Returns:
- A list of JIRA issue keys
-
getRenderedString
@Nullable public @Nullable String getRenderedString(@Nullable @Nullable String inputString, @NotNull @NotNull String buildKey, @NotNull @NotNull Integer buildNumber) Renders valid jira issues in the input string, valid issues are determined by what is stored in the BuildResultSummary- Parameters:
inputString-buildKey-buildNumber-- Returns:
-
getRenderedString
@Nullable public @Nullable String getRenderedString(@Nullable @Nullable String inputString, @NotNull @NotNull ImmutableResultsSummary resultsSummary) Renders valid jira issues in the input string, valid issues are determined by what is stored in the BuildResultSummary- Parameters:
inputString-resultsSummary-- Returns:
-
getRenderedString
@Nullable public @Nullable String getRenderedString(@Nullable @Nullable String inputString, @NotNull @NotNull DeploymentVersion deploymentVersion) Renders valid jira issues in the input string, valid issues are determined by what is stored in the DeploymentVersion- Parameters:
inputString-- Returns:
-
getRenderedString
Renders any jira links within the input string- Parameters:
inputString-- Returns:
-
getJiraUrl
-
getJiraDisplayUrl
-
getJiraIssueUrl
@NotNull public static @NotNull String getJiraIssueUrl(@NotNull @NotNull String host, @NotNull @NotNull JiraIssueKey issueKey, @Nullable @Nullable JiraIssueUtils.JiraPanel panel) -
getJiraIssueTitleText
-
getFilteredJiraIssues
@NotNull public @NotNull List<LinkedJiraIssue> getFilteredJiraIssues(@Nullable @Nullable Collection<LinkedJiraIssue> possibleIssues, int numberNeeded) Returns a required length list of jira issues and controls logic behind which are shown * Fixed issues are given preferenceThis is needed so that only the required number of JIRA Issues will be retrieved from the jira server
- Parameters:
possibleIssues-numberNeeded-- Returns:
-
getFilteredFixedJiraIssues
@NotNull public @NotNull List<LinkedJiraIssue> getFilteredFixedJiraIssues(@Nullable @Nullable Collection<LinkedJiraIssue> possibleIssues, int numberNeeded) -
getFilteredRelatedJiraIssues
@NotNull public @NotNull List<LinkedJiraIssue> getFilteredRelatedJiraIssues(@Nullable @Nullable Collection<LinkedJiraIssue> possibleIssues, int numberNeeded) -
isJiraServerSetup
public boolean isJiraServerSetup()Description copied from interface:JiraIssueHelperWhether any JIRA server is linked with this instance of Bamboo.- Specified by:
isJiraServerSetupin interfaceJiraIssueHelper
-
buildJiraIssueDetailsFromSearchResultFunction
public static Function<JiraXmlSearchResultItemEntity,JiraIssueDetails> buildJiraIssueDetailsFromSearchResultFunction(@NotNull @NotNull com.atlassian.applinks.api.ApplicationLink applicationLink, JiraIssueDetailsBuilderFactory jiraIssueDetailsBuilderFactory) Returns function which buildsJiraIssueDetailsfrom JIRA XML search result- Returns:
Function
-
transformJiraIssueToJiraIssueKey
-
setAdministrationConfigurationAccessor
public void setAdministrationConfigurationAccessor(AdministrationConfigurationAccessor administrationConfigurationAccessor)
-
findPotentialIssueKeys(String, boolean, Pattern, Pattern)instead