ユーザーとして Opsgenie の利用を開始する
プロフィールの設定、Opsgenie からの通知の取得、オンコール スケジュールの表示に関するすべての方法を説明します。
Opsgenie には、Opsgenie と Jira の双方向のインテグレーションを可能にする特定の更新セットがあります。インテグレーションを使用して、Jira に詳細情報と共に問題を Opsgenie に送信させます。Opsgenie はアラートを問題として Jira に転送します。Opsgenie は、オンコール スケジュールに基づいて通知する適切な担当者を決定します。メール、テキスト メッセージ (SMS)、電話、iOS、Android のプッシュ通知によって通知し、アラートが確認されるかクローズされるまでアラートをエスカレートします。
Opsgenie は、Jira On-Premise ユーザーが Opsgenie アラートを Jira に送信するための OEC ソリューションを提供します。詳細については、Jira でのアラートからの問題の作成のブログ投稿を参照してください。
Jira で問題が作成または再オープンされると、インテグレーションによって Opsgenie でアラートが自動で作成されます。
Jira で問題が解決、クローズ、または修正されると、Opsgenie で関連するアラートが自動的にクローズされます。
Jira の問題にコメントが追加されると、Opsgenie の関連アラートにメモが追加されます。
[アラート更新を Jira に返送する] が有効な場合、Jira インテグレーションで作成されたアラートに対して選択したアクションが Opsgenie で実行されると、Jira のアクションが Jira で実行されます。
[Opsgenie アラート用の Jira の問題を作成する] が有効になっている場合、Jira 以外のソースを持つアラートに対して選択したアクションが Opsgenie で実行されると、Jira のアクションが Jira で実行されます。
このアクション マッピング機能の詳細については、以下の「アクション マッピング機能」セクションで説明します。
Opsgenie の Free プランまたは Essentials プランを使用している、または Jira Service Management の Standard プランで Opsgenie を使用している場合は、チーム ダッシュボードからのみこの統合を追加できます。このプランでは、[設定] の [統合] ページが利用できません。
[チーム] に移動して自分のチームを選択します。
左側のナビゲーションで [統合] を選択し、[統合を追加] を選択します。
統合をチーム ダッシュボードから追加すると、そのチーム統合の所有者になります。Opsgenie では、この統合を通じて受信したアラートはそのチームのみに割り当てられます。このセクションの残りの手順に従って、統合を設定してください。
[設定] > [統合] の順に移動します。Jira を検索して [追加] を選択します。
統合設定で、[応答者] フィールドによって Jira アラートの通知先を指定します。入力し始めると、オートコンプリートの候補が表示されます。
Opsgenie エンドポイントと API キーを含むインテグレーション URL をコピーします。
[Save Integration (統合の保存)] を選択します。
1. Jira に管理者としてログインします。
2. ダッシュボードから [管理] メニューを開きます。[システム] を選択します。
3. 左側の [詳細設定] の下の [Webhook] を選択します。
4. [Webhook の作成] をクリックします。開いたセクションで、Opsgenie の Jira インテグレーションによって提供された URL を URL 入力に貼り付けます。[作成] をクリックします。
Webhook が設定されたので、問題に変更が加えられたときに、Jira が Opsgenie に通知します。その後、Opsgenie はアラートを作成し、追跡します。
SSO によって Jira にログインする場合は、API トークンを生成して統合設定のパスワードとして使用する必要があります。Jira で API トークンを生成する方法については「Atlassian アカウントの API トークンを管理する」をご参照ください。
新しいトークンを生成したら、Opsgenie の Jira 統合の [パスワード] フィールドにコピー & ペーストします。その後、統合を保存します。
Opsgenie では、ユーザーは Opsgenie と Jira の各アクション間のアクション マッピングを定義できます。
アクション マッピング機能を使用するには、以下に示す統合にいくつかの情報を提供します。
問題タイプ: Jira で定義されている問題タイプ。例: タスク、バグ、またはその他のカスタム定義タイプ。問題タイプの構文には、エラーがないように記述してください。
URL: Jira のドメイン名。例: https://testops.atlassian.net
ユーザー名: Jira へのログインに使用するメール アドレス。
パスワード / APIトークン: Jira へのログインに使用するパスワードまたは API トークン。
プロジェクト キー: アラートを作成するプロジェクトのキー。例: OT、OPS、SIT。プロジェクト キーは通常大文字ですので、正しい形式で記述してください。
このセクションを使用して、アラートのソースが Jira である場合に Opsgenie のアクションを Jira のアクションにマッピングします (アラートが Jira インテグレーションによって作成された場合)。
異なる Opsgenie アクションを別々の Jira アクションにマップします。たとえば、アラートが確認されたときに、Jira の問題にコメントを追加します。これを行うために、アラートが Opsgenie で確認された場合は、コメントとして Jira の問題に追加します。マッピングは、 アラート更新を送信する Jira セクションに戻ります 。
このセクションを使用して、アラートのソースが Jira でない場合、Opsgenie のアクションを Jira のアクションにマッピングします (アラートが別のインテグレーションによって作成された場合)。
このために、[Create Jira Issues for Opsgenie Alerts (Opsgenie アラート用の Jira 課題の作成)] セクションを使用します。この機能を使用するには、1 つの Opsgenie アクションを課題の作成 Jira アクションにマッピングします。Opsgenie アクションでは、アラートが作成される必要はなく、他のアクションにすることもできます。
アラートにタグが追加され、他のアクションとは異なるアラート アクションに対してカスタム アクションが実行されます。これらのアクションのいずれかを選択すると、このマッピングが機能するタグまたはカスタム アクションを入力するための追加のフィールドが表示されます。
タグをカンマで区切って、複数のタグを入力します。複数のタグを入力した場合、マッピングは、指定されたタグが 1 つ以上アラートにある場合に機能します。タグのフィールドを空のままにすると、どのタグでもマッピングが機能します。
Opsgenie アクションが複数の Jira アクションにマッピングされている場合は、タグがアラートに追加されるとカスタム アクションがアラートに対して実行されるの各アクションを除いて、エラーが発生します。マッピングが特定のタグとカスタム アクション名によって異なるため、これらのアクションに対する複数のマッピングを保存します。
Opsgenie Jira インテグレーションでは、問題のステータスを Jira で [進行中]、[解決済み]、[完了]、または [終了] に設定できます。ただし、プロジェクトのワークフローでトランジションが許可されていない場合、Opsgenie を使用してトランジションを設定することもできません。
JSON
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
{
"webhookEvent": "jira:issue_created",
"user": {
"self": "https://ifountain.atlassian.net/rest/api/2/user?username=msener",
"name": "msener",
"emailAddress": "mustafa.sener@ifountain.com",
"avatarUrls": {
"16x16": "https://ifountain.atlassian.net/secure/useravatar?size=xsmall&avatarId=10122",
"24x24": "https://ifountain.atlassian.net/secure/useravatar?size=small&avatarId=10122",
"32x32": "https://ifountain.atlassian.net/secure/useravatar?size=medium&avatarId=10122",
"48x48": "https://ifountain.atlassian.net/secure/useravatar?avatarId=10122"
},
"displayName": "Mustafa Sener",
"active": true
},
"issue": {
"id": "11601",
"self": "https://ifountain.atlassian.net/rest/api/2/issue/11601",
"key": "NAAS-155",
"fields": {
"summary": "test bug issuy",
"progress": {
"progress": 0,
"total": 0
},
"timetracking": {},
"issuetype": {
"self": "https://ifountain.atlassian.net/rest/api/2/issuetype/1",
"id": "1",
"description": "A problem which impairs or prevents the functions of the product.",
"iconUrl": "https://ifountain.atlassian.net/images/icons/issuetypes/bug.png",
"name": "Bug",
"subtask": false
},
"timespent": null,
"reporter": {
"self": "https://ifountain.atlassian.net/rest/api/2/user?username=msener",
"name": "msener",
"emailAddress": "mustafa.reporter@ifountain.com",
"avatarUrls": {
"16x16": "https://ifountain.atlassian.net/secure/useravatar?size=xsmall&avatarId=10122",
"24x24": "https://ifountain.atlassian.net/secure/useravatar?size=small&avatarId=10122",
"32x32": "https://ifountain.atlassian.net/secure/useravatar?size=medium&avatarId=10122",
"48x48": "https://ifountain.atlassian.net/secure/useravatar?avatarId=10122"
},
"displayName": "Mustafa Sener",
"active": true
},
"created": "2014-02-12T09:59:28.107-0500",
"updated": "2014-02-12T09:59:28.107-0500",
"priority": {
"self": "https://ifountain.atlassian.net/rest/api/2/priority/3",
"iconUrl": "https://ifountain.atlassian.net/images/icons/priorities/major.png",
"name": "Major",
"id": "3"
},
"description": "test deskriptin",
"issuelinks": [],
"customfield_10000": "126",
"status": {
"self": "https://ifountain.atlassian.net/rest/api/2/status/1",
"description": "The issue is open and ready for the assignee to start work on it.",
"iconUrl": "https://ifountain.atlassian.net/images/icons/statuses/open.png",
"name": "Open",
"id": "1",
"statusCategory": {
"self": "https://ifountain.atlassian.net/rest/api/2/statuscategory/2",
"id": 2,
"key": "new",
"colorName": "blue-gray",
"name": "New"
}
},
"labels": [
"label2",
"label3",
"label1"
],
"workratio": -1,
"project": {
"self": "https://ifountain.atlassian.net/rest/api/2/project/10100",
"id": "10100",
"key": "NAAS",
"name": "Nofications as a Service",
"avatarUrls": {
"16x16": "https://ifountain.atlassian.net/secure/projectavatar?size=xsmall&pid=10100&avatarId=10011",
"24x24": "https://ifountain.atlassian.net/secure/projectavatar?size=small&pid=10100&avatarId=10011",
"32x32": "https://ifountain.atlassian.net/secure/projectavatar?size=medium&pid=10100&avatarId=10011",
"48x48": "https://ifountain.atlassian.net/secure/projectavatar?pid=10100&avatarId=10011"
}
},
"environment": "env",
"lastViewed": null,
"components": [
{
"self": "https://ifountain.atlassian.net/rest/api/2/component/10006",
"id": "10006",
"name": "Admin Web Application"
},
{
"self": "https://ifountain.atlassian.net/rest/api/2/component/10000",
"id": "10000",
"name": "Data Collector"
},
{
"self": "https://ifountain.atlassian.net/rest/api/2/component/10002",
"id": "10002",
"name": "Mobile App"
}
],
"comment": {
"startAt": 0,
"maxResults": 0,
"total": 0,
"comments": []
},
"timeoriginalestimate": null,
"votes": {
"self": "https://ifountain.atlassian.net/rest/api/2/issue/NAAS-155/votes",
"votes": 0,
"hasVoted": false
},
"fixVersions": [
{
"self": "https://ifountain.atlassian.net/rest/api/2/version/10000",
"id": "10000",
"description": "Private BETA",
"name": "v0.1",
"archived": false,
"released": false,
"releaseDate": "2012-01-31"
},
{
"self": "https://ifountain.atlassian.net/rest/api/2/version/10100",
"id": "10100",
"description": "Public Beta",
"name": "v0.2",
"archived": false,
"released": false
},
{
"self": "https://ifountain.atlassian.net/rest/api/2/version/10200",
"id": "10200",
"description": "First release of the iPhone app",
"name": "iPhone v0.1",
"archived": false,
"released": false,
"releaseDate": "2012-04-27"
}
],
"resolution": null,
"resolutiondate": null,
"creator": {
"self": "https://ifountain.atlassian.net/rest/api/2/user?username=msener",
"name": "msener",
"emailAddress": "mustafa.sener@ifountain.com",
"avatarUrls": {
"16x16": "https://ifountain.atlassian.net/secure/useravatar?size=xsmall&avatarId=10122",
"24x24": "https://ifountain.atlassian.net/secure/useravatar?size=small&avatarId=10122",
"32x32": "https://ifountain.atlassian.net/secure/useravatar?size=medium&avatarId=10122",
"48x48": "https://ifountain.atlassian.net/secure/useravatar?avatarId=10122"
},
"displayName": "Mustafa Sener",
"active": true
},
"duedate": "2014-02-28",
"watches": {
"self": "https://ifountain.atlassian.net/rest/api/2/issue/NAAS-155/watchers",
"watchCount": 0,
"isWatching": false
},
"worklog": {
"startAt": 0,
"maxResults": 20,
"total": 0,
"worklogs": []
},
"customfield_10103": null,
"customfield_10601": "Not Started",
"customfield_10102": null,
"customfield_10101": null,
"customfield_10600": null,
"customfield_10100": null,
"customfield_10506": null,
"assignee": {
"self": "https://ifountain.atlassian.net/rest/api/2/user?username=mberkay",
"name": "mberkay",
"emailAddress": "mberkay.assignee@gmail.com",
"avatarUrls": {
"16x16": "https://ifountain.atlassian.net/secure/useravatar?size=xsmall&avatarId=10122",
"24x24": "https://ifountain.atlassian.net/secure/useravatar?size=small&avatarId=10122",
"32x32": "https://ifountain.atlassian.net/secure/useravatar?size=medium&avatarId=10122",
"48x48": "https://ifountain.atlassian.net/secure/useravatar?avatarId=10122"
},
"displayName": "Berkay M",
"active": true
},
"customfield_10505": null,
"attachment": [],
"customfield_10504": null,
"customfield_10503": null,
"customfield_10502": null,
"customfield_10200": "110",
"customfield_10501": null,
"customfield_10500": null,
"versions": [
{
"self": "https://ifountain.atlassian.net/rest/api/2/version/10000",
"id": "10000",
"description": "Private BETA",
"name": "v0.1",
"archived": false,
"released": false,
"releaseDate": "2012-01-31"
},
{
"self": "https://ifountain.atlassian.net/rest/api/2/version/10100",
"id": "10100",
"description": "Public Beta",
"name": "v0.2",
"archived": false,
"released": false
},
{
"self": "https://ifountain.atlassian.net/rest/api/2/version/10201",
"id": "10201",
"description": "Second release of the iPhone app",
"name": "iPhone v0.2",
"archived": false,
"released": false
}
],
"customfield_10700": null,
"customfield_10400": null,
"timeestimate": null,
"customfield_10300": null,
"customfield_10301": null
}
},
"timestamp": 1392217168146
}
Opsgenie の OEC と Jira Data Center スクリプトを使用して、Jira Data Center 内の課題を更新します。これにより、独自のスクリプトをデプロイしたり、提供されているスクリプトを変更したり、Jira Data Center でカスタマイズされたアクションを実行したりできます。
Jira Data Center 統合パッケージを使用するには、次のいくつかのセクションの手順を最後まで実行します。
Jira パッケージの最新バージョンをダウンロードするには、oec-scripts リポジトリの readme ファイルを使用してください。
インストール
Red Hat ベースのディストリビューションの場合
次のコマンドを実行します。rpm -i opsgenie-jira-<your_version>.rpm
Debian ベースのディストリビューションの場合
次のコマンドを実行します。dpkg -i opsgenie-jira-<your_version>.deb
Windows の場合
OEC パッケージを含む opsgenie integration の zip ファイルをディレクトリ内に解凍します (C:\opsgenie は優先パスです)。Windows に OEC をインストールするには、こちらの指示に従います。
OEC の実行方法について詳しくは、OEC の実行のドキュメントを参照してください。
Jira 統合に OEC ユーティリティを使用するには、統合設定で [Send Via OEC (OEC 経由で送信)] を有効にします。
Jira に関するその他の設定は、統合設定ページまたは OEC 設定ファイルを使用して行うことができます。統合ページで行われた設定は、設定ファイルよりも優先されます。
Jira でアクションを実行できるようにするには、OEC で設定ファイルから設定パラメーターを取得します。
apiKey — 上記で作成した Jira インテグレーションから API キーをコピーします。
issueTypeName – 問題のタイプ。「タスク」、「バグ」、「ストーリー」、またはカスタム問題タイプ (「エピック」はサポートされていません) があります。
url – 問題の作成、解決、クローズなどが行われる Jira の URL。
username – Jira アカウントのユーザー名。
password – Jira アカウントのパスワード。
projectKey – このプロジェクト用に問題が作成されます
また、ダウンロードしたパッケージには、/usr/local/bin にある OEC ユーティリティと、/home/opsgenie/oec/scripts にある OEC によって実行する必要があるスクリプトが含まれています。OEC の設定が完了したら、OEC を実行する必要があります。OEC を実行する方法に関する詳細については、OEC の実行のドキュメントをご参照ください。
JSON
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
{
"summary":"test",
"issueTypeName":"Task",
"integrationName":"JIRA",
"sendViaOEC":true,
"description":"this is a test",
"integrationId":"3af28c92-b71c-459c-8d72-04a6f7f7ebac",
"url":"https://jiratestopsgenie.atlassian.net",
"password":"******",
"projectKey":"OPSGENIE",
"integrationType":"Jira",
"customerId":"04912a27-5fc1-4145-a6dd-8819afc0d870",
"alias":"c570a4cc-3f57-4b60-814e-f04c63e7442d",
"action":"Create",
"alertId":"c570a4cc-3f57-4b60-814e-f04c63e7442d",
"key":null,
"mappedAction":"createIssue",
"username":"jiratest@opsgenie.com"
}
Jira で問題を作成するために必須のカスタム フィールドが設定されている場合、Opsgenie アラートから Jira の問題を作成することはできません。ただし、OEC を使用してスクリプトを設定することで、Jira チケットを作成できます。
アラートに対してアクションを実行しても問題にコメントを追加できない場合は、まず [ログ] ページを参照してください。URL に問題キーが含まれていない場合は、そのアラートから入力された Jira に問題がないことを意味します。したがって、存在しない問題にはコメントを追加できません。
Opsgenie の Jira インテグレーションにより、ユーザーは Jira で問題のステータスを [進行中]、[解決済み]、[完了]、または [クローズ] に設定できます。ただし、プロジェクトのワークフローでトランジションが許可されていない場合、Opsgenie を使用してトランジションを設定することもできません。
Opsgenie は、トランザクション名の大文字と小文字を区別してチェックします。Jira のトランザクション名はまったく同じはである必要があります (つまり、進行中、解決済み、完了、クローズ)。
4. Jira は ASCII 以外の文字をサポートしていません。ペイロードで ASCII 以外の文字を Jira に送信すると、「400 不正なリクエスト エラー」が発生する可能性があります。
5. Jira 統合がチームに割り当てられている場合、Opsgenie で作成されたアラートから Jira で課題を作成するには、他の統合も同じチームに割り当てる必要があります。そうでなければ、Jira 統合と他の Opsgenie 統合の両方にチームを割り当てないでください。
この内容はお役に立ちましたか?