Chapter 36. Jira Transition Issue Sink
Sets a new status (transition to) of an existing issue in Jira.
The Kamelet expects the following headers to be set:
-
issueKey/ce-issueKey: as the issue unique code. -
issueTransitionId/ce-issueTransitionId: as the new status (transition) code. You should carefully check the project workflow as each transition may have conditions to check before the transition is made.
The comment of the transition is set in the body of the message.
To authenticate, a username/password or personal token must be defined. We recommend to use personal token as it is a safer way to get access to Jira.
36.1. Configuration Options Copy linkLink copied to clipboard!
The following table summarizes the configuration options available for the jira-transition-issue-sink Kamelet:
| Property | Name | Description | Type | Default | Example |
|---|---|---|---|---|---|
| jiraUrl * | Jira URL | The URL of your instance of Jira | string | ||
| password | Password | The password to access Jira | string | ||
| personal-token | Personal Token | Personal Token | string | ||
| username | Username | The username to access Jira | string |
* = Fields marked with an asterisk are mandatory.
36.2. Dependencies Copy linkLink copied to clipboard!
36.2.1. Quarkus dependencies Copy linkLink copied to clipboard!
<dependencies>
<dependency>
<groupId>org.apache.camel.quarkus</groupId>
<artifact>camel-quarkus-core</artifact>
</dependency>
<dependency>
<groupId>org.apache.camel.quarkus</groupId>
<artifact>camel-quarkus-jackson</artifact>
</dependency>
<dependency>
<groupId>org.apache.camel.quarkus</groupId>
<artifact>camel-quarkus-jira</artifact>
</dependency>
<dependency>
<groupId>org.apache.camel.quarkus</groupId>
<artifact>camel-quarkus-kamelet</artifact>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.datatype</groupId>
<artifact>jackson-datatype-joda</artifact>
<version>2.12.5</version>
</dependency>
<dependency>
<groupId>org.apache.camel.kamelets</groupId>
<artifact>camel-kamelets-utils</artifact>
<version>4.8.5</version>
</dependency>
</dependencies>
36.3. Usage Copy linkLink copied to clipboard!
36.3.1. Camel JBang usage Copy linkLink copied to clipboard!
36.3.1.1. Prerequisites for JBang Copy linkLink copied to clipboard!
- Install JBang.
You have executed the following command:
jbang app install camel@apache/camel
36.3.1.2. Running a route with JBang Copy linkLink copied to clipboard!
Suppose you have a file named route.yaml with this content:
- route:
from:
uri: "kamelet:timer-source"
parameters:
period: 10000
message: 'test'
steps:
- to:
uri: "kamelet:log-sink"
You can now run it directly through the following command.
camel run route.yaml
36.3.2. Knative Sink Copy linkLink copied to clipboard!
You can use the jira-transition-issue-sink Kamelet as a Knative sink by binding it to a Knative object.
jira-transition-issue-sink-binding.yaml
apiVersion: camel.apache.org/v1
kind: Pipe
metadata:
name: jira-transition-issue-sink-binding
spec:
source:
ref:
kind: KafkaTopic
apiVersion: kafka.strimzi.io/v1beta1
name: my-topic
steps:
- ref:
kind: Kamelet
apiVersion: camel.apache.org/v1
name: insert-header-action
properties:
name: "issueTransitionId"
value: 701
- ref:
kind: Kamelet
apiVersion: camel.apache.org/v1
name: insert-header-action
properties:
name: "issueKey"
value: "MYP-162"
sink:
ref:
kind: Channel
apiVersion: messaging.knative.dev/v1
name: mychannel
properties:
jiraUrl: "jira server url"
username: "username"
password: "password"
36.3.3. Kafka Sink Copy linkLink copied to clipboard!
You can use the jira-transition-issue-sink Kamelet as a Kafka sink by binding it to a Kafka topic.
jira-transition-issue-sink-binding.yaml
apiVersion: camel.apache.org/v1
kind: Pipe
metadata:
name: jira-transition-issue-sink-binding
spec:
source:
ref:
kind: KafkaTopic
apiVersion: kafka.strimzi.io/v1beta1
name: my-topic
steps:
- ref:
kind: Kamelet
apiVersion: camel.apache.org/v1
name: insert-header-action
properties:
name: "issueTransitionId"
value: 701
- ref:
kind: Kamelet
apiVersion: camel.apache.org/v1
name: insert-header-action
properties:
name: "issueKey"
value: "MYP-162"
sink:
ref:
kind: Kamelet
apiVersion: camel.apache.org/v1
name: jira-transition-issue-sink
properties:
jiraUrl: "jira server url"
username: "username"
password: "password"