Fuse 6 is no longer supported
As of February 2025, Red Hat Fuse 6 is no longer supported. If you are using Fuse 6, please upgrade to Red Hat build of Apache Camel.第83章 JIRA
JIRA コンポーネント リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
Camel 2.15 以降で利用可能
JIRA コンポーネントは、JIRA の Atlassian の REST Java Client をカプセル化することで 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>
<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-jira</artifactId>
<version>${camel-version}</version>
</dependency>
URI 形式 リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
jira://endpoint[?options]
jira://endpoint[?options]
必須オプション: リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
これらは エンドポイントで直接設定できることに注意してください。
オプション
|
説明
|
---|---|
serverUrl | JIRA ホストサーバーの URL |
username
|
JIRA ユーザー名
|
password
|
JIRA password
|
コンシューマーエンドポイント: リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
エンドポイント
|
コンテキスト
|
ボディタイプ
|
---|---|---|
newIssue
|
ポーリング
|
com.atlassian.jira.rest.client.domain.BasicIssue
|
newComment
|
ポーリング
|
com.atlassian.jira.rest.client.domain.Comment
|
プロデューサーエンドポイント: リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
エンドポイント
|
本文
| 必要なメッセージヘッダー |
---|---|---|
pullRequestComment
|
文字列(説明を発行)
|
|
URI オプション: リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
名前
|
デフォルト値
|
説明
|
---|---|---|
delay
|
60
|
秒単位
|
jql | コンシューマーエンドポイントによって使用されます。詳細は以下を参照してください。 |
JQL: リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
JQL URI オプションは、両方のコンシューマーエンドポイントによって使用されます。理論的には、プロジェクトキーなどのアイテムは URI オプション自体である可能性があります。ただし、JQL の使用を要求すると、コンシューマーはより柔軟で強力になります。
少なくとも、コンシューマーには以下が必要です。
jira://[endpoint]?[required options]&jql=project=[project key]
jira://[endpoint]?[required options]&jql=project=[project key]
注意すべき重要なことは、newIssue コンシューマーが JQL に "ORDER BY key desc" を自動的に追加することです。これは、プロジェクト内のすべての問題をインデックス化する必要なく、起動処理を最適化するために行われます。
別の注意点として、newComment コンシューマーはすべての問題をインデックス化し、プロジェクトのコメント を 送る必要があります。そのため、大規模なプロジェクトでは、JQL 式を可能 な 限り最適化することが重要です。たとえば、JIRA Toolkit プラグインには、"Number of comments" カスタムフィールド -- use '"Number of comments" > 0' がクエリーに含まれます。また、状態(status=Open)に基づいて最小化を試み、ポーリングの遅延などを増やします。以下に例を示します。
jira://[endpoint]?[required options]&jql=RAW(project=[project key] AND status in (Open, \"Coding In Progress\") AND \"Number of comments\">0)"
jira://[endpoint]?[required options]&jql=RAW(project=[project key] AND status in (Open, \"Coding In Progress\") AND \"Number of comments\">0)"