public class JiraIssueUtils extends Object implements JiraIssueHelper
Modifier and Type | Class and Description |
---|---|
static class |
JiraIssueUtils.JiraPanel |
Modifier and Type | Field and Description |
---|---|
static Pattern |
LENIENT_ISSUE_KEY_BOUNDARY_REGEX |
static String |
PROJECT_ISSUE_NUMBER_SEPARATOR |
static String |
RENDERED_JIRA_KEY |
static String |
RENDERED_JIRA_KEY_NO_SERVER |
static Pattern |
RESTRICTIVE_ISSUE_KEY_BOUNDARY_REGEX |
Constructor and Description |
---|
JiraIssueUtils(JiraApplinksService jiraApplinksService,
ResultsSummaryManager resultsSummaryManager,
com.atlassian.event.api.EventPublisher eventPublisher,
AdministrationConfigurationAccessor administrationConfigurationAccessor) |
Modifier and Type | Method and Description |
---|---|
static Function<JiraXmlSearchResultItemEntity,JiraIssueDetails> |
buildJiraIssueDetailsFromSearchResultFunction(@NotNull com.atlassian.applinks.api.ApplicationLink applicationLink,
JiraIssueDetailsBuilderFactory jiraIssueDetailsBuilderFactory)
Returns function which builds
JiraIssueDetails from JIRA XML search result |
void |
findAndSaveJiraIssueKeys(@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.
since 6.5 use
findPotentialIssueKeys(String, boolean, Pattern, Pattern) instead |
@NotNull Set<String> |
findIssueKeysInText(@NotNull String string)
Find the JIRA issue keys within the given string.
|
@NotNull Set<String> |
findIssueKeysInText(@NotNull String string,
boolean ignoreIfInUrl)
Find the JIRA issue keys within the given string.
|
@NotNull List<String> |
findIssueKeysInTextAsList(@NotNull String string,
boolean ignoreIfInUrl)
Find the JIRA issue keys within the given string.
|
@NotNull List<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
This is needed so that only the required number of JIRA Issues will be retrieved from the jira server
|
@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 JiraIssueUtils |
getFreemarkerInstance() |
static @Nullable String |
getJiraDisplayUrl(@NotNull com.atlassian.applinks.api.ApplicationLink applicationLink,
@NotNull String issueKey) |
protected String |
getJiraIssueTitleText() |
static @NotNull String |
getJiraIssueUrl(@NotNull String host,
@NotNull JiraIssueKey issueKey,
@Nullable JiraIssueUtils.JiraPanel panel) |
static @Nullable String |
getJiraUrl(@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 String |
getRenderedString(@Nullable String inputString)
Renders any jira links within the input string
|
@Nullable String |
getRenderedString(@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 String |
getRenderedString(@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 String |
getRenderedString(@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 BuildResultSummary
|
boolean |
isJiraServerSetup()
Whether any JIRA server is linked with this instance of Bamboo.
|
boolean |
isValidIssueKey(@NotNull String string)
Checks whether a given string could be a valid issue key.
|
void |
setAdministrationConfigurationAccessor(AdministrationConfigurationAccessor administrationConfigurationAccessor) |
static Function<InternalLinkedJiraIssue,String> |
transformJiraIssueToJiraIssueKey() |
public static final Pattern RESTRICTIVE_ISSUE_KEY_BOUNDARY_REGEX
public static final Pattern LENIENT_ISSUE_KEY_BOUNDARY_REGEX
public static final String PROJECT_ISSUE_NUMBER_SEPARATOR
public static final String RENDERED_JIRA_KEY
public static final String RENDERED_JIRA_KEY_NO_SERVER
public JiraIssueUtils(JiraApplinksService jiraApplinksService, ResultsSummaryManager resultsSummaryManager, com.atlassian.event.api.EventPublisher eventPublisher, AdministrationConfigurationAccessor administrationConfigurationAccessor)
public static JiraIssueUtils getFreemarkerInstance()
public void findAndSaveJiraIssueKeys(@NotNull @NotNull String string, @NotNull @NotNull ResultsSummary buildResultsSummary)
string
- buildResultsSummary
- public boolean isValidIssueKey(@NotNull @NotNull String string)
JiraIssueHelper
isValidIssueKey
in interface JiraIssueHelper
@NotNull public @NotNull Set<LinkedJiraIssue> getFixedJiraIssues(@NotNull @NotNull Iterable<LinkedJiraIssue> allIssues)
allIssues
- @NotNull public @NotNull Set<LinkedJiraIssue> getRelatedJiraIssues(@NotNull @NotNull Iterable<LinkedJiraIssue> allIssues)
allIssues
- @NotNull public @NotNull Set<String> findIssueKeysInText(@NotNull @NotNull String string)
JiraIssueHelper
findIssueKeysInText
in interface JiraIssueHelper
string
- text to search@NotNull public @NotNull Set<String> findIssueKeysInText(@NotNull @NotNull String string, boolean ignoreIfInUrl)
JiraIssueHelper
findIssueKeysInText
in interface JiraIssueHelper
string
- text to searchignoreIfInUrl
- whether to ignore found keys if they're part of URLs@NotNull @Deprecated public @NotNull LinkedHashSet<String> findIssueKeys(String string, boolean ignoreIfInUrl, Pattern issueKeyBoundaryRegex)
findPotentialIssueKeys(String, boolean, Pattern, Pattern)
insteadstring
- ignoreIfInUrl
- @NotNull public @NotNull LinkedHashSet<String> findPotentialIssueKeys(String string, boolean ignoreIfInUrl, Pattern issueKeyLeftBoundaryRegex, Pattern issueKeyRightBoundaryRegex)
JiraIssueHelper
findPotentialIssueKeys
in interface JiraIssueHelper
@NotNull public @NotNull List<String> findIssueKeysInTextAsList(@NotNull @NotNull String string, boolean ignoreIfInUrl)
JiraIssueHelper
findIssueKeysInTextAsList
in interface JiraIssueHelper
string
- text to searchignoreIfInUrl
- whether to ignore found keys if they're part of URLs@NotNull public @NotNull List<String> findIssueKeysInTextAsList(@NotNull @NotNull String string, boolean ignoreIfInUrl, @NotNull @NotNull Pattern issueKeyBoundaryRegex)
JiraIssueHelper
This method accepts a Pattern
as 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).
findIssueKeysInTextAsList
in interface JiraIssueHelper
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-]"@Nullable public @Nullable String getRenderedString(@Nullable @Nullable String inputString, @NotNull @NotNull String buildKey, @NotNull @NotNull Integer buildNumber)
inputString
- buildKey
- buildNumber
- @Nullable public @Nullable String getRenderedString(@Nullable @Nullable String inputString, @NotNull @NotNull ImmutableResultsSummary resultsSummary)
inputString
- resultsSummary
- @Nullable public @Nullable String getRenderedString(@Nullable @Nullable String inputString, @NotNull @NotNull DeploymentVersion deploymentVersion)
inputString
- @Nullable public @Nullable String getRenderedString(@Nullable @Nullable String inputString)
inputString
- @Nullable public static @Nullable String getJiraUrl(@NotNull @NotNull com.atlassian.applinks.api.ApplicationLink applicationLink, @NotNull @NotNull String issueKey)
@Nullable public static @Nullable String getJiraDisplayUrl(@NotNull @NotNull com.atlassian.applinks.api.ApplicationLink applicationLink, @NotNull @NotNull String issueKey)
@NotNull public static @NotNull String getJiraIssueUrl(@NotNull @NotNull String host, @NotNull @NotNull JiraIssueKey issueKey, @Nullable @Nullable JiraIssueUtils.JiraPanel panel)
protected String getJiraIssueTitleText()
@NotNull public @NotNull List<LinkedJiraIssue> getFilteredJiraIssues(@Nullable @Nullable Collection<LinkedJiraIssue> possibleIssues, int numberNeeded)
possibleIssues
- numberNeeded
- @NotNull public @NotNull List<LinkedJiraIssue> getFilteredFixedJiraIssues(@Nullable @Nullable Collection<LinkedJiraIssue> possibleIssues, int numberNeeded)
@NotNull public @NotNull List<LinkedJiraIssue> getFilteredRelatedJiraIssues(@Nullable @Nullable Collection<LinkedJiraIssue> possibleIssues, int numberNeeded)
public boolean isJiraServerSetup()
JiraIssueHelper
isJiraServerSetup
in interface JiraIssueHelper
public static Function<JiraXmlSearchResultItemEntity,JiraIssueDetails> buildJiraIssueDetailsFromSearchResultFunction(@NotNull @NotNull com.atlassian.applinks.api.ApplicationLink applicationLink, JiraIssueDetailsBuilderFactory jiraIssueDetailsBuilderFactory)
JiraIssueDetails
from JIRA XML search resultFunction
public static Function<InternalLinkedJiraIssue,String> transformJiraIssueToJiraIssueKey()
public void setAdministrationConfigurationAccessor(AdministrationConfigurationAccessor administrationConfigurationAccessor)
Copyright © 2022 Atlassian Software Systems Pty Ltd. All rights reserved.