Development Actions

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

Properties

associateRepository
Type
Description

Action for fetching development repository for a given repository ID.

If a repository with the given ID does not exist, the response should be a HTTP 404.

Example request

The templateUrl property of this action will receive a POST request when this action is invoked. The repository ID to be fetched will be included in the body.

1
2
3
4
5

 {
   "id": "XXXX"
 }
 

Example response

1
2
3
4
5
6
7
8
9
10
11
12
13
14

 {
   // Identifier of the repository which will be used to hydrate repository details. The ID does not need to conform to any specific format.
   id: "f730ce9c-3442-4f8a-93a4-a44f3b35c46b/target/111-222-333"
   // Human readable name of the repository
   name: "my-repo-name"
   // Url allowing Jira to link directly to the provider's repository
   url: "https://my.devinfo.provider.com/f730ce9c-3442-4f8a-93a4-a44f3b35c46b/container/f730ce9c-3442-4f8a-93a4-a44f3b35c46b"
   // Optional, url providing the avatar for the repository.
   avatarUrl: "https://res.cloudinary.com/snyk/image/upload/v1584038122/groups/Atlassian_Logo.png"
   // The date and time this repository was last scanned/updated
   lastUpdatedDate: "2022-01-19T23:27:25+00:00"
 }
 

Defines the URL template that is used when an action is invoked.

For the create branch action, the following context parameters are supported: {issue.key}, {issue.summary}.

Properties

templateUrl
Type
Format
uri-template
Required
Yes

createBranch
Type
Description

Defines the URL template that is used when an action is invoked.

For the create branch action, the following context parameters are supported: {issue.key}, {issue.summary}.

Properties

templateUrl
Type
Format
uri-template
Required
Yes

createRepository
Type
Description

Action for creating a new repository.

Example request

The templateUrl property of this action will receive a POST request with request body when this action is invoked. The request body will be a JOSN payload consisting of: - workspaceId: The ID of the workspace in which to create the repository. This will be an ID which was supplied via the searchRepositories action within this same module. - name: The name of the repository to create.

If the input provided is invalid, then the response should be a HTTP 400.

1
2
3
4
5
6
7
8

 "https://my.devinfo.provider.com/repos/create"

Body: {
     "workspaceId": "12345",
     "name": "my-repo-name"
 }
 

Example response

1
2
3
4
5
6
7
8
9
10
11
12
13
14

 {
   // Identifier of the repository which will be used to hydrate repository details
   "id": "f730ce9c-3442-4f8a-93a4-a44f3b35c46b/target/111-222-333"
   // Human readable name of the repository
   "name": "my-repo-name"
   // Url allowing Jira to link directly to the provider's repository
   "url": "https://my.devinfo.provider.com/f730ce9c-3442-4f8a-93a4-a44f3b35c46b/repo/f730ce9c-3442-4f8a-93a4-a44f3b35c46b"
   // Optional, url providing the avatar for the repository.
   "avatarUrl": "https://res.cloudinary.com/snyk/image/upload/v1584038122/groups/Atlassian_Logo.png"
   // The date and time this repository was last scanned/updated
   "lastUpdatedDate": "2022-01-19T23:27:25+00:00"
 }
 

Defines the URL template that is used when an action is invoked.

For the create branch action, the following context parameters are supported: {issue.key}, {issue.summary}.

Properties

templateUrl
Type
Format
uri-template
Required
Yes

disassociateRepository
Type
Description

The disassociate action is called when a container is disassociated from the Jira project which it was previously associated with. This action is called to notify the provider to stop syncing this container with Jira.

Example request

The templateUrl property of this action will receive a POST request when this action is invoked. The repository ID will be included in the request body.

1
2
3
4
5

 {
   "id": "XXXX"
 }
 

Defines the URL template that is used when an action is invoked.

For the create branch action, the following context parameters are supported: {issue.key}, {issue.summary}.

Properties

templateUrl
Type
Format
uri-template
Required
Yes

searchConnectedWorkspaces
Type
Description

Action for showing any partial or full matches using a search on the connected development workspace name.

Example request

The templateUrl property of this action will receive a GET request with searchQuery when this action is invoked. The searchQuery param will be the users input. This query parameter is optional. This should be searched for against the workspace names, i.e. results for searchQuery="my-workspace-n" should include "my-workspace-name".

1
2
3

 "https://my.devinfo.provider.com/repos/search?searchQuery=my-workspace-name"
 

Example response

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16

 {
   "workspaces": [
     {
       // Identifier of the workspace which will be used to hydrate workspace details. The ID does not need to conform to any specific format.
       "id": "f730ce9c-3442-4f8a-93a4-a44f3b35c46b/target/111-222-333"
       // Human readable name of the workspace
       "name": "my-workspace-name"
       // Optional, url allowing Jira to link directly to the provider's workspace
       "url": "https://my.devinfo.provider.com/f730ce9c-3442-4f8a-93a4-a44f3b35c46b/repo/f730ce9c-3442-4f8a-93a4-a44f3b35c46b"
       // Optional, url providing the avatar for the workspace.
       "avatarUrl": "https://res.cloudinary.com/snyk/image/upload/v1584038122/groups/Atlassian_Logo.png"
     }
   ]
 }
 

Defines the URL template that is used when an action is invoked.

For the create branch action, the following context parameters are supported: {issue.key}, {issue.summary}.

Properties

templateUrl
Type
Format
uri-template
Required
Yes

searchRepositories
Type
Description

Action for showing any partial or full matches using a search on the repository name.

Note that the workspace which each repository is contained within must be returned as a property of each repository.

Example request

The templateUrl property of this action will receive a GET request with optional query params searchQuery,page and limit when this action is invoked. - searchQuery: Optional, the users input. This should be searched for against the repository names, i.e. results for searchQuery="my-repo-n" should include "my-repo-name". - page: Optional, the current page for returning paginated results (default to 1) - limit: Optional, the number of items per page (default to 100)

1
2
3

 "https://my.devinfo.provider.com/repos/search?searchQuery=my-repo-name&page=3&limit=50"
 

Example response

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

 {
   "containers": [
     {
       // Identifier of the repository which will be used to hydrate repository details
       "id": "f730ce9c-3442-4f8a-93a4-a44f3b35c46b/target/111-222-333"
       // Human readable name of the repository
       "name": "my-repo-name"
       // Url allowing Jira to link directly to the provider's repository
       "url": "https://my.devinfo.provider.com/f730ce9c-3442-4f8a-93a4-a44f3b35c46b/repo/f730ce9c-3442-4f8a-93a4-a44f3b35c46b"
       // Optional, url providing the avatar for the repository.
       "avatarUrl": "https://res.cloudinary.com/snyk/image/upload/v1584038122/groups/Atlassian_Logo.png"
       // The date and time this repository was last scanned/updated
       "lastUpdatedDate": "2022-01-19T23:27:25+00:00"
       // The details of the workspace which this repository is in.
       "workspace": {
          // Identifier of the workspace
          "id": "f730ce9c-3442-4f8a-93a4-a44f3b35c46b/target/111-222-333"
          // Human readable name of the workspace
          "name": "my-workspace-name"
       }
     }
   ]
 }
 

Defines the URL template that is used when an action is invoked.

For the create branch action, the following context parameters are supported: {issue.key}, {issue.summary}.

Properties

templateUrl
Type
Format
uri-template
Required
Yes