Interface RemoteIssueLinkManager

All Known Implementing Classes:
DefaultRemoteIssueLinkManager

@PublicApi public interface RemoteIssueLinkManager
Manages remote issue links between a JIRA issue and remote objects in other remote applications.
Since:
v5.0
  • Method Details

    • getRemoteIssueLink

      RemoteIssueLink getRemoteIssueLink(Long remoteIssueLinkId)
      Returns the remote issue link with the given id, or null if it does not exist.
      Parameters:
      remoteIssueLinkId - the id of the remote issue link to get
      Returns:
      the remote issue link with the given id
    • getRemoteIssueLinksForIssue

      List<RemoteIssueLink> getRemoteIssueLinksForIssue(Issue issue)
      Gets the remote issue links that link with the given JIRA issue.
      Parameters:
      issue - the issue to get the remote issue links for
      Returns:
      the remote issue links for the given issue. This will never return null. If no remote issue links are stored against the issue, the list will be empty.
    • getRemoteIssueLinkByGlobalId

      RemoteIssueLink getRemoteIssueLinkByGlobalId(Issue issue, String globalId)
      Returns the first remote issue link found that links with the given JIRA issue and has the given globalId, or null if none exists.
      Parameters:
      issue - the issue to get the remote issue links for
      globalId - the globalId to get the remote issue link for
      Returns:
      the remote issue link for the given issue with the given globalId
    • findRemoteIssueLinksByGlobalIds

      List<RemoteIssueLink> findRemoteIssueLinksByGlobalIds(Collection<String> globalIds) throws GetException
      Returns the remote issue links that have any the given globalIds, or empty if none exists.
      Parameters:
      globalIds - the globalIds to get the remote issue links for
      Returns:
      the remote issue links with any of the given globalIds
      Throws:
      GetException - when the number of globalIds exceeds 100.
    • createRemoteIssueLink

      RemoteIssueLink createRemoteIssueLink(RemoteIssueLink remoteIssueLink, ApplicationUser user) throws CreateException
      Creates the given remote issue link.
      Parameters:
      remoteIssueLink - the remote issue link to create
      user - the current user
      Returns:
      the RemoteIssueLink object that was created including the generated id
      Throws:
      CreateException
    • createRemoteIssuesFromRemoteIssueLinks

      List<RemoteIssue> createRemoteIssuesFromRemoteIssueLinks(List<RemoteIssueLink> remoteIssueLinks)
      Creates remote issues from remote issue links. This allows Velocities template engine to render a remote issue link as an issue.
      Parameters:
      remoteIssueLinks - the remote issue links for which remote issues should be generated
      Returns:
      the remote issues for the provided issue, or an empty list if no remote issue links exist
    • updateRemoteIssueLink

      void updateRemoteIssueLink(RemoteIssueLink remoteIssueLink, ApplicationUser user) throws UpdateException
      Updates the given remote issue link. The remote issue link is updated using all of the values in this object. Null values are written as null, and must adhere to the required field constraints.
      Parameters:
      remoteIssueLink - the remote issue link to update
      user - the current user
      Throws:
      UpdateException
    • removeRemoteIssueLink

      void removeRemoteIssueLink(Long remoteIssueLinkId, ApplicationUser user)
      Deletes the given remote issue link id.
      Parameters:
      remoteIssueLinkId - the id of the remote issue link to delete
      user - the current user
    • removeRemoteIssueLinkByGlobalId

      void removeRemoteIssueLinkByGlobalId(Issue issue, String globalId, ApplicationUser user)
      Deletes any remote issue link that links with the given JIRA issue and has the given global id.
      Parameters:
      issue - the issue of the remote issue link
      globalId - the global id of the remote issue link
      user - the current user
      Since:
      6.1
    • getTotalRemoteIssueLinkCountByGlobalId

      long getTotalRemoteIssueLinkCountByGlobalId(String globalId)
      Get the total count of Remote Issue Links which have a given global id
      Parameters:
      globalId - The global of the remote issue link
      Returns:
      A count of remote issue links with that global id
      Since:
      6.1