jira
This promotion step is only available in Kargo on the Akuity Platform, versions v1.6 and above.
The jira
promotion step provides comprehensive integration with Jira, allowing you to create, update, delete, and search for issues, manage comments, and track promotion workflows. This is particularly useful for maintaining traceability between your promotion processes and project management activities.
This promotion step supports various operations including issue management, comment handling, and status tracking, making it a powerful tool for promotion workflows that require coordination with project management systems.
Credentials Configuration
All Jira operations require proper authentication credentials stored in a Kubernetes Secret
.
Name | Type | Required | Description |
---|---|---|---|
credentials.secretName | string | Y | Name of the Secret containing the Jira credentials in the project namespace. |
The referenced Secret
should contain the following keys:
domain
: The domain of your Jira instance or Jira api (e.g.,https://yourcompany.atlassian.net
)username
: Your Jira username or emailpassword
: Your Jira API token or password
Issue Management
Create Issue
Creates a new Jira issue with specified details.
Configuration
Name | Type | Required | Description |
---|---|---|---|
createIssue.projectKey | string | Y | The key of the Jira project where the issue will be created. |
createIssue.summary | string | Y | The summary or title of the issue. |
createIssue.description | string | N | The description of the issue. Supports markdown formatting. |
createIssue.adfDescription | object | N | ADF (Atlassian Document Format) content for complex formatting. Alternative to description . |
createIssue.issueType | string | N | The type of issue to create (e.g., 'Bug', 'Task', 'Story'). |
createIssue.assigneeEmail | string | N | Email of the user to assign the issue to. |
createIssue.labels | array | N | Labels to add to the issue for categorization. |
createIssue.customFields | object | N | Custom fields to set. Keys should match Jira custom field IDs. |
createIssue.issueAlias | string | N | Override for the freight metadata key used to reference the created issue id. Defaults to jira-issue-key . |
Output
Name | Type | Description |
---|---|---|
key | string | The key/id of the created Jira issue (e.g., EXT-123). |
Example
This example creates a new Jira issue to track a promotion, assigns it to a team member, and adds relevant labels.
steps:
- uses: jira
as: create-promotion-issue
config:
credentials:
secretName: jira-credentials
createIssue:
projectKey: PROMOTE
summary: "Promote ${{ imageFrom(vars.imageRepo).Tag }} to ${{ ctx.stage }}"
description: "Promoteing ${{ imageFrom(vars.imageRepo).RepoURL }}:${{ imageFrom(vars.imageRepo).Tag }} to ${{ ctx.stage }} environment. Promotion ID: ${{ ctx.promotion }}. Freight: ${{ ctx.targetFreight.name }}."
issueType: Task
assigneeEmail: devops@company.com
labels:
- promotion
- "${{ ctx.stage }}"
- "release-${{ imageFrom(vars.imageRepo).Tag }}"
# Use the created issue key in subsequent steps
- uses: jira
config:
credentials:
secretName: jira-credentials
updateIssue:
issueKey: "${{ outputs['create-promotion-issue'].key }}"
status: "IN PROGRESS"
Update Issue
Updates an existing Jira issue with new information.
Configuration
Name | Type | Required | Description |
---|---|---|---|
updateIssue.issueKey | string | Y | The Jira Issue Key (e.g., EXT-123). |
updateIssue.summary | string | N | Updated summary or title of the issue. |
updateIssue.description | string | N | Updated description. Supports markdown formatting. |
updateIssue.adfDescription | object | N | ADF content for complex formatting. Alternative to description . |
updateIssue.issueType | string | N | Updated issue type. |
updateIssue.assigneeEmail | string | N | Email of the user to assign the issue to. |
updateIssue.status | string | N | Status to set for the issue (e.g., 'IN PROGRESS', 'DONE'). |
updateIssue.addLabels | array | N | Labels to add to the issue. |
updateIssue.removeLabels | array | N | Labels to remove from the issue. |
updateIssue.customFields | object | N | Custom fields to update. |
Output
This step does not produce any output.