package
0.29.0-beta
Repository: https://github.com/instill-ai/component.git
Documentation: pkg.go.dev

# README


title: "Jira" lang: "en-US" draft: false description: "Learn about how to set up a VDP Jira component https://github.com/instill-ai/instill-core"

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

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

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

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

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

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

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

    instill-format: string
  board-name:
    title: Jira Board Name
    description: |+
      The name of your Jira board i.e. "KANBAN board".

    instill-format: string
  jira-email:
    title: Jira Email
    description: The email you are using for Jira i.e. [email protected]
    instill-format: string
output:
  output:
    title: Output
    value: ${openai-0.output.texts}

# Functions

Init returns an implementation of IConnector that interacts with Slack.

# Structs

No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author