Skip to main content

Quarterback AI

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:

  1. Go to the application, in the left pane, select Quarterback AI.

  2. In Apps, select Jira Software Cloud and click Install.

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

  4. 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:

  • fields (array):

    • *all

    • *navigable

    • any issue field ( prefixed with a hyphen to exclude)

  • fieldsbykeys (bool): Default value: false

  • expand (str):

    • renderedfields

    • names

    • schema

    • transitions

    • editmeta

    • changelog

    • versionedrepresentations

  • properties (array):

    • *all

    • any issue property key ( prefixed with a hyphen to exclude)

  • updatehistory (bool): Default value: false

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"
  }
]