第24章 Jira
プロデューサーとコンシューマーの両方がサポート対象
JIRA コンポーネントは、Atlassian の REST Java Client for JIRA をカプセル化することにより、JIRA API と対話します。現在、新しい問題と新しいコメントのポーリングを提供しています。また、新しい課題の作成、コメントの追加、課題の変更、ウォッチャーの追加/削除、添付ファイルの追加、課題の状態の遷移も行うことができます。
このエンドポイントは Webhook ではなく、単純なポーリングに依存しています。理由は次のとおりです。
- 信頼性安定性への懸念
- 通常、ポーリングするペイロードの種類は大きくありません (さらに、ページングは API で利用できます)。
- Webhook が失敗するような一般公開されていない場所で実行されているアプリをサポートする必要性
JIRA API はかなり拡張性があることに注意してください。したがって、このコンポーネントを簡単に拡張して、追加の相互作用を提供できます。
Maven ユーザーは、このコンポーネントの pom.xml に以下の依存関係を追加する必要があります。
<dependency> <groupId>org.apache.camel</groupId> <artifactId>camel-jira</artifactId> <version>${camel-version}</version> </dependency>
24.1. URI 形式
jira://type[?options]
Jira タイプは次の操作を受け入れます。
コンシューマー向け:
- newIssues: ルートの開始後に新しい課題のみを取得します
- newComments: ルートの開始後に新しいコメントのみを取得します
- watchUpdates: 提供された jql に基づいて、更新されたフィールド/課題のみを取得します
生産者向け:
- addIssue: 問題を追加します
- addComment: 特定の問題にコメントを追加します
- attach: 特定の問題に添付ファイルを追加します
- deleteIssue: 特定の問題を削除します
- updateIssue: 特定の問題の更新フィールド
- transitionIssue: 特定の問題のステータスを移行します
- ウォッチャー: 特定の問題のウォッチャーを追加/削除します
Jira は完全にカスタマイズ可能であるため、異なる Jira サーバー間で変更される可能性があるため、プロジェクトとワークフローのフィールド ID が存在することを確認する必要があります。