Class RemoteJiraRestServiceImpl

java.lang.Object
com.atlassian.jira.plugin.link.remotejira.RemoteJiraRestServiceImpl
All Implemented Interfaces:
RemoteJiraRestService

@Component public class RemoteJiraRestServiceImpl extends Object implements RemoteJiraRestService
Helper class for making REST calls to JIRA servers. Supported REST API versions are: - 2.0alpha1 - 2
Since:
v5.0
  • Constructor Details

    • RemoteJiraRestServiceImpl

      @Autowired public RemoteJiraRestServiceImpl(com.atlassian.applinks.host.spi.InternalHostApplication internalHostApplication, com.atlassian.sal.api.net.RequestFactory<com.atlassian.sal.api.net.Request<?,com.atlassian.sal.api.net.Response>> requestFactory)
  • Method Details

    • getIssue

      public RemoteResponse<RemoteJiraIssue> getIssue(com.atlassian.applinks.api.ApplicationLink applicationLink, String issueIdOrKey, RemoteJiraRestService.RestVersion restVersion) throws com.atlassian.applinks.api.CredentialsRequiredException, com.atlassian.sal.api.net.ResponseException
      Description copied from interface: RemoteJiraRestService
      Gets the issue with the given key, on the JIRA server given by the application link.
      Specified by:
      getIssue in interface RemoteJiraRestService
      Parameters:
      applicationLink - the application link of the JIRA server
      issueIdOrKey - the issue ID or key
      restVersion - the version of the REST API to invoke
      Returns:
      an RemoteResponse containing a RemoteJiraIssue and properties of the HTTP response
      Throws:
      com.atlassian.applinks.api.CredentialsRequiredException - thrown if authentication is required
      com.atlassian.sal.api.net.ResponseException - thrown if the response cannot be retrieved
    • getIssue

      public RemoteResponse<RemoteJiraIssue> getIssue(String baseUri, String issueIdOrKey, RemoteJiraRestService.RestVersion restVersion) throws com.atlassian.applinks.api.CredentialsRequiredException, com.atlassian.sal.api.net.ResponseException
      Description copied from interface: RemoteJiraRestService
      Gets the issue with the given key, on the JIRA server given by the application link.
      Specified by:
      getIssue in interface RemoteJiraRestService
      Parameters:
      baseUri - the base URI of the JIRA instance
      issueIdOrKey - the issue ID or key
      restVersion - the version of the REST API to invoke
      Returns:
      an RemoteResponse containing a RemoteJiraIssue and properties of the HTTP response
      Throws:
      com.atlassian.applinks.api.CredentialsRequiredException - thrown if authentication is required
      com.atlassian.sal.api.net.ResponseException - thrown if the response cannot be retrieved
    • createRemoteIssueLink

      public RemoteResponse<JSONObject> createRemoteIssueLink(com.atlassian.applinks.api.ApplicationLink applicationLink, String remoteIssueKey, Issue issue, String relationship, RemoteJiraRestService.RestVersion restVersion) throws com.atlassian.applinks.api.CredentialsRequiredException, com.atlassian.sal.api.net.ResponseException
      Description copied from interface: RemoteJiraRestService
      Creates a remote issue link between the given remote issue and the given local issue.
      Specified by:
      createRemoteIssueLink in interface RemoteJiraRestService
      Parameters:
      applicationLink - the application link of the remote JIRA server
      remoteIssueKey - the issue key of the remote issue
      issue - the local issue
      relationship - the relationship for the link
      restVersion - the version of the REST API to invoke
      Returns:
      an RemoteResponse containing a JSONObject and properties of the HTTP response
      Throws:
      com.atlassian.applinks.api.CredentialsRequiredException - thrown if authentication is required
      com.atlassian.sal.api.net.ResponseException - thrown if the response cannot be retrieved
    • requestResource

      public RemoteResponse<String> requestResource(com.atlassian.applinks.api.ApplicationLink applicationLink, String resourcePath, Map<String,String> params, RemoteJiraRestService.RestVersion restVersion) throws com.atlassian.applinks.api.CredentialsRequiredException, com.atlassian.sal.api.net.ResponseException
      Description copied from interface: RemoteJiraRestService
      Request the given REST resource on the given JIRA server with the given params.
      Specified by:
      requestResource in interface RemoteJiraRestService
      Parameters:
      applicationLink - the application link of the JIRA server
      resourcePath - the path of the REST resource, e.g. issue
      params - the parameters to add to the request
      restVersion - the version of the REST API to invoke
      Returns:
      an RemoteResponse containing the String response and properties of the HTTP response
      Throws:
      com.atlassian.applinks.api.CredentialsRequiredException - thrown if authentication is required
      com.atlassian.sal.api.net.ResponseException - thrown if the response cannot be retrieved
    • requestURL

      public RemoteResponse<String> requestURL(com.atlassian.applinks.api.ApplicationLink applicationLink, String url, Map<String,String> params) throws com.atlassian.applinks.api.CredentialsRequiredException, com.atlassian.sal.api.net.ResponseException
      Description copied from interface: RemoteJiraRestService
      Request the given URL on the given JIRA server with the given params. The URL does not need to be a REST resource.
      Specified by:
      requestURL in interface RemoteJiraRestService
      Parameters:
      applicationLink - the application link of the JIRA server
      url - the relative URL to request, from the base URL of the applicationLink, e.g. secure/Dashboard.jspa
      params - the parameters to add to the request
      Returns:
      an RemoteResponse containing the String response and properties of the HTTP response
      Throws:
      com.atlassian.applinks.api.CredentialsRequiredException - thrown if authentication is required
      com.atlassian.sal.api.net.ResponseException - thrown if the response cannot be retrieved
    • buildIssueUrl

      public static String buildIssueUrl(String baseUri, String issueKey)