Rate this page:

Development Information

APIs related to integrating development information (commits, branches and pull requests) with Jira. These APIs are available to Atlassian Connect apps and on-premise integrations using OAuth. Connect apps using these APIs must have the Development Tool module in the app descriptor, see https://developer.atlassian.com/cloud/jira/software/modules/development-tool/. For more details on integrating Jira Software Cloud with on-premises tools using OAuth 2.0 credentials, see https://developer.atlassian.com/cloud/jira/software/integrate-jsw-cloud-with-onpremises-tools/.

Store development information

POST /rest/devinfo/0.10/bulk

Stores development information provided in the request to make it available when viewing issues in JIRA. Existing repository and entity data for the same ID will be replaced if 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.

App scope requiredWRITE

Request

Header parameters
Authorization Required

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 JWT token corresponds to a Connect app that does not define the jiraDevelopmentTool 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.

Body parameters

Request object for development information push operations, entities are grouped by repository

repositories Required

Array<Repository>

List of repositories containing development information. Must not contain duplicates. Maximum number of entities across all repositories is 1000

Max items: 100
preventTransitions

boolean

Flag to prevent automatic issue transitions and smart commits being fired, default is false

properties

object

Arbitrary properties to tag the submitted repositories with. These properties can be used for delete operations to e.g. clean up all development information associated with an account in the event that the account is removed from the provider system. Note that these properties will never be returned with repository or entity data. They are not intended for use as metadata to associate with a repository. Maximum length of each key or value is 255 characters. Maximum allowed number of properties key/value pairs is 5. Properties keys cannot start with '_' character. Properties keys cannot contain ':' character.

providerMetadata

ProviderMetadata

Information about the provider. This is useful for auditing, logging, debugging, and other internal uses. It is not considered private information. Hence, it may not contain personally identifiable information.

Example

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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
curl --request POST \
  --url 'https://your-domain.atlassian.net/rest/devinfo/0.10/bulk' \
  --header 'Accept: application/json' \
  --header 'Content-Type: application/json' \
  --data '{
  "repositories": [
    {
      "name": "atlassian-connect-jira-example",
      "description": "The repository which stores code of the Atlassian Connect Add-on Devinfo application.",
      "forkOf": "56c7c750-cee2-48e2-b920-d7706dfd11f7",
      "url": "https://bitbucket.org/atlassianlabs/atlassian-connect-jira-example",
      "commits": [
        {
          "id": "c6c7c750-cee2-48e2-b920-d7706dfd11f9",
          "issueKeys": [
            "<string>"
          ],
          "updateSequenceId": 1523494301248,
          "hash": "a7727ee6350c33cdf90826dc21abaa26a5704370",
          "flags": [
            "MERGE_COMMIT"
          ],
          "message": "README.md edited online with Bitbucket",
          "author": {
            "name": "Jane Doe",
            "email": "jane_doe@atlassian.com",
            "username": "jdoe",
            "url": "https://atlassian.com/account/jane_doe",
            "avatar": "https://atlassian.com/account/jane_doe/avatar/32"
          },
          "fileCount": 1,
          "url": "https://bitbucket.org/atlassianlabs/atlassian-connect-jira-example/commits/a7727ee6350c33cdf90826dc21abaa26a5704370",
          "files": [
            {
              "path": "/home/user/src/atlassian-connect-jira-example/README.md",
              "url": "https://bitbucket.org/atlassianlabs/atlassian-connect-jira-example/src/a7727ee6350c33cdf90826dc21abaa26a5704370/README.md",
              "changeType": "MODIFIED",
              "linesAdded": 0,
              "linesRemoved": 1
            }
          ],
          "authorTimestamp": "2016-10-31T23:27:25+00:00",
          "displayId": "a7727ee"
        }
      ],
      "branches": [
        {
          "id": "c6c7c750-cee2-48e2-b920-d7706dfd11f9",
          "issueKeys": [
            "<string>"
          ],
          "updateSequenceId": 1523494301248,
          "name": "master",
          "lastCommit": {
            "id": "c6c7c750-cee2-48e2-b920-d7706dfd11f9",
            "issueKeys": [
              "<string>"
            ],
            "updateSequenceId": 1523494301248,
            "hash": "a7727ee6350c33cdf90826dc21abaa26a5704370",
            "flags": [
              "MERGE_COMMIT"
            ],
            "message": "README.md edited online with Bitbucket",
            "author": {
              "name": "Jane Doe",
              "email": "jane_doe@atlassian.com",
              "username": "jdoe",
              "url": "https://atlassian.com/account/jane_doe",
              "avatar": "https://atlassian.com/account/jane_doe/avatar/32"
            },
            "fileCount": 1,
            "url": "https://bitbucket.org/atlassianlabs/atlassian-connect-jira-example/commits/a7727ee6350c33cdf90826dc21abaa26a5704370",
            "files": [
              {
                "path": "/home/user/src/atlassian-connect-jira-example/README.md",
                "url": "https://bitbucket.org/atlassianlabs/atlassian-connect-jira-example/src/a7727ee6350c33cdf90826dc21abaa26a5704370/README.md",
                "changeType": "MODIFIED",
                "linesAdded": 0,
                "linesRemoved": 1
              }
            ],
            "authorTimestamp": "2016-10-31T23:27:25+00:00",
            "displayId": "a7727ee"
          },
          "createPullRequestUrl": "https://bitbucket.org/atlassianlabs/atlassian-connect-jira-example/pull-requests/new",
          "url": "https://bitbucket.org/atlassianlabs/atlassian-connect-jira-example/branch/master"
        }
      ],
      "pullRequests": [
        {
          "id": "c6c7c750-cee2-48e2-b920-d7706dfd11f9",
          "issueKeys": [
            "<string>"
          ],
          "updateSequenceId": 1523494301248,
          "status": "OPEN",
          "title": "Pull request 2, fixing all the issues caused by pull request #1",
          "author": {
            "name": "Jane Doe",
            "email": "jane_doe@atlassian.com",
            "username": "jdoe",
            "url": "https://atlassian.com/account/jane_doe",
            "avatar": "https://atlassian.com/account/jane_doe/avatar/32"
          },
          "commentCount": 42,
          "sourceBranch": "ISSUE-1-feature-branch",
          "sourceBranchUrl": "https://bitbucket.org/atlassianlabs/atlassian-connect-jira-example/branch/ISSUE-1-feature-branch",
          "lastUpdate": "2016-10-31T23:27:25+00:00",
          "destinationBranch": "master",
          "reviewers": [
            {
              "name": "Jane Doe",
              "approvalStatus": "APPROVED",
              "url": "https://atlassian.com/account/jane_doe",
              "avatar": "https://atlassian.com/account/jane_doe/avatar/32"
            }
          ],
          "url": "https://bitbucket.org/atlassianlabs/atlassian-connect-jira-example/pull-requests/2",
          "displayId": "Pull request 2"
        }
      ],
      "avatar": "http://bitbucket.org/atlassianlabs/atlassian-connect-jira-example/avatar/32",
      "avatarDescription": "Avatar description",
      "id": "c6c7c750-cee2-48e2-b920-d7706dfd11f9",
      "updateSequenceId": 1523494301248
    }
  ],
  "preventTransitions": true,
  "properties": {},
  "providerMetadata": {
    "product": "Bitbucket Server 6.7.2"
  }
}'

Responses

Submission accepted. Each submitted repository and entity that is of a valid format will be eventually available in Jira.

Content typeValue
application/json

StoreDevinfoResult

Get repository

GET /rest/devinfo/0.10/repository/{repositoryId}

For the specified repository ID, retrieves the repository and the most recent 400 development information entities. The result will be what is currently stored, ignoring any pending updates or deletes.

App scope requiredREAD

Request

Path parameters
repositoryId Required

string

The ID of repository to fetch

Header parameters
Authorization Required

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 JWT token corresponds to a Connect app that does not define the jiraDevelopmentTool 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.

Example

1
2
3
curl --request GET \
  --url 'https://your-domain.atlassian.net/rest/devinfo/0.10/repository/{repositoryId}' \
  --header 'Accept: application/json'

Responses

The repository data currently stored for the given ID.

Content typeValue
application/json

Repository

Delete repository

DELETE /rest/devinfo/0.10/repository/{repositoryId}

Deletes the repository data stored by the given ID and all related development information entities. Deletion is performed asynchronously.

App scope requiredDELETE

Request

Path parameters
repositoryId Required

string

The ID of repository to delete

Query parameters
_updateSequenceId

integer

An optional property to use to control deletion. Only stored data with an updateSequenceId less than or equal to that provided will be deleted. This can be used to help ensure submit/delete requests are applied correctly if they are issued close together.

Format: int64
Header parameters
Authorization Required

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 JWT token corresponds to a Connect app that does not define the jiraDevelopmentTool 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.

Example

1
2
curl --request DELETE \
  --url 'https://your-domain.atlassian.net/rest/devinfo/0.10/repository/{repositoryId}'

Responses

Delete request has been accepted. Data will eventually be removed from Jira if it exists.

A schema has not been defined for this response code.

Delete development information by properties

DELETE /rest/devinfo/0.10/bulkByProperties

Deletes development information entities which have all the provided properties. Entities will be deleted that match ALL of the properties (i.e. treated as an AND). For example if request is DELETE bulk?accountId=123&projectId=ABC entities which have properties accountId=123 and projectId=ABC will be deleted. Special property '_updateSequenceId' can be used to delete all entities with updateSequenceId less or equal than the value specified. In addition to the optional '_updateSequenceId', one or more query params must be supplied to specify properties to delete by. Deletion is performed asynchronously: specified entities will eventually be removed from Jira.

App scope requiredDELETE

Request

Query parameters
_updateSequenceId

integer

An optional property to use to control deletion. Only stored data with an updateSequenceId less than or equal to that provided will be deleted. This can be used to help ensure submit/delete requests are applied correctly if they are issued close together.

Format: int64
Header parameters
Authorization Required

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 JWT token corresponds to a Connect app that does not define the jiraDevelopmentTool 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.

Example

1
2
curl --request DELETE \
  --url 'https://your-domain.atlassian.net/rest/devinfo/0.10/bulkByProperties'

Responses

Delete accepted. Data will eventually be removed from Jira.

A schema has not been defined for this response code.

Check if data exists for the supplied properties

GET /rest/devinfo/0.10/existsByProperties

Checks if development information which have all the provided properties exists. For example, if request is GET existsByProperties?accountId=123&projectId=ABC then result will be positive only if there is at least one entity or repository with both properties accountId=123 and projectId=ABC. Special property '_updateSequenceId' can be used to filter all entities with updateSequenceId less or equal than the value specified. In addition to the optional '_updateSequenceId', one or more query params must be supplied to specify properties to search by.

App scope requiredREAD

Request

Query parameters
_updateSequenceId

integer

An optional property. Filters out entities and repositories which have updateSequenceId greater than specified.

Format: int64
Header parameters
Authorization Required

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 JWT token corresponds to a Connect app that does not define the jiraDevelopmentTool 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.

Example

1
2
3
curl --request GET \
  --url 'https://your-domain.atlassian.net/rest/devinfo/0.10/existsByProperties' \
  --header 'Accept: application/json'

Responses

Returns whether data exists for the specified properties.

Content typeValue
application/json

ExistsForPropertiesResponse

Delete development information entity

DELETE /rest/devinfo/0.10/repository/{repositoryId}/{entityType}/{entityId}

Deletes particular development information entity. Deletion is performed asynchronously.

App scope requiredDELETE

Request

Path parameters
repositoryId Required

string

entityType Required

string

Valid values: commit, branch, pull_request

entityId Required

string

Query parameters
_updateSequenceId

integer

An optional property to use to control deletion. Only stored data with an updateSequenceId less than or equal to that provided will be deleted. This can be used to help ensure submit/delete requests are applied correctly if they are issued close together.

Format: int64
Header parameters
Authorization Required

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 JWT token corresponds to a Connect app that does not define the jiraDevelopmentTool 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.

Example

1
2
curl --request DELETE \
  --url 'https://your-domain.atlassian.net/rest/devinfo/0.10/repository/{repositoryId}/{entityType}/{entityId}'

Responses

Delete request has been accepted. Data will eventually be removed from Jira if it exists.

A schema has not been defined for this response code.

Rate this page: