@PublicApi public interface

RemoteIssueLinkManager

com.atlassian.jira.issue.link.RemoteIssueLinkManager
Known Indirect Subclasses

@PublicApi

This interface is designed for plugins to consume (call its methods).

Clients of @PublicApi can expect that programs compiled against a given version will remain binary compatible with later versions of the @PublicApi as per each product's API policy as long as the client does not implement/extend @PublicApi interfaces or classes (refer to each product's API policy for the exact guarantee---usually binary compatibility is guaranteed at least across minor versions).

Note: since @PublicApi interfaces and classes are not designed to be implemented or extended by clients, we may perform certain types of binary-incompatible changes to these classes and interfaces, but these will not affect well-behaved clients that do not extend/implement these types (in general, only classes and interfaces annotated with @PublicSpi are safe to extend/implement).

Class Overview

Manages remote issue links between a JIRA issue and remote objects in other remote applications.

Summary

Public Methods
RemoteIssueLink createRemoteIssueLink(RemoteIssueLink remoteIssueLink, ApplicationUser user)
Creates the given remote issue link.
List<RemoteIssueLink> findRemoteIssueLinksByGlobalIds(Collection<String> globalIds)
Returns the remote issue links that have any the given globalIds, or empty if none exists.
RemoteIssueLink getRemoteIssueLink(Long remoteIssueLinkId)
Returns the remote issue link with the given id, or null if it does not exist.
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.
List<RemoteIssueLink> getRemoteIssueLinksForIssue(Issue issue)
Gets the remote issue links that link with the given JIRA issue.
long getTotalRemoteIssueLinkCountByGlobalId(String globalId)
Get the total count of Remote Issue Links which have a given global id
void removeRemoteIssueLink(Long remoteIssueLinkId, ApplicationUser user)
Deletes the given remote issue link id.
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.
void updateRemoteIssueLink(RemoteIssueLink remoteIssueLink, ApplicationUser user)
Updates the given remote issue link.

Public Methods

public RemoteIssueLink createRemoteIssueLink (RemoteIssueLink remoteIssueLink, ApplicationUser user)

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

public List<RemoteIssueLink> findRemoteIssueLinksByGlobalIds (Collection<String> globalIds)

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.

public 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

public 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

public 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.

public 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

public 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

public 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

public void updateRemoteIssueLink (RemoteIssueLink remoteIssueLink, ApplicationUser user)

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