Jira Software Cloud
Jira Software Cloud combines powerful developer tool integrations with the most important features and functionality required for agile software development.
Supported Actions and Example Prompts
The following table lists the supported actions and prompt examples for an action:
Action Name | Description | Example Prompt |
---|---|---|
Add Comment in Issue | This action adds a comment to an issue. For more information, see Action: Add Comment in Issue. | Add a comment Add tags in the issue PROJ-1234. |
Create Issue Using Project Name | This action creates an issue in the Jira Software Cloud Application. For more information, see Action: Create Issue Using Project Name. | Create an issue in the project PROJ-1234 with the title example_title and issue type 10002, with priority set to highest. |
Get Issue Details | This action retrieves the details of an issue. For more information, see Action: Get Issue Details. | Get the details of the issue PROJ-1234. |
Assign Issue Using User Name | This action assigns an issue to a user. For more information, see Action: Assign Issue Using User Name | Assign issue 1234 to John Doe. |
Update Ticket Transition Using Similar Status Keyword | This action updates the transition of a ticket using the status name. For more information, see Action: Update Ticket Transition Using Similar Status Keyword. | Update the status of issue 1234 to Quality Assurance. |
Install and Configure the App
Install and configure the required apps to enable Quarterback AI to perform various security-related tasks and provide relevant responses. After installing an app, you must create an instance that will be used to communicate with the app endpoints. An app can have multiple instances, and you can set a default instance from the configured instance list.
Before you Start
Ensure you have the API token to authenticate with the Jira Software Cloud app.
Steps
To install and configure an app, follow these steps:
Go to the application, in the left pane, select Quarterback AI.
In Apps, select Jira Software Cloud and click Install.
After the app is installed, click Configure and enter the following details to create an instance:
Instance Name: Enter a name for the instance.
Instance Description: Enter a description for the instance.
Expiry: Select an expiry date for the instance.
Set as default instance: Select this option to set this instance as the default instance. By default, this instance will be used to perform actions from this app.
Cloud Domain: Enter the Jira Software Cloud domain. For example, domain.atlassian.net:443.
Email ID: Enter the email ID of the API user.
API Token: Enter the API token.
Verify: Select this option to verify SSL while making requests. It is recommended to select this option to ensure a secure connection. By default, this option is not selected.
Timeout: Enter the timeout value in seconds. This is the number of seconds that requests will wait to establish a connection with JIRA Software Cloud. You can enter values between 15 - 120 seconds. By default, 15 seconds is set.
Click Done.
The instance is created, and you can view it in Instances. To create another instance, click Add Instance.
Action: Add Comment in Issue
This action adds a comment in an issue.
Action Input Parameters
Parameter | Description | Field Type | Required/Optional | Comments |
---|---|---|---|---|
Issue ID | Enter the issue ID. Example: 10010 | Text | Required | |
Comment | Enter the comment. | Text | Required |
Action Response Parameters
Parameter | Type | Description |
---|---|---|
app_instance | Object | This parameter indicates the ID of the app instance configured in Orchestrate from which the response is retrieved. |
app_instance.self | String | The URL to the resource. Example: "http://www.example.com/jira/rest/api/2/issue/10010/comment/10000" |
app_instance.id | String | The unique identifier of the comment. Example: "10000" |
app_instance.author | Object | An object containing the author's details. |
app_instance.author.self | String | The URL to the author's profile. Example: "http://www.example.com/jira/rest/api/2/user?username=john" |
app_instance.author.name | String | The username of the author. Example: "john" |
app_instance.author.displayName | String | The display name of the author. Example: "John Doe" |
app_instance.author.active | Boolean | Indicates whether the author is active. Example: false |
app_instance.body | String | The body content of the comment. Example: "Lorem ipsum dolor sit amet, consectetur adipiscing elit. ..." |
app_instance.updateAuthor | Object | An object containing the details of the person who last updated the comment. Example: {"self": "http://www.example.com/jira/rest/api/2/user?username=fred", "name": "john", ...} |
app_instance.updateAuthor.self | String | The URL to the profile of the person who last updated the comment. Example: "http://www.example.com/jira/rest/api/2/user?username=john" |
app_instance.updateAuthor.name | String | The username of the person who last updated the comment. Example: "john" |
app_instance.updateAuthor.displayName | String | The display name of the person who last updated the comment. Example: "John Doe" |
app_instance.updateAuthor.active | Boolean | Indicates whether the person who last updated the comment is active. Example: false |
app_instance.created | String | The date and time when the comment was created. Example: "2024-05-23T14:47:28.538+0000" |
app_instance.updated | String | The date and time when the comment was last updated. Example: "2024-05-23T14:47:28.538+0000" |
app_instance.visibility | Object | An object containing visibility details. Example: {"type": "role", "value": "Administrators"} |
app_instance.visibility.type | String | The type of visibility. Example: "role" |
app_instance.visibility.value | String | The value of the visibility setting. Example: "Administrators" |
Action: Create Issue Using Project Name
This action creates an issue in the Jira Software Cloud Application.
Action Input Parameters
Parameter | Description | Field Type | Required/Optional | Comments |
---|---|---|---|---|
Project ID | Enter the project ID. | Text | Optional | If both the project ID and project name are provided, the project ID will take precedence. |
Project Name | Enter the project name. | Text | Optional | If both the project ID and project name are provided, the project ID will take precedence. |
Issue Title | Enter the title of the issue to create. Example: Sample Title | Text | Required | |
Issue Description | Enter the issue description. Example: Sample description | Text | Required | |
Issue Type ID | Enter the ID of the issue type. | Text | Required | Allowed values: 10002 (Task), 10003 (Subtask), 10004 (Bug), 10000 (Epic), 10001 (Story) |
Priority Type ID | Enter the ID of the priority type. | Text | Optional | Allowed values: 1 (Highest), 2 (High), 3 (Medium), 4 (Low), 5 (Lowest) This is not required for the Epic issue type. |
Extra Params | Enter the extra parameters for the API request. | Key Value | Optional |
Example Request
[ { "issue_type": "10000", "extra_params": {}, "project_name": "Sample Project", "issue_title": "Sample Title", "issue_description": "Sample description" } ]
Action: Get Issue Details
This action retrieves the details of an issue.
Action Input Parameters
Parameter | Description | Field Type | Required/Optional | Comments |
---|---|---|---|---|
Issue ID | Enter the issue ID. | Text | Required | |
Extra Params | Enter the extra parameters in key-value pairs. | Key Value | Optional | Allowed values:
|
Action Response Parameters
Parameter | Type | Description |
---|---|---|
{app_instance} | Object | This parameter indicates the ID of the app instance configured in Orchestrate from which the response is retrieved. |
app_instance.expand | String | Expanded fields information. Example: "renderedFields,names,schema,operations,editmeta,changelog,versionedRepresentations" |
app_instance.id | String | ID of the issue. Example: "10002" |
app_instance.self | String | URL to the issue. Example: "http://www.example.com/jira/rest/api/2/issue/10002" |
app_instance.key | String | Key of the issue. Example: "EX-1" |
app_instance.fields.watcher.self | String | URL to the watcher. Example: "http://www.example.com/jira/rest/api/2/issue/EX-1/watchers" |
app_instance.fields.watcher.isWatching | Boolean | Indicates if the user is watching the issue. Example: false |
app_instance.fields.watcher.watchCount | Integer | Number of watchers. Example: 1 |
app_instance.fields.watcher.watchers[].self | String | URL to the watcher user. Example: "http://www.example.com/jira/rest/api/2/user?username=fred" |
app_instance.fields.watcher.watchers[].name | String | Name of the watcher user. Example: "fred" |
app_instance.fields.watcher.watchers[].displayName | String | Display name of the watcher user. Example: "Fred F. User" |
app_instance.fields.watcher.watchers[].active | Boolean | Indicates if the watcher user is active. Example: false |
app_instance.fields.attachment[].self | String | URL to the attachment. Example: "http://www.example.com/jira/rest/api/2.0/attachments/10000" |
app_instance.fields.attachment[].filename | String | Filename of the attachment. Example: "picture.jpg" |
app_instance.fields.attachment[].author.self | String | URL to the author of the attachment. Example: "http://www.example.com/jira/rest/api/2/user?username=fred" |
app_instance.fields.attachment[].author.key | String | Key of the author. Example: "JIRAUSER10100" |
app_instance.fields.attachment[].author.name | String | Name of the author. Example: "fred" |
app_instance.fields.attachment[].author.emailAddress | String | Email address of the author. Example: "fred@example.com" |
app_instance.fields.attachment[].author.avatarUrls.48x48 | String | URL to the large avatar of the author. Example: "http://www.example.com/jira/secure/useravatar?size=large" |
app_instance.fields.attachment[].author.avatarUrls.24x24 | String | URL to the small avatar of the author. Example: "http://www.example.com/jira/secure/useravatar?size=small" |
app_instance.fields.attachment[].author.avatarUrls.16x16 | String | URL to the xsmall avatar of the author. Example: "http://www.example.com/jira/secure/useravatar?size=xsmall" |
app_instance.fields.attachment[].author.avatarUrls.32x32 | String | URL to the medium avatar of the author. Example: "http://www.example.com/jira/secure/useravatar?size=medium" |
app_instance.fields.attachment[].author.displayName | String | Display name of the author. Example: "Fred F. User" |
app_instance.fields.attachment[].author.active | Boolean | Indicates if the author is active. Example: true |
app_instance.fields.attachment[].author.deleted | Boolean | Indicates if the author is deleted. Example: false |
app_instance.fields.attachment[].author.timeZone | String | Time zone of the author. Example: "Australia/Sydney" |
app_instance.fields.attachment[].author.locale | String | Locale of the author. Example: "en_AU" |
app_instance.fields.attachment[].author.lastLoginTime | String | Last login time of the author. Example: "2023-08-30T16:37:01+1000" |
app_instance.fields.attachment[].created | String | Created date and time of the attachment. Example: "2024-05-23T14:47:28.592+0000" |
app_instance.fields.attachment[].size | Integer | Size of the attachment in bytes. Example: 23123 |
app_instance.fields.attachment[].mimeType | String | MIME type of the attachment. Example: "image/jpeg" |
app_instance.fields.attachment[].content | String | URL to the attachment content. Example: "http://www.example.com/jira/attachments/10000" |
app_instance.fields.attachment[].thumbnail | String | URL to the thumbnail of the attachment. Example: "http://www.example.com/jira/secure/thumbnail/10000" |
app_instance.fields.sub-tasks[].id | String | ID of the sub-task. Example: "10000" |
app_instance.fields.sub-tasks[].type.id | String | ID of the sub-task type. Example: "10000" |
app_instance.fields.sub-tasks[].type.name | String | Name of the sub-task type. Example: "" |
app_instance.fields.sub-tasks[].type.inward | String | Inward type of the sub-task. Example: "Parent" |
app_instance.fields.sub-tasks[].type.outward | String | Outward type of the sub-task. Example: "Sub-task" |
app_instance.fields.sub-tasks[].outwardIssue.id | String | ID of the outward issue. Example: "10003" |
app_instance.fields.sub-tasks[].outwardIssue.key | String | Key of the outward issue. Example: "EX-2" |
app_instance.fields.sub-tasks[].outwardIssue.self | String | URL to the outward issue. Example: "http://www.example.com/jira/rest/api/2/issue/EX-2" |
app_instance.fields.sub-tasks[].outwardIssue.fields.status.iconUrl | String | URL to the status icon of the outward issue. Example: "http://www.example.com/jira//images/icons/statuses/open.png" |
app_instance.fields.sub-tasks[].outwardIssue.fields.status.name | String | Name of the status of the outward issue. Example: "Open" |
app_instance.fields.description | String | Description of the issue. Example: "example bug report" |
app_instance.fields.project.self | String | URL to the project. Example: "http://www.example.com/jira/rest/api/2/project/EX" |
app_instance.fields.project.id | String | ID of the project. Example: "10000" |
app_instance.fields.project.key | String | Key of the project. Example: "EX" |
app_instance.fields.project.name | String | Name of the project. Example: "Example" |
app_instance.fields.project.avatarUrls.48x48 | String | URL to the large avatar of the project. Example: "http://www.example.com/jira/secure/projectavatar?size=large" |
app_instance.fields.project.avatarUrls.24x24 | String | URL to the small avatar of the project. Example: "http://www.example.com/jira/secure/projectavatar?size=small" |
app_instance.fields.project.avatarUrls.16x16 | String | URL to the xsmall avatar of the project. Example: "http://www.example.com/jira/secure/projectavatar?size=xsmall" |
app_instance.fields.project.avatarUrls.32x32 | String | URL to the medium avatar of the project. Example: "http://www.example.com/jira/secure/projectavatar?size=medium" |
app_instance.fields.project.projectCategory.self | String | URL to the project category. Example: "http://www.example.com/jira/rest/api/2/projectCategory/10000" |
app_instance.fields.project.projectCategory.id | String | ID of the project category. Example: "10000" |
app_instance.fields.project.projectCategory.name | String | Name of the project category. Example: "FIRST" |
app_instance.fields.project.projectCategory.description | String | Description of the project category. Example: "First Project Category" |
app_instance.fields.comment[].self | String | URL to the comment. Example: "http://www.example.com/jira/rest/api/2/issue/10010/comment/10000" |
app_instance.fields.comment[].id | String | ID of the comment. Example: "10000" |
app_instance.fields.comment[].author.self | String | URL to the author of the comment. Example: "http://www.example.com/jira/rest/api/2/user?username=fred" |
app_instance.fields.comment[].author.name | String | Name of the author. Example: "fred" |
app_instance.fields.comment[].author.displayName | String | Display name of the author. Example: "Fred F. User" |
app_instance.fields.comment[].author.active | Boolean | Indicates if the author is active. Example: false |
app_instance.fields.comment[].body | String | Body of the comment. Example: "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque eget venenatis elit. Duis eu justo eget augue iaculis fermentum. Sed semper quam laoreet nisi egestas at posuere augue semper." |
app_instance.fields.comment[].updateAuthor.self | String | URL to the update author. Example: "http://www.example.com/jira/rest/api/2/user?username=fred" |
app_instance.fields.comment[].updateAuthor.name | String | Name of the update author. Example: "fred" |
app_instance.fields.comment[].updateAuthor.displayName | String | Display name of the update author. Example: "Fred F. User" |
app_instance.fields.comment[].updateAuthor.active | Boolean | Indicates if the update author is active. Example: false |
app_instance.fields.comment[].created | String | Date and time when the comment was created. Example: "2024-05-23T14:47:28.538+0000" |
app_instance.fields.comment[].updated | String | Date and time when the comment was last updated. Example: "2024-05-23T14:47:28.538+0000" |
app_instance.fields.comment[].visibility.type | String | Type of visibility. Example: "role" |
app_instance.fields.comment[].visibility.value | String | Value of the visibility. Example: "Administrators" |
app_instance.fields.issuelinks[].id | String | ID of the issue link. Example: "10001" |
app_instance.fields.issuelinks[].type.id | String | ID of the issue link type. Example: "10000" |
app_instance.fields.issuelinks[].type.name | String | Name of the issue link type. Example: "Dependent" |
app_instance.fields.issuelinks[].type.inward | String | Inward description of the issue link type. Example: "depends on" |
app_instance.fields.issuelinks[].type.outward | String | Outward description of the issue link type. Example: "is depended by" |
app_instance.fields.issuelinks[].outwardIssue.id | String | ID of the outward issue. Example: "10004L" |
app_instance.fields.issuelinks[].outwardIssue.key | String | Key of the outward issue. Example: "PRJ-2" |
app_instance.fields.issuelinks[].outwardIssue.self | String | URL to the outward issue. Example: "http://www.example.com/jira/rest/api/2/issue/PRJ-2" |
app_instance.fields.issuelinks[].outwardIssue.fields.status.iconUrl | String | URL to the status icon of the outward issue. Example: "http://www.example.com/jira//images/icons/statuses/open.png" |
app_instance.fields.issuelinks[].outwardIssue.fields.status.name | String | Name of the status of the outward issue. Example: "Open" |
app_instance.fields.issuelinks[].inwardIssue.id | String | ID of the inward issue. Example: "10004" |
app_instance.fields.issuelinks[].inwardIssue.key | String | Key of the inward issue. Example: "PRJ-3" |
app_instance.fields.issuelinks[].inwardIssue.self | String | URL to the inward issue. Example: "http://www.example.com/jira/rest/api/2/issue/PRJ-3" |
app_instance.fields.issuelinks[].inwardIssue.fields.status.iconUrl | String | URL to the status icon of the inward issue. Example: "http://www.example.com/jira//images/icons/statuses/open.png" |
app_instance.fields.issuelinks[].inwardIssue.fields.status.name | String | Name of the status of the inward issue. Example: "Open" |
app_instance.fields.worklog[].self | String | URL to the worklog. Example: "http://www.example.com/jira/rest/api/2/issue/10010/worklog/10000" |
app_instance.fields.worklog[].author.self | String | URL to the author of the worklog. Example: "http://www.example.com/jira/rest/api/2/user?username=fred" |
app_instance.fields.worklog[].author.name | String | Name of the author. Example: "fred" |
app_instance.fields.worklog[].author.displayName | String | Display name of the author. Example: "Fred F. User" |
app_instance.fields.worklog[].author.active | Boolean | Indicates if the author is active. Example: false |
app_instance.fields.worklog[].updateAuthor.self | String | URL to the update author. Example: "http://www.example.com/jira/rest/api/2/user?username=fred" |
app_instance.fields.worklog[].updateAuthor.name | String | Name of the update author. Example: "fred" |
app_instance.fields.worklog[].updateAuthor.displayName | String | Display name of the update author. Example: "Fred F. User" |
app_instance.fields.worklog[].updateAuthor.active | Boolean | Indicates if the update author is active. Example: false |
app_instance.fields.worklog[].comment | String | Comment of the worklog. Example: "I did some work here." |
app_instance.fields.worklog[].updated | String | Date and time when the worklog was last updated. Example: "2024-05-23T14:47:28.599+0000" |
app_instance.fields.worklog[].visibility.type | String | Type of visibility. Example: "group" |
app_instance.fields.worklog[].visibility.value | String | Value of the visibility. Example: "jira-developers" |
app_instance.fields.worklog[].started | String | Date and time when the worklog was started. Example: "2024-05-23T14:47:28.598+0000" |
app_instance.fields.worklog[].timeSpent | String | Time spent on the worklog. Example: "3h 20m" |
app_instance.fields.worklog[].timeSpentSeconds | Number | Time spent on the worklog in seconds. Example: 12000 |
app_instance.fields.worklog[].id | String | ID of the worklog. Example: "100028" |
app_instance.fields.worklog[].issueId | String | ID of the issue. Example: "10002" |
app_instance.fields.updated | Number | Timestamp when the issue was last updated. Example: 1 |
app_instance.fields.timetracking.originalEstimate | String | Original time estimate. Example: "10m" |
app_instance.fields.timetracking.remainingEstimate | String | Remaining time estimate. Example: "3m" |
app_instance.fields.timetracking.timeSpent | String | Time spent. Example: "6m" |
app_instance.fields.timetracking.originalEstimateSeconds | Number | Original time estimate in seconds. Example: 600 |
app_instance.fields.timetracking.remainingEstimateSeconds | Number | Remaining time estimate in seconds. Example: 200 |
app_instance.fields.timetracking.timeSpentSeconds | Number | Time spent in seconds. Example: 400 |
Action: Assign Issue Using User Name
This action assigns an issue to a user.
Action Input Parameters
Parameter | Description | Field Type | Required/Optional | Comments |
---|---|---|---|---|
Issue ID | Enter the issue ID to assign the issue. | Text | Required | |
User ID | Enter the ID of the user to assign the issue. | Text | Optional |
|
User Name | Enter the user name to assign the issue. | Text | Optional |
Example Request
[ { "issue_id": "PROJ-1234", "user_name": "John Doe" } ]
Action: Update Ticket Transition Using Similar Status Keyword
This action updates the ticket status by matching the provided status keyword with closely related status terms. For example, if you attempt to update the ticket status to In Progress but pass in progress or progress, the action will still apply the correct status, even with slight variations or case differences.
Action Input Parameters
Parameter | Description | Field Type | Required/Optional | Comments |
---|---|---|---|---|
Issue ID | Enter the issue ID to update the ticket transition. | Text | Required | |
Status Name | Enter the name of the status to update. | Text | Required |
Example Request
[ { "issue_id": "PROJ-1234", "to_status_name": "Under Review" } ]