CircleCI と統合する
統合でできるようになること
Jira Service Management は、CircleCI との特定の API 統合を持っています。CircleCI は、ビルドの結果と詳細を Jira Service Management の API に送信します。Jira Service Management は CircleCI のビルド エラーのディスパッチャーであり、オンコール スケジュールに基づいて通知すべき担当者を決定します。メール、テキスト メッセージ (SMS)、電話、iPhone や Android のプッシュ通知による通知を行い、アラートが確認されるかクローズされるまでアラートをエスカレートします。
統合による機能
CircleCI で結果が success と一致しない場合は、統合を通じて Jira Service Management でアラートが自動的に作成されます。
CircleCI で結果が success と一致する場合は、統合を通じて Jira Service Management の対応するアラート (存在する場合) が自動的にクローズされます。
統合をセットアップする
CircleCI は API 統合です。設定は次の手順で行います。
Jira Service Management で CircleCI 統合を追加する
CircleCI で統合を設定する
CircleCI 統合を追加する
The following capabilities are available in Jira Service Management Premium and Enterprise:
双方向の統合
Outgoing integrations at the team level
Integrations at a site level through Settings (icon) > Products (under Jira settings) > Operations
To access Jira Service Management Premium features, you must subscribe to a Service Collection Premium or Enterprise plan.
Adding an integration from your team’s operations page makes your team the owner of the integration. This means Jira Service Management only assigns the alerts received through this integration to your team.
Jira Service Management で CircleCI 統合を追加するには、次の手順に従います。
Next to Operations in the sidebar, select More actions (), then General configuration.
Select Integrations and then Add integration.
検索を実行して [CircleCI] を選択します。
次の画面で、統合の名前を入力します。
オプション: 特定のチームが統合からのアラートを受信するようにする場合は、[Assignee team (担当者チーム)] のチームを選択します。
[Continue] を選択します。
この時点で、統合が保存されます。[統合を設定する手順] セクションを展開して、API キーをコピーします。
このキーは、後ほど CircleCI で統合を設定する際に使用します。[統合をオンにする] を選択します。
統合のために作成したルールは、統合をオンにした場合にのみ機能します。
CircleCI で統合を設定する
CircleCI と Jira Service Management の統合を設定するには、次の手順に従います。
circle.yml ファイルに次の設定を追加しますファイル内)。
{API_KEY} を前にコピーした API キーに置き換えてください。
テキスト
notify:
webhooks:
- url: https://api.atlassian.com/jsm/ops/integration/v1/json/integrations/webhooks/circleci?apiKey=${API_KEY}
CircleCI から送信されるペイロードの例
アラートのペイロードを作成する
JSON
{
"id": "8bd71c28-4969-3677-8940-3e3a61c46660",
"type": "job-completed",
"happened_at": "2021-09-01T22:49:34.279Z",
"webhook": {
"id": "cf8c4fdd-0587-4da1-b4ca-4846e9640af9",
"name": "Sample Webhook"
},
"project": {
"id": "84996744-a854-4f5e-aea3-04e2851dc1d2",
"name": "webhook-service",
"slug": "github/circleci/webhook-service"
},
"organization": {
"id": "f22b6566-597d-46d5-ba74-99ef5bb3d85c",
"name": "circleci"
},
"pipeline": {
"id": "1285fe1d-d3a6-44fc-8886-8979558254c4",
"number": 130,
"created_at": "2021-09-01T22:49:03.544Z",
"trigger": {
"type": "webhook"
},
"vcs": {
"provider_name": "github",
"origin_repository_url": "https://github.com/circleci/webhook-service",
"target_repository_url": "https://github.com/circleci/webhook-service",
"revision": "1dc6aa69429bff4806ad6afe58d3d8f57e25973e",
"commit": {
"subject": "Description of change",
"body": "More details about the change",
"author": {
"name": "Author Name",
"email": "author.email@example.com"
},
"authored_at": "2021-09-01T22:48:53Z",
"committer": {
"name": "Committer Name",
"email": "committer.email@example.com"
},
"committed_at": "2021-09-01T22:48:53Z"
},
"branch": "main"
}
},
"workflow": {
"id": "fda08377-fe7e-46b1-8992-3a7aaecac9c3",
"name": "welcome",
"created_at": "2021-09-01T22:49:03.616Z",
"stopped_at": "2021-09-01T22:49:34.170Z",
"url": "https://app.circleci.com/pipelines/github/circleci/webhook-service/130/workflows/fda08377-fe7e-46b1-8992-3a7aaecac9c3"
},
"job": {
"id": "8b91f9a8-7975-4e60-916c-f0152ccbc937",
"name": "test",
"started_at": "2021-09-01T22:4:28.841Z",
"stopped_at": "2021-09-01T22:49:34.170Z",
"status": "success",
"number": 136
}
}
Jira Service Management ではペイロードは次のように解析されます。
JSON
{
"id": "8bd71c28-4969-3677-8940-3e3a61c46660",
"type": "job-completed",
"happened_at": "2021-09-01T22:49:34.279Z",
"webhook_id": "cf8c4fdd-0587-4da1-b4ca-4846e9640af9",
"webhook_name": "Sample Webhook",
"project_id": "84996744-a854-4f5e-aea3-04e2851dc1d2",
"project_name": "webhook-service",
"project_slug": "github/circleci/webhook-service"
"pipeline_id": "1285fe1d-d3a6-44fc-8886-8979558254c4",
"pipeline_number": 130,
"pipeline_created_at": "2021-09-01T22:49:03.544Z",
"pipeline_trigger_type": "webhook"
"provider_name": "github",
"repository_url": "https://github.com/circleci/webhook-service",
"revision": "1dc6aa69429bff4806ad6afe58d3d8f57e25973e",
"subject": "Description of change",
"body": "More details about the change",
"author_name": "Author Name",
"author_email": "author.email@example.com",
"authored_at": "2021-09-01T22:48:53Z",
"committer_name": "Committer Name",
"committer_email": "committer.email@example.com"
"committed_at": "2021-09-01T22:48:53Z"
"branch": "main",
"workflow_id": "fda08377-fe7e-46b1-8992-3a7aaecac9c3",
"workflow_name": "welcome",
"workflow_created_at": "2021-09-01T22:49:03.616Z",
"workflow_stopped_at": "2021-09-01T22:49:34.170Z",
"workflow_url": "https://app.circleci.com/pipelines/github/circleci/webhook-service/130/workflows/fda08377-fe7e-46b1-8992-3a7aaecac9c3",
"job_id": "8b91f9a8-7975-4e60-916c-f0152ccbc937",
"job_name": "test",
"job_started_at": "2021-09-01T22:49:28.841Z",
"job_stopped_at": "2021-09-01T22:49:34.170Z",
"job_status": "success",
"job_number": 136
}
この内容はお役に立ちましたか?