Watcher Jira アクション

jira アクションを使用して、Atlassian の Jira Software に課題を作成します。課題を作成するには、elasticsearch.yml少なくとも 1 つの Jira アカウントを設定する必要があります

Jira アクションの設定

actions 配列で Jira アクションを設定します。アクション固有の属性は jira キーワードを使用して指定されます。

次のスニペットは、シンプルな Jira アクションの定義を示しています:

Js

  1. "actions" : {
  2. "create-jira-issue" : {
  3. "transform" : { ... },
  4. "throttle_period" : "5m",
  5. "jira" : {
  6. "account" : "integration-account",
  7. "fields" : {
  8. "project" : {
  9. "key": "PROJ"
  10. },
  11. "issuetype" : {
  12. "name": "Bug"
  13. },
  14. "summary" : "Encountered {{ctx.payload.hits.total}} errors in the last 5 minutes",
  15. "description" : "Encountered {{ctx.payload.hits.total}} errors in the last 5 minutes (facepalm)",
  16. "labels" : ["auto"],
  17. "priority" : {
  18. "name" : "High"
  19. }
  20. }
  21. }
  22. }
  23. }
elasticsearch.yml で設定された Jira アカウントの名前。
課題が作成される Jira プロジェクトのキー。
課題タイプの名前。
Jira 課題の要約。
Jira 課題の説明。
Jira 課題に適用するラベル。
Jira 課題の優先度。

Jira アクション属性

Jira プロジェクトの設定方法によって、課題には多くの異なるフィールドと値がある場合があります。したがって、jira アクションは、その issue フィールド内の任意のタイプのサブフィールドを受け入れることができます。これらのフィールドは、Jira の Create Issue API を呼び出す際に直接使用され、任意のカスタムフィールドを使用できるようになります。

project.key (または project.id)、issuetype.name (または issuetype.id)、および issue.summary は、Jira で課題を作成するために常に必要です。

名前 必須 説明
account いいえ メッセージを送信するために使用する Jira アカウント。
proxy.host いいえ 使用するプロキシホスト (proxy.port と組み合わせてのみ)
proxy.port いいえ 使用するプロキシポート (proxy.host と組み合わせてのみ)
fields.project.key はい 課題が作成される Jira プロジェクトのキー。

それは、プロジェクトの識別子が知られている場合、issue.project.id に置き換えることができます。 |
| fields.issuetype.name | はい | 課題のタイプを識別する名前。Jira は、BugTaskStoryNew Feature などのデフォルトの課題タイプを提供します。それは、タイプの識別子が知られている場合、issue.issuetype.id に置き換えることができます。 |
| fields.summary | はい | 課題の要約 (またはタイトル)。 |
| fields.description | いいえ | 課題の説明。 |
| fields.labels | いいえ | Jira 課題に適用するラベル。 |
| fields.priority.name | いいえ | Jira 課題の優先度。Jira はデフォルトの HighMedium および Low 優先度レベルを提供します。 |
| fields.assignee.name | いいえ | 課題を割り当てるユーザーの名前。 |
| fields.reporter.name | いいえ | 課題の報告者として識別されるユーザーの名前。
デフォルトはユーザーアカウントです。 |
| fields.environment | いいえ | 課題に関連する環境の名前。 |
| fields.customfield_XXX | いいえ | 課題のカスタムフィールド XXX (例: “customfield_10000”: “09/Jun/81”) |

Jira アカウントの設定

Watcher が Jira と通信するために使用できるアカウントを xpack.notification.jira 名前空間で elasticsearch.yml に設定します。

Watcher は Jira Software の基本認証をサポートしています。Jira アカウントを設定するには、(see secure settings) を指定する必要があります:

Yaml

  1. bin/elasticsearch-keystore add xpack.notification.jira.account.monitoring.secure_url
  2. bin/elasticsearch-keystore add xpack.notification.jira.account.monitoring.secure_user
  3. bin/elasticsearch-keystore add xpack.notification.jira.account.monitoring.secure_password

設定ファイルやクラスター設定に機密データ (urluserpassword) を保存することは安全ではなく、非推奨です。代わりに Elasticsearch の安全な keystore メソッドを使用してください。

ネットワーク上で平文で送信される資格情報を避けるために、Watcher は平文 HTTP プロトコルに基づく url 設定 (例: http://internal-jira.elastic.co) を拒否します。このデフォルトの動作は、明示的な allow_http 設定で無効にできます:

url フィールドには、課題を作成するために使用されるパスも含めることができます。デフォルトでは /rest/api/2/issue です。これを設定する場合は、このパスが課題を作成するためのエンドポイントへの完全なパスであることを確認してください。

Yaml

  1. xpack.notification.jira:
  2. account:
  3. monitoring:
  4. allow_http: true

安全な HTTPS プロトコルでのみ基本認証を使用することを強くお勧めします。

Jira 課題 のデフォルトを指定することもできます:

Yaml

  1. xpack.notification.jira:
  2. account:
  3. monitoring:
  4. issue_defaults:
  5. project:
  6. key: proj
  7. issuetype:
  8. name: Bug
  9. summary: "X-Pack Issue"
  10. labels: ["auto"]

複数の Jira アカウントを設定する場合は、デフォルトアカウントを設定するか、通知を送信するアカウントを jira アクションで指定する必要があります。

Yaml

  1. xpack.notification.jira:
  2. default_account: team1
  3. account:
  4. team1:
  5. ...
  6. team2:
  7. ...