Jira

The Jira component is an application component that allows users to do anything available on Jira. It can carry out the following tasks:

#Release Stage

Alpha

#Configuration

The component definition and tasks are defined in the definition.json and tasks.json files respectively.

#Setup

In order to communicate with Atlassian, the following connection details need to be provided. You may specify them directly in a pipeline recipe as key-value pairs within the component's setup block, or you can create a Connection from the Integration Settings page and reference the whole setup as setup: ${connection.<my-connection-id>}.

FieldField IDTypeNote
Token (required)tokenstringFill in your Jira API token. You can generate one from your Jira account "settings > security > API tokens".
Base URL (required)base-urlstringFill in your Jira base URL. For example, if your Jira URL is "https://mycompany.atlassian.net/...", then your base URL is https://mycompany.atlassian.net.
Email (required)emailstringFill in your Jira email address.

#Supported Tasks

#Create Issue

Create an issue in Jira.

InputIDTypeDescription
Task ID (required)taskstringTASK_CREATE_ISSUE
Project Key (required)project-keystringThe key of the project, e.g. INS.
Issue Type (required)issue-typeobjectThe type of the issue, can be: Task, Epic, Subtask, etc.
SummarysummarystringThe summary of the issue.
DescriptiondescriptionstringThe description of the issue.
The issue-type Object

Issue Type

issue-type must fulfill one of the following schemas:

Epic

Epic.

FieldField IDTypeNote
Issue Typeissue-typestringMust be "Epic"
Task

Task.

FieldField IDTypeNote
Issue Typeissue-typestringMust be "Task"
Subtask

Subtask.

FieldField IDTypeNote
Issue Typeissue-typestringMust be "Subtask"
Parent Keyparent-keystringThe key of the parent issue, e.g. JRA-1330.
Other

Other.

FieldField IDTypeNote
Issue Typecustom-issue-typestringThe type of the issue, can be: Task, Epic, Subtask, etc.
Issue Typeissue-typestringMust be "Other"
OutputIDTypeDescription
IDidstringThe ID of the issue.
KeykeystringThe key of the issue, e.g. JRA-1330.
SelfselfstringThe URL of the issue.
FieldsfieldsobjectThe fields of the issue. All navigable and Agile fields are returned.
Issue Type (optional)issue-typestringThe type of the issue, can be: Task, Epic.
Summary (optional)summarystringThe summary of the issue.
Description (optional)descriptionstringThe description of the issue.
Status (optional)statusstringThe status of the issue, can be: To Do, In Progress, Done.

#Create Sprint

Create a sprint in Jira.

InputIDTypeDescription
Task ID (required)taskstringTASK_CREATE_SPRINT
Board Name (required)board-namestringThe name of the board.
Name (required)namestringThe name of the sprint.
Goal (required)goalstringThe goal of the sprint.
Start Date (required)start-datestringThe start date of the sprint, e.g. 2018-03-05 (default 00:00 UTC+0). To adjust your time zone, please provide a more detailed RFC3339 format like 2018-03-05T09:00:00Z0000.
End Date (required)end-datestringThe end date of the sprint, e.g. 2018-03-05 (default 00:00 UTC+0). To adjust your time zone, please provide a more detailed RFC3339 format like 2018-03-05T09:00:00Z0000.
OutputIDTypeDescription
IDidintegerThe ID of the sprint.
SelfselfstringThe URL of the sprint.
State (optional)statestringThe state of the sprint, can be: active, closed, future.
Name (optional)namestringThe name of the sprint.
Start Date (optional)start-datestringThe start date of the sprint, e.g. 2018-03-05 (default 00:00 UTC+0). To adjust your time zone, please provide a more detailed RFC3339 format like 2018-03-05T09:00:00Z0000.
End Date (optional)end-datestringThe end date of the sprint, e.g. 2018-03-05 (default 00:00 UTC+0). To adjust your time zone, please provide a more detailed RFC3339 format like 2018-03-05T09:00:00Z0000.
Complete Date (optional)complete-datestringThe complete date of the sprint, e.g. 2018-03-05 (default 00:00 UTC+0). To adjust your time zone, please provide a more detailed RFC3339 format like 2018-03-05T09:00:00Z0000.
Origin Board ID (optional)origin-board-idintegerThe ID of the origin board.
Goal (optional)goalstringThe Goal of the sprint.

#Get Issue

Get an issue in Jira. The issue will only be returned if the user has permission to view it. Issues returned from this resource include Agile fields, like sprint, closedSprints, flagged, and epic.

InputIDTypeDescription
Task ID (required)taskstringTASK_GET_ISSUE
Issue Key (required)issue-keystringThe key of the issue, e.g. JRA-1330.
Update Historyupdate-historybooleanWhether the action taken is added to the user's Recent history, as shown under Your Work in Jira.
OutputIDTypeDescription
IDidstringThe ID of the issue.
KeykeystringThe key of the issue, e.g. JRA-1330.
SelfselfstringThe URL of the issue.
FieldsfieldsobjectThe fields of the issue. All navigable and Agile fields are returned.
Issue Type (optional)issue-typestringThe type of the issue, can be: Task, Epic.
Summary (optional)summarystringThe summary of the issue.
Description (optional)descriptionstringThe description of the issue.
Status (optional)statusstringThe status of the issue, can be: To Do, In Progress, Done.

#Get Sprint

Get a sprint in Jira. The sprint will only be returned if the user can view the board that the sprint was created on, or view at least one of the issues in the sprint.

InputIDTypeDescription
Task ID (required)taskstringTASK_GET_SPRINT
Sprint ID (required)sprint-idintegerThe ID of the sprint. The sprint will only be returned if you can view the board that the sprint was created on, or view at least one of the issues in the sprint.
OutputIDTypeDescription
ID (optional)idintegerThe ID of the sprint.
Self (optional)selfstringThe URL of the sprint.
State (optional)statestringThe state of the sprint, can be: active, closed, future.
Name (optional)namestringThe name of the sprint.
Start Date (optional)start-datestringThe start date of the sprint, e.g. 2018-03-05 (default 00:00 UTC+0). To adjust your time zone, please provide a more detailed RFC3339 format like 2018-03-05T09:00:00Z0000.
End Date (optional)end-datestringThe end date of the sprint, e.g. 2018-03-05 (default 00:00 UTC+0). To adjust your time zone, please provide a more detailed RFC3339 format like 2018-03-05T09:00:00Z0000.
Complete Date (optional)complete-datestringThe complete date of the sprint, e.g. 2018-03-05 (default 00:00 UTC+0). To adjust your time zone, please provide a more detailed RFC3339 format like 2018-03-05T09:00:00Z0000.
Origin Board ID (optional)origin-board-idintegerThe ID of the origin board.
Goal (optional)goalstringThe Goal of the sprint.

#List Boards

List all boards in Jira

InputIDTypeDescription
Task ID (required)taskstringTASK_LIST_BOARDS
Project Key or IDproject-key-or-idstringThis filters results to boards that are relevant to a project. Relevance meaning that the JQL filter defined in board contains a reference to a project.
Board Typeboard-typestringThe type of board, can be: scrum, kanban, simple. Default is simple.
Enum values
  • scrum
  • kanban
  • simple
NamenamestringName filters results to boards that match or partially match the specified name. Default is empty.
Start Atstart-atintegerThe starting index of the returned boards. Base index: 0. Default is 0.
Max Resultsmax-resultsintegerThe maximum number of boards to return. Default is 50.
OutputIDTypeDescription
Boards (optional)boardsarray[object]A array of boards in Jira.
Start Atstart-atintegerThe starting index of the returned boards. Base index: 0.
Max Resultsmax-resultsintegerThe maximum number of boards.
TotaltotalintegerThe total number of boards.
Is Lastis-lastbooleanWhether the last board is reached.
Output Objects in List Boards

Boards

FieldField IDTypeNote
IDidintegerThe ID of the board.
NamenamestringThe name of the board.
SelfselfstringThe URL of the board.
TypetypestringThe type of the board.

#List Issues

List issues in Jira.

InputIDTypeDescription
Task ID (required)taskstringTASK_LIST_ISSUES
Board Name (required)board-namestringThe name of the board.
RangerangeobjectChoose the range of issues to return. Default is all.
Start Atstart-atintegerThe starting index of the returned boards. Base index: 0. Default is 0.
Max Resultsmax-resultsintegerThe maximum number of boards to return. Default is 50.
The range Object

Range

range must fulfill one of the following schemas:

All

All issues.

FieldField IDTypeNote
RangerangestringMust be "All"
Standard Issues

Standard issues.

FieldField IDTypeNote
RangerangestringMust be "Standard Issues"
Epics only

Epics only.

FieldField IDTypeNote
RangerangestringMust be "Epics only"
In Backlog Only

In backlog only.

FieldField IDTypeNote
RangerangestringMust be "In backlog only"
Issues of an Epic

Issues of an epic.

FieldField IDTypeNote
Epic Keyepic-keystringThe Key of the epic, e.g. JRA-1330.
RangerangestringMust be "Issues of an epic"
Issues of a Sprint

Issues of a sprint.

FieldField IDTypeNote
RangerangestringMust be "Issues of a sprint"
Sprint Namesprint-namestringThe name of the sprint.
Issues without Epic Assigned

Issues without Epic Assigned.

FieldField IDTypeNote
RangerangestringMust be "Issues without epic assigned"
JQL Query

JQL query.

FieldField IDTypeNote
JQLjqlstringThe JQL query. For example, type = "Task" AND status = "Done". For more information, see Advanced searching.
RangerangestringMust be "JQL query"
OutputIDTypeDescription
Issues (optional)issuesarray[object]A array of issues in Jira.
Start Atstart-atintegerThe starting index of the returned boards. Base index: 0.
Max Resultsmax-resultsintegerThe maximum number of boards.
TotaltotalintegerThe total number of boards.
Output Objects in List Issues

Issues

FieldField IDTypeNote
DescriptiondescriptionstringThe description of the issue.
FieldsfieldsobjectThe fields of the issue. All navigable and Agile fields are returned.
IDidstringThe ID of the issue.
Issue Typeissue-typestringThe type of the issue, can be: Task, Epic.
KeykeystringThe key of the issue, e.g. JRA-1330.
SelfselfstringThe URL of the issue.
StatusstatusstringThe status of the issue, can be: To Do, In Progress, Done.
SummarysummarystringThe summary of the issue.

#List Sprints

List sprints in Jira.

InputIDTypeDescription
Task ID (required)taskstringTASK_LIST_SPRINTS
Board ID (required)board-idintegerThe ID of the board.
Start Atstart-atintegerThe starting index of the returned boards. Base index: 0. Default is 0.
Max Resultsmax-resultsintegerThe maximum number of boards to return. Default is 50.
OutputIDTypeDescription
Sprints (optional)sprintsarray[object]A array of sprints in Jira.
Start Atstart-atintegerThe starting index of the returned boards. Base index: 0.
Max Resultsmax-resultsintegerThe maximum number of boards.
TotaltotalintegerThe total number of boards.
Output Objects in List Sprints

Sprints

FieldField IDTypeNote
Complete Datecomplete-datestringThe complete date of the sprint, e.g. 2018-03-05 (default 00:00 UTC+0). To adjust your time zone, please provide a more detailed RFC3339 format like 2018-03-05T09:00:00Z0000.
End Dateend-datestringThe end date of the sprint, e.g. 2018-03-05 (default 00:00 UTC+0). To adjust your time zone, please provide a more detailed RFC3339 format like 2018-03-05T09:00:00Z0000.
GoalgoalstringThe Goal of the sprint.
IDidintegerThe ID of the sprint.
NamenamestringThe name of the sprint.
Origin Board IDorigin-board-idintegerThe ID of the origin board.
SelfselfstringThe URL of the sprint.
Start Datestart-datestringThe start date of the sprint, e.g. 2018-03-05 (default 00:00 UTC+0). To adjust your time zone, please provide a more detailed RFC3339 format like 2018-03-05T09:00:00Z0000.
StatestatestringThe state of the sprint, can be: active, closed, future.

#Update Issue

Update an issue in Jira.

InputIDTypeDescription
Task ID (required)taskstringTASK_UPDATE_ISSUE
Issue Key (required)issue-keystringThe key of the issue, e.g. JRA-1330.
Notify Usersnotify-usersbooleanWhether to notify users.
UpdateupdateobjectUpdate an issue in Jira.
The update Object

Update

update must fulfill one of the following schemas:

Custom Update

Custom update.

FieldField IDTypeNote
UpdateupdatestringMust be "Custom Update"
Update Fieldsupdate-fieldsarrayThe fields to update.
Move Issue to Epic

Move issue to epic.

FieldField IDTypeNote
Epic Keyepic-keystringThe key of the epic, e.g. JRA-1330.
UpdateupdatestringMust be "Move Issue to Epic"
OutputIDTypeDescription
IDidstringThe ID of the issue.
KeykeystringThe key of the issue, e.g. JRA-1330.
SelfselfstringThe URL of the issue.
FieldsfieldsobjectThe fields of the issue. All navigable and Agile fields are returned.
Issue Type (optional)issue-typestringThe type of the issue, can be: Task, Epic.
Summary (optional)summarystringThe summary of the issue.
Description (optional)descriptionstringThe description of the issue.
Status (optional)statusstringThe status of the issue, can be: To Do, In Progress, Done.

#Update Sprint

Update a sprint in Jira.

InputIDTypeDescription
Task ID (required)taskstringTASK_UPDATE_SPRINT
Sprint ID (required)sprint-idintegerThe ID of the sprint.
Name (required)namestringThe name of the sprint.
GoalgoalstringThe goal of the sprint.
Start Date (required)start-datestringThe start date of the sprint, e.g. 2018-03-05 (default 00:00 UTC+0). To adjust your time zone, please provide a more detailed RFC3339 format like 2018-03-05T09:00:00Z0000.
End Date (required)end-datestringThe end date of the sprint, e.g. 2018-03-05 (default 00:00 UTC+0). To adjust your time zone, please provide a more detailed RFC3339 format like 2018-03-05T09:00:00Z0000.
Current State (required)current-statestringThe current state of the sprint, can be: future, active, closed.
Enter Next Stateenter-next-statebooleanWhether to enter the next state. If true, the sprint will enter the next state, i.e., future -> active -> closed.
OutputIDTypeDescription
IDidintegerThe ID of the sprint.
SelfselfstringThe URL of the sprint.
State (optional)statestringThe state of the sprint, can be: active, closed, future.
Name (optional)namestringThe name of the sprint.
Start Date (optional)start-datestringThe start date of the sprint, e.g. 2018-03-05 (default 00:00 UTC+0). To adjust your time zone, please provide a more detailed RFC3339 format like 2018-03-05T09:00:00Z0000.
End Date (optional)end-datestringThe end date of the sprint, e.g. 2018-03-05 (default 00:00 UTC+0). To adjust your time zone, please provide a more detailed RFC3339 format like 2018-03-05T09:00:00Z0000.
Complete Date (optional)complete-datestringThe complete date of the sprint, e.g. 2018-03-05 (default 00:00 UTC+0). To adjust your time zone, please provide a more detailed RFC3339 format like 2018-03-05T09:00:00Z0000.
Origin Board ID (optional)origin-board-idintegerThe ID of the origin board.
Goal (optional)goalstringThe Goal of the sprint.

#Example Recipes

Recipe for the Your Project Management Assistant pipeline.


version: v1beta
component:
jira-0:
type: jira
task: TASK_LIST_ISSUES
input:
board-name: ${variable.board-name}
max-results: 50
range:
range: All
start-at: 0
setup:
base-url: ${variable.base-url}
email: ${variable.jira-email}
token: ${secret.jira}
openai-0:
type: openai
task: TASK_TEXT_GENERATION
input:
model: gpt-4o-mini
n: 1
prompt: |-
From this list of issues:
${jira-0.output.issues}
Summarise the next action items and reference the relevant issues.
Category:
[list of relevant issues]
response-format:
type: text
system-message: |-
You are an expert project manager. Classify the issues into one of the following categories: ["feature", "bug", "refactor", "cancelled"]
If anything is a breaking change, make it a top priority.
temperature: 1
top-p: 1
setup:
api-key: ${secret.INSTILL_SECRET}
variable:
base-url:
title: Jira Base URL
description: |+
Your Jira base URL i.e. https://<_YOUR_COMPANY_>.atlassian.net
format: string
board-name:
title: Jira Board Name
description: |+
The name of your Jira board i.e. "KANBAN board".
format: string
jira-email:
title: Jira Email
description: The email you are using for Jira i.e. hello@world.com
format: string
output:
output:
title: Output
value: ${openai-0.output.texts}