APIs related to integrating Incident and Post-Incident Review (PIR) data with Jira Software. These APIs are available to Atlassian Connect apps. To use these APIs you must have the Operations module in your app's descriptor. Read more about Jira Software modules here.
The Operations module allows third-party providers to add incident and PIR information through a public REST API.
Supplied incident information will be presented in the Incidents page in Jira Software, and as a link to any issues created via the Incidents Page.
This module also provides actions, one which allows Jira to provide a direct link to the operations provider where the user can create a post-incident review and two which allow Jira to search for relevant workspaces and devops components.
Note that the module key and name are not private and therefore should 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
.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
{ "modules": { "jiraOperationsInfoProvider": { "homeUrl": "https://my-operations-provider.com", "logoUrl": "https://my-operations-provider.com/images/logo.svg", "documentationUrl": "https://my-operations-provider.com/docs/jira-integration", "actions": { "fetchWorkspaces": { "templateUrl": "/workspaces/list" }, "searchContainers": { "templateUrl": "/containers/search" }, "createPostIncidentReview": { "url": "https://my-operations-provider.com/my-workspace/create-post-incident-review?affected-component={component-id}&incident={incident-id} } }, "name": { "value": "My Operations Provider" }, "key": "operations-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 | Actions the can be used by Jira to improve the integrated experience | Yes |
Property | type | Description | Required |
---|---|---|---|
fetchWorkspaces | object | An action defined by the provider to allow Jira to retrieve details about operations workspaces via a post endpoint. | Yes |
searchContainers | object | An action defined by the provider to allow Jira to search using details about devops components via a get endpoint. | Yes |
createPostIncidentReview | object | An action defined by the provider to allow Jira to create a new Post-Incident Review object via a post endpoint. |
Insert Operations Workspace IDs to establish a relationship between them and the Jira site the app is installed in. If a relationship between the Workspace ID and Jira already exists then the workspace ID will be ignored and Jira will process the rest of the entries.
Only Connect apps that define the jiraOperationsInfoProvider
module can access this resource.
This resource requires the 'WRITE' scope for Connect apps.
Connect app scope required: WRITE
string
RequiredOperations Workspace ids to submit.
array<string>
RequiredSubmission accepted. Each submitted Operations Workspace ID will be linked to Jira.
The result of a successful submitOperationsWorkspaces request.
1
2
3
4
5
6
7
8
9
10
curl --request POST \
--url 'https://your-domain.atlassian.net/rest/operations/1.0/linkedWorkspaces/bulk' \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--data '{
"workspaceIds": [
"111-222-333",
"444-555-666"
]
}'
1
2
3
4
5
6
{
"acceptedWorkspaceIds": [
"111-222-333",
"444-555-666"
]
}
Bulk delete all Operations Workspaces that match the given request.
Only Connect apps that define the jiraOperationsInfoProvider
module can access this resource.
This resource requires the 'DELETE' scope for Connect apps.
e.g. DELETE /bulk?workspaceIds=111-222-333,444-555-666
Connect app scope required: DELETE
string
RequiredDelete accepted. Workspaces and relate data will eventually be removed from Jira.
1
2
curl --request DELETE \
--url 'https://your-domain.atlassian.net/rest/operations/1.0/linkedWorkspaces/bulk'
Retrieve the either all Operations Workspace IDs associated with the Jira site or a specific Operations Workspace ID for the given ID.
The result will be what is currently stored, ignoring any pending updates or deletes.
e.g. GET /workspace?workspaceId=111-222-333
Only Connect apps that define the jiraOperationsInfoProvider
module can access this resource.
This resource requires the 'READ' scope for Connect apps.
Connect app scope required: READ
string
RequiredEither the ID provided if stored or a list of available IDs.
The payload of Operations Workspace Ids.
1
2
3
curl --request GET \
--url 'https://your-domain.atlassian.net/rest/operations/1.0/linkedWorkspaces' \
--header 'Accept: application/json'
1
2
3
4
5
6
{
"workspaceIds": [
"111-222-333",
"444-555-666"
]
}
Update / insert Incident or Review data.
Incidents and reviews are identified by their ID, and existing Incident and Review data for the same ID will be replaced if it exists and the updateSequenceNumber 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 getIncidentById or getReviewById operation can be used to confirm that data has been stored successfully (if needed).
In the case of multiple Incidents and Reviews being submitted in one request, each is validated individually prior to submission. Details of which entities failed submission (if any) are available in the response object.
A maximum of 1000 incidents can be submitted in one request.
Only Connect apps that define the jiraOperationsInfoProvider
module can access this resource.
This resource requires the 'WRITE' scope for Connect apps.
Connect app scope required: WRITE
string
RequiredIncident data to submit.
anyOf [object, object]
Submission accepted. Each submitted Incident that is of a valid format will be eventually available in Jira.
Details of which Incidents were submitted and which failed submission (due to data format problems etc.) are available in the response object.
The result of a successful submitIncidents request.
1
2
3
4
5
6
7
8
9
10
11
12
13
curl --request POST \
--url 'https://your-domain.atlassian.net/rest/operations/1.0/bulk' \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--data '{
"properties": {
"accountId": "account-234",
"projectId": "project-123"
},
"providerMetadata": {
"product": "Atlassian Operations Platform 2.1.0"
}
}'
1
2
3
4
5
6
7
8
9
10
{
"acceptedIncidents": [
"111-222-333",
"444-555-666"
],
"failedIncidents": {},
"unknownProjectKeys": [
"PROJ"
]
}
Bulk delete all Entties that match the given request.
One or more query params must be supplied to specify Properties to delete by. 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 submitEntity operation for more details.
e.g. DELETE /bulkByProperties?accountId=account-123&createdBy=user-456
Deletion is performed asynchronously. The getIncidentById operation can be used to confirm that data has been deleted successfully (if needed).
Only Connect apps that define the jiraOperationsInfoProvider
module can access this resource.
This resource requires the 'DELETE' scope for Connect apps.
Connect app scope required: DELETE
string
RequiredDelete accepted. Data will eventually be removed from Jira.
1
2
curl --request DELETE \
--url 'https://your-domain.atlassian.net/rest/operations/1.0/bulkByProperties'
Retrieve the currently stored Incident data for the given ID.
The result will be what is currently stored, ignoring any pending updates or deletes.
Only Connect apps that define the jiraOperationsInfoProvider
module can access this resource.
This resource requires the 'READ' scope for Connect apps.
Connect app scope required: READ
string
Requiredstring
RequiredThe Incident data currently stored for the given ID.
Data related to a specific incident in a specific container that the incident is present in. Must specify at least one association to a component.
1
2
3
curl --request GET \
--url 'https://your-domain.atlassian.net/rest/operations/1.0/incidents/{incidentId}' \
--header 'Accept: application/json'
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
{
"schemaVersion": "1.0",
"id": "111-222-333",
"updateSequenceNumber": 1523494301448,
"affectedComponents": [
"111-222-333",
"444-555-666"
],
"summary": "Unable to log into VPN",
"description": "<string>",
"url": "https://example.com/project/ITHELPDESK-9/summary",
"createdDate": "2018-01-20T23:27:25.000Z",
"lastUpdated": "2018-01-20T23:27:25.000Z",
"severity": {
"level": "P1"
},
"status": "open",
"associations": [
{
"associationType": "issueIdOrKeys",
"values": [
"ITSM-123"
]
}
]
}
Delete the Incident data currently stored for the given ID.
Deletion is performed asynchronously. The getIncidentById operation can be used to confirm that data has been deleted successfully (if needed).
Only Connect apps that define the jiraOperationsInfoProvider
module can access this resource.
This resource requires the 'DELETE' scope for Connect apps.
Connect app scope required: DELETE
string
Requiredstring
RequiredDelete has been accepted. Data will eventually be removed from Jira if it exists.
1
2
curl --request DELETE \
--url 'https://your-domain.atlassian.net/rest/operations/1.0/incidents/{incidentId}'
Retrieve the currently stored Review data for the given ID.
The result will be what is currently stored, ignoring any pending updates or deletes.
Only Connect apps that define the jiraOperationsInfoProvider
module can access this resource.
This resource requires the 'READ' scope for Connect apps.
Connect app scope required: READ
string
Requiredstring
RequiredThe Review data currently stored for the given ID.
Data related to a specific post-incident review. Must specify at least one association to an incident.
1
2
3
curl --request GET \
--url 'https://your-domain.atlassian.net/rest/operations/1.0/post-incident-reviews/{reviewId}' \
--header 'Accept: application/json'
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
{
"schemaVersion": "1.0",
"id": "111-222-333",
"updateSequenceNumber": 1523494301448,
"reviews": [
"111-222-333",
"444-555-666"
],
"summary": "PIR - Unable to log into VPN",
"description": "<string>",
"url": "https://example.com/project/ITHELPDESK-9/summary",
"createdDate": "2018-01-20T23:27:25.000Z",
"lastUpdated": "2018-01-20T23:27:25.000Z",
"status": "open",
"associations": [
{
"associationType": "issueIdOrKeys",
"values": [
"ITSM-123"
]
}
]
}
Delete the Review data currently stored for the given ID.
Deletion is performed asynchronously. The getReviewById operation can be used to confirm that data has been deleted successfully (if needed).
Only Connect apps that define the jiraOperationsInfoProvider
module can access this resource.
This resource requires the 'DELETE' scope for Connect apps.
Connect app scope required: DELETE
string
Requiredstring
RequiredDelete has been accepted. Data will eventually be removed from Jira if it exists.
1
2
curl --request DELETE \
--url 'https://your-domain.atlassian.net/rest/operations/1.0/post-incident-reviews/{reviewId}'
Rate this page: