You can no longer publish Connect apps on the Atlassian Marketplace. All new extensibility features will be delivered only on Forge.
Refer to this blog post for our timeline to end Connect support.
Have an existing Connect app? You can incrementally migrate it to Forge.
This module allows third-party providers to send devops components to Jira.
Supplied devops components will be presented in the connection manager under the Incidents page in Jira Software
This module also provides actions to be called by Jira.
Devops Components are written/deleted via REST. This API is part of the Jira Software REST documentation.
Information in the module key and name are not considered private so they should not contain sensitive or personally identifiable information.
When a user uninstalls an app, all the data that the app sent to Jira is deleted. If the app is reinstalled, this data won't be added back unless the app resends historical information to Jira.
1 2{ "modules": { "jiraDevOpsComponentProvider": { "homeUrl": "https://mydevopsprovider.com", "logoUrl": "https://mydevopsprovider.com/images/logo.svg", "documentationUrl": "https://mydevopsprovider.com/docs/jira-integration", "actions": { "associate": { "templateUrl": "https://mydevopsprovider.com/associate" }, "disassociate": { "templateUrl": "https://mydevopsprovider.com/disassociate" }, "onEntityAssociated": { "templateUrl": "https://mydevopsprovider.com/onEntityAssociated" }, "onEntityDisassociated": { "templateUrl": "https://mydevopsprovider.com/onEntityDisassociated" } }, "name": { "value": "My DevOps Provider" }, "key": "devops-component-integration" } } }
Type | string |
Format | uri |
Required | Yes |
Description | URL to the provider's homepage |
Type | string |
Max length | 100 |
Required | Yes |
Pattern | ^[a-zA-Z0-9-]+$ |
Description | A key to identify this module. This key must be unique relative to the add on, with the exception of Confluence macros: Their keys need to be globally unique. Keys must only contain alphanumeric characters and dashes. The key is used to generate the url to your add-on's module. The url is generated as a combination of your add-on key and module key. |
For example, an add-on which looks like:
1 2{ "key": "my-addon", "modules": { "configurePage": { "key": "configure-me", } } }
Will have a configuration page module with a URL of /plugins/servlet/ac/my-addon/configure-me
.
Type | i18n Property |
Required | Yes |
Description |
A human readable name. Represents a string that can be resolved via a localization properties file. You can use the same |
1 2{ "value": "My text" }
value |
| ||||||||
i18n |
|
Type | DevOps Component Actions |
Description | Required actions to hydrate security workspace data. DevOps Component actions that can be performed by Jira users. Each action is optional (unless indicated otherwise). The absence of an action indicates that the action is not supported by the provider. |
Type | object |
Required | Yes |
Description |
Action to associate a devops component entity with a Jira issue. When invoked: If a devops component entity identified by the given URL does not exist, the response should be HTTP 404. After sending the entity to Jira, the provider may use this action to notify their system that an association has been made with the Jira issue. Note that the association is eventually consistent and may not exist at the time this action completes. Use the onEntityAssociated action if strong consistency is required. |
The templateUrl
property of this action will receive a POST
request with userId
query param when this action is invoked.
1 2{ "entity": { "url": "https://www.my-component-provider.com/components/pEiVZHXlgwF9hmsToT0Z" }, "associateWith": { "ati": "ati:cloud:jira:issue, "ari": "ari:cloud:jira:496ad24e-0c63-4b50-a991-46ed81b3d6d6:issue/10001", "cloudId": "496ad24e-0c63-4b50-a991-46ed81b3d6d6", "id": "10001" } }
The response must match the devops component entity provider schema from the Jira component information REST API.
Type | object |
Required | Yes |
Description |
Action to disassociate a devops component entity from a Jira issue. When invoked: - The provider must send the entity to Jira. - The entity must remove the Jira issue association. If a devops component entity identified by the given ID does not exist, the provider should delete the entity from Jira. After sending the entity to Jira, the provider may use this action to notify their system that an association has been removed from the Jira issue. Note that the association is eventually consistent and may not have been removed at the time this action completes. Use the onEntityDisassociated action if strong consistency is required. |
The templateUrl
property of this action will receive a POST
request with userId
query param when this action is invoked.
1 2{ "entity": { "ari": "ari:cloud:jira:496ad24e-0c63-4b50-a991-46ed81b3d6d6:devops-component/activation/3d9e817c-f9e5-495a-b5bd-53d1dabdab99/94a52bf6-9c47-4bd0-ba09-0f9f32b17d07", "id": "kBsdWH8uXfziTGDTIN7oLE/0-1" }, "disassociateFrom": { "ati": "ati:cloud:jira:issue", "ari": "ari:cloud:jira:496ad24e-0c63-4b50-a991-46ed81b3d6d6:issue/234678", "cloudId": "496ad24e-0c63-4b50-a991-46ed81b3d6d6", "id": "234678" } }
Type | object |
Description |
Action to notify the component provider when a devops component has been associated with a Jira issue. |
The templateUrl
property of this action will receive a PUT
request when this action is invoked. The entity.id is the providers external ID
1 2{ "entity": { // This is the devops component Atlassian Resource Identifier (ARI). This should be in format: ari:cloud:jira:{siteId}:devops-component/activation/{activationId}/{devOpsComponentId} "ari": "ari:cloud:jira:f730ce9c-3442-4f8a-93a4-a44f3b35c46b:devops-component/activation/111-222-333/111111", // This is the component identifier provided by the provider "id": "1234" }, "associatedWith": { // This is the Jira issue Atlassian Type Identifier (ATI) "ati": "ati:cloud:jira:issue", // This is the Jira issue Atlassian Resource Identifier (ARI) that was associated with the component. This should be in format: ari:cloud:jira:{siteId}:issue/{issueId} "ari": "ari:cloud:jira:f730ce9c-3442-4f8a-93a4-a44f3b35c46b:issue/1234", // This is the siteId "cloudId": "f730ce9c-3442-4f8a-93a4-a44f3b35c46b", // This is the Jira issue identifier "id": "1234" } }
Type | object |
Description |
Action to notify the component provider when a devops component has been disassociated from a Jira issue. |
The templateUrl
property of this action will receive a PUT
request when this action is invoked. The entity.id is the providers external ID
1 2{ "entity": { // This is the component Atlassian Resource Identifier (ARI). This should be in the format: ari:cloud:jira:{siteId}:devops-component/activation/{activationId}/{devOpsComponentId} "ari": "ari:cloud:jira:f730ce9c-3442-4f8a-93a4-a44f3b35c46b:devops-component/activation/111-222-333/111111", // This is the component identifier provided by the provider "id": "1234" }, "disassociatedFrom": { // This is the Jira issue Atlassian Type Identifier (ATI) "ati": "ati:cloud:jira:issue", // This is the Jira issue Atlassian Resource Identifier (ARI) that was disassociated from the component. This should be in format: ari:cloud:jira:{siteId}:issue/{issueId} "ari": "ari:cloud:jira:f730ce9c-3442-4f8a-93a4-a44f3b35c46b:issue/1234", // This is the siteId "cloudId": "f730ce9c-3442-4f8a-93a4-a44f3b35c46b", // This is the Jira issue identifier "id": "1234" } }
Type | string |
Format | uri |
Description | Optional URL to documentation about the provider's Jira integration |
Type | string |
Format | uri |
Description | Optional URL to the provider's logo, which will be displayed in the UI |
Rate this page: