> For the complete documentation index, see llms.txt.
Skip to main content

Check out Port for yourself ➜ 

Jira

Jira integration actions allow workflows to create issues directly in Jira using your installed Jira integration.

Prerequisites

  • A Jira integration installed in your Port organization.
  • The target Jira project and issue type must exist in your Jira site.
  • Your Jira credentials must have permission to create issues in the target project.
  • Actions processing must be enabled on your integration:
    • Hosted by Port / UI / OAuth installations: actions processing is enabled automatically.
    • Self-hosted (Helm or Docker): actions processing is disabled by default and must be explicitly enabled. See Enable actions processing (self-hosted) below.

Enable actions processing (self-hosted)

If you installed the Jira Ocean integration as hosted by Port (via the UI or OAuth), actions processing is enabled automatically and you can skip to Configuration.

For self-hosted deployments (Kubernetes/Helm or Docker), the actions processor is disabled by default. You need to enable it explicitly using the flags below, depending on how you deployed the integration:

Pass the following flags when installing or upgrading the Helm chart:

helm upgrade --install jira port-labs/port-ocean \
--set actionsProcessor.enabled=true \
# ... rest of your values

actionsProcessor.enabled=true - enables the actions processor so the integration can receive and execute Jira issue creation requests from Port.

Configuration

FieldTypeDescription
typestringRequired. Must be "INTEGRATION_ACTION"
installationIdstringRequired. Your Jira integration installation ID
integrationProviderstringRequired. Must be "jira"
integrationInvocationTypeenumRequired. One of the values listed in available actions
integrationActionExecutionPropertiesobjectRequired. Jira-specific configuration

The remaining sections describe the execution properties of the action.

Available actions

Currently, Jira integration actions support one operation:

ActionInvocation typeDescription
Create an issuecreate_issueCreate an issue in a Jira project

Create an issue

Creates an issue in a Jira project. Set integrationInvocationType to create_issue.

Execution properties

FieldTypeDescription
projectstringRequired. Jira project key (for example, OPS)
issueTypestringRequired. Issue type name (for example, Bug or Task)
summarystringRequired. Issue summary
descriptionstringIssue description
prioritystringIssue priority name (for example, High)
assigneeAccountIdstringAtlassian account ID of the assignee. Use the account ID, not the user's email address

Basic example

Create a Jira issue (click to expand)

Create a Jira issue from a self-service trigger, passing project, issue type, and summary from the form inputs:

{
"identifier": "create-jira-issue",
"title": "Create Jira Issue",
"config": {
"type": "INTEGRATION_ACTION",
"installationId": "your-installation-id",
"integrationProvider": "jira",
"integrationInvocationType": "create_issue",
"integrationActionExecutionProperties": {
"project": "{{ .outputs.trigger.project }}",
"issueType": "{{ .outputs.trigger.issue_type }}",
"summary": "{{ .outputs.trigger.summary }}",
"description": "{{ .outputs.trigger.description }}"
}
}
}

Dynamic field values

Dynamic field values (click to expand)

Map workflow outputs into issue fields when you need values from earlier steps:

{
"integrationActionExecutionProperties": {
"project": "{{ .outputs.fetch_service.jira_project }}",
"issueType": "Task",
"summary": "[Port] {{ .outputs.trigger.title }}",
"description": "Created from workflow run {{ .workflowRun.identifier }}",
"priority": "High",
"assigneeAccountId": "{{ .outputs.fetch_owner.account_id }}"
}
}
Find assignee account IDs

If you ingest Jira users into Port, the jiraUser blueprint stores each user's Atlassian account ID. You can resolve it from catalog data in an earlier workflow step and pass it to assigneeAccountId.

Complete workflow examples

A self-service workflow that creates a Jira issue from form inputs:

Workflow example (click to expand)
{
"identifier": "report-work-item",
"title": "Report Work Item",
"icon": "Jira",
"description": "Create a Jira issue from a self-service form",
"nodes": [
{
"identifier": "trigger",
"title": "Report Work Item",
"config": {
"type": "SELF_SERVE_TRIGGER",
"userInputs": {
"properties": {
"project": {
"type": "string",
"title": "Project key"
},
"issue_type": {
"type": "string",
"title": "Issue type",
"default": "Task"
},
"summary": {
"type": "string",
"title": "Summary"
},
"description": {
"type": "string",
"title": "Description",
"format": "markdown"
}
},
"required": ["project", "issue_type", "summary"]
}
}
},
{
"identifier": "create-jira-issue",
"title": "Create Jira Issue",
"config": {
"type": "INTEGRATION_ACTION",
"installationId": "jira-integration-123",
"integrationProvider": "jira",
"integrationInvocationType": "create_issue",
"integrationActionExecutionProperties": {
"project": "{{ .outputs.trigger.project }}",
"issueType": "{{ .outputs.trigger.issue_type }}",
"summary": "{{ .outputs.trigger.summary }}",
"description": "{{ .outputs.trigger.description }}"
}
}
}
],
"connections": [
{
"sourceIdentifier": "trigger",
"targetIdentifier": "create-jira-issue"
}
]
}

Limitations

  • Jira Cloud only: This action uses Port's Jira Cloud integration. For Jira Server (self-hosted), use a webhook node that calls the Jira REST API directly.
  • Secrets not supported: Integration actions do not support organization secrets or encrypted user inputs in JQ templates. See the integration actions overview.