Interface JiraRemoteIssueManager

  • All Known Implementing Classes:
    JiraRemoteIssueManagerImpl

    public interface JiraRemoteIssueManager
    Interface for interacting with the JIRA Server
    • Method Summary

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      @NotNull Result<com.atlassian.applinks.api.CredentialsRequiredException,​List<JiraIssueDetails>> fetchIssueDetailsFromJira​(@NotNull com.atlassian.applinks.api.ApplicationLink applicationLink, @NotNull String jiraProjectKey, @NotNull Set<String> jiraIssueKeys)
      Fetch issue details from JIRA via XML Search.
      @NotNull Iterable<com.atlassian.applinks.host.spi.EntityReference> fetchProjectInformationFromJira​(@NotNull com.atlassian.applinks.api.ApplicationLink applicationLink)
      Fetch project list from JIRA using REST service provided by applinks.
      @Nullable com.atlassian.applinks.api.ApplicationLink getJiraApplicationLink​(@NotNull String jiraProjectKey, @Nullable Project project)
      Retrieves the 'best' application link for a given JIRA project key.
    • Method Detail

      • fetchIssueDetailsFromJira

        @NotNull
        @NotNull Result<com.atlassian.applinks.api.CredentialsRequiredException,​List<JiraIssueDetails>> fetchIssueDetailsFromJira​(@NotNull
                                                                                                                                        @NotNull com.atlassian.applinks.api.ApplicationLink applicationLink,
                                                                                                                                        @NotNull
                                                                                                                                        @NotNull String jiraProjectKey,
                                                                                                                                        @NotNull
                                                                                                                                        @NotNull Set<String> jiraIssueKeys)
        Fetch issue details from JIRA via XML Search. Internally issue keys are partitioned to avoid too big queries to JIRA.
        Parameters:
        applicationLink - identifies JIRA application to fetch issue details from
        jiraProjectKey - JIRA project key (all issue keys should be from this project)
        jiraIssueKeys - keys of issues to be searched in JIRA
        Returns:
        List of JiraIssueDetails objects representing JIRA issues or CredentialsRequiredException when authentication is required in order to establish connection with JIRA
      • fetchProjectInformationFromJira

        @NotNull
        @NotNull Iterable<com.atlassian.applinks.host.spi.EntityReference> fetchProjectInformationFromJira​(@NotNull
                                                                                                           @NotNull com.atlassian.applinks.api.ApplicationLink applicationLink)
                                                                                                    throws CredentialsRequiredContextException,
                                                                                                           com.atlassian.sal.api.net.ResponseException
        Fetch project list from JIRA using REST service provided by applinks.
        Parameters:
        applicationLink - identifies JIRA application to fetch project list from
        Returns:
        Iterable of EntityReference objects representing JIRA projects
        Throws:
        com.atlassian.applinks.api.CredentialsRequiredException - when authentication is required in order to establish connection with JIRA
        CredentialsRequiredContextException
        com.atlassian.sal.api.net.ResponseException
      • getJiraApplicationLink

        @Nullable
        @Nullable com.atlassian.applinks.api.ApplicationLink getJiraApplicationLink​(@NotNull
                                                                                    @NotNull String jiraProjectKey,
                                                                                    @Nullable
                                                                                    @Nullable Project project)
                                                                             throws CredentialsRequiredContextException,
                                                                                    com.atlassian.sal.api.net.ResponseException
        Retrieves the 'best' application link for a given JIRA project key. If project is supplied, It checks the primary entity link first, then proceeds with all other links. If project is not supplied, or no entity link has been found, then application links are searched: primary first, the all others.
        Parameters:
        jiraProjectKey - the JIRA project key that has to be available in the returned application.
        project - the project to check for entity links (optional)
        Returns:
        application link to an application with a defined jiraProjectKey
        Throws:
        com.atlassian.applinks.api.CredentialsRequiredException - when credentials are required to access remote JIRA instance
        CredentialsRequiredContextException
        com.atlassian.sal.api.net.ResponseException