APIs related to integrating Remote Links data with Jira Software. These APIs are available to Atlassian Connect apps. To use these APIs you must have the Remote Link module in your app's descriptor. Read more about Jira Software modules here.

Module

The Remote Link module allows third-party providers to add a generic link through a public REST API and associate it with Jira issues or services.

Supplied remote link information will be presented in the right sidebar of the new Jira issue view under Releases.

This module also provides actions, which allows users to perform an action on the remote link.

Note that the module key and name are not private and should therefore not contain any sensitive or personally identifiable information.

An example can also be found at jira-data-provider-sample-addon, which has an atlassian-connect.json.

{
"modules": {
"jiraRemoteLinkInfoProvider": {
"homeUrl": "https://my-remotelink-provider.com",
"logoUrl": "https://my-remotelink-provider.com/images/logo.svg",
"documentationUrl":
"https://my-remotelink-provider.com/docs/jira-integration",
"actions": [
{
"actionId": "action-1",
"actionLabel": {
"value": {
"value": "Acknowledge"
}
},
"templateUrl": "https://my-remotelink-provider.com/ack/{ack-id}"
}
],
"name": {
"value": "My Remote Link Provider"
},
"key": "remotelink-integration"
}
}
}

| Property | type | Description

| Required | |------------------|---------------|-------------------------------------------------------------------------------------------------------------------------------------------------|----------| | key | string | A key to identify this module. Must match ^[a-zA-Z0-9-]+$ pattern, with a max length of 100 | Yes | | name | object (i18N) | A human readable name. This object supports internationalization. | Yes | | homeUrl | string | URL to the provider’s homepage

| Yes | | logoUrl | string | Optional URL to the provider’s logo, which will be displayed in the UI | | | documentationUrl | string | Optional URL to documentation about the provider’s Jira integration | | | actions | object | Optional actions that can be performed by Jira users on the remote link

| Property | type | Description

| Required | |-------------|--------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|----------| | actionId | string | A key to identify a specific action. Used for associating a specific Remote link to an action of this ID.
The actionId of an action must be unique across all actions. | Yes | | actionLabel | object | The actionLabel of an Action is shown visibly to the User alongside the Remote Link.

| Yes | | templateUrl | string | The templateUrl of an Action is a template where strings can be substituted into the URL for a specific Remote Link.
Strings used in the templateUrl must be passed in via an attribute map when associating an action with a remote link. | Yes |

| Property | type | Description

| Required | |----------|---------------|-----------------------------------------------------------------------------------------------------------------------------------------------------|----------| | value | object (i18n) | The label shown on the UI. This object supports internationalization. | Yes |

Hierarchy

  • CommonHttpService
    • RemoteLinksService

Constructors

  • Internal

    Create a new instance of the service.

    Parameters

    • getClientInstance: (() => CommonHttpClient)
        • (): CommonHttpClient
        • Returns CommonHttpClient

    Returns RemoteLinksService

Methods

  • Delete the Remote Link data currently stored for the given ID.

    Deletion is performed asynchronously. The getRemoteLinkById operation can be used to confirm that data has been deleted successfully (if needed).

    Only Connect apps that define the jiraRemoteLinkInfoProvider module, and on-premise integrations, can access this resource. This resource requires the 'DELETE' scope for Connect apps.

    Parameters

    • params: {
          authorization: string;
          remoteLinkId: string;
          updateSequenceNumber?: number;
      }
      • authorization: string

        All requests must be signed with either a Connect JWT token or OAuth token for an on-premise integration that corresponds to an app installed in Jira.

        If the Connect JWT token corresponds to an app that does not define jiraRemoteLinkInfoProvider module it will be rejected with a 403.

        See https://developer.atlassian.com/blog/2015/01/understanding-jwt/ for more details about Connect JWT tokens. See https://developer.atlassian.com/cloud/jira/software/integrate-jsw-cloud-with-onpremises-tools/ for details about on-premise integrations.

      • remoteLinkId: string

        The ID of the Remote Link to fetch.

      • OptionalupdateSequenceNumber?: number

        This parameter usage is no longer supported.

        An optional _updateSequenceNumber to use to control deletion.

        Only stored data with an updateSequenceNumber less than or equal to that provided will be deleted. This can be used help ensure submit/delete requests are applied correctly if issued close together.

    Returns Promise<void>

  • Bulk delete all Remote Links data that match the given request.

    One or more query params must be supplied to specify Properties to delete by. Optional param _updateSequenceNumber is no longer supported. If more than one Property is provided, data will be deleted that matches ALL of the Properties (e.g. treated as an AND).

    See the documentation for the submitRemoteLinks operation for more details.

    e.g. DELETE /bulkByProperties?accountId=account-123&repoId=repo-345

    Deletion is performed asynchronously. The getRemoteLinkById operation can be used to confirm that data has been deleted successfully (if needed).

    Only Connect apps that define the jiraRemoteLinkInfoProvider module, and on-premise integrations, can access this resource. This resource requires the 'DELETE' scope for Connect apps.

    Parameters

    • params: {
          authorization: string;
          params?: {
              [key: string]: unknown;
          };
          updateSequenceNumber?: number;
      }
      • authorization: string

        All requests must be signed with either a Connect JWT token or OAuth token for an on-premise integration that corresponds to an app installed in Jira.

        If the Connect JWT token corresponds to an app that does not define jiraRemoteLinkInfoProvider module it will be rejected with a 403.

        See https://developer.atlassian.com/blog/2015/01/understanding-jwt/ for more details about Connect JWT tokens. See https://developer.atlassian.com/cloud/jira/software/integrate-jsw-cloud-with-onpremises-tools/ for details about on-premise integrations.

      • Optionalparams?: {
            [key: string]: unknown;
        }

        Free-form query parameters to specify which properties to delete by. Properties refer to the arbitrary information the provider tagged Remote Links with previously.

        For example, if the provider previously tagged a remote link with accountId:

        "properties": {
        "accountId": "account-123"
        }

        And now they want to delete Remote Links in bulk by that specific accountId as follows: e.g. DELETE /bulkByProperties?accountId=account-123

        • [key: string]: unknown
      • OptionalupdateSequenceNumber?: number

        This parameter usage is no longer supported.

        An optional _updateSequenceNumber to use to control deletion.

        Only stored data with an updateSequenceNumber less than or equal to that provided will be deleted. This can be used help ensure submit/delete requests are applied correctly if issued close together.

        If not provided, all stored data that matches the request will be deleted.

    Returns Promise<void>

  • Update / insert Remote Link data.

    Remote Links are identified by their ID, existing Remote Link data for the same ID will be replaced if it exists and the updateSequenceId of existing data is less than the incoming data.

    Submissions are performed asynchronously. Submitted data will eventually be available in Jira; most updates are available within a short period of time, but may take some time during peak load and/or maintenance times. The getRemoteLinkById operation can be used to confirm that data has been stored successfully (if needed).

    In the case of multiple Remote Links being submitted in one request, each is validated individually prior to submission. Details of which Remote LInk failed submission (if any) are available in the response object.

    Only Connect apps that define the jiraRemoteLinkInfoProvider module can access this resource. This resource requires the 'WRITE' scope for Connect apps.

    Parameters

    Returns Promise<{
        acceptedRemoteLinks?: string[];
        rejectedRemoteLinks?: {
            [key: string]: ({
                errorTraceId?: string;
                message: string;
            } & {
                [key: string]: unknown;
            })[];
        };
        unknownAssociations?: (IssueKeysAssociation | ServiceIdOrKeysAssociation)[];
    } & {
        [key: string]: unknown;
    }>

    Submission accepted. Each submitted Remote Link that is of a valid format will be eventually available in Jira.

    Details of which Remote Links were submitted and which failed submission (due to data format problems etc.) are available in the response object.

  • Method to initialize the class. Normally used to set up validation rules.

    Returns void