• 製品
  • 使用を開始する
  • 関連ドキュメント
  • リソース

Opsgenie を Ghost Inspector と統合する

Ghost Inspector ロゴ

Opsgenie が Ghost Inspector ユーザーに提供するもの

Ghost Inspector は、テストの実行時に Webhook 通知を送信します。OpsgenieGhost Inspector インテグレーションによって、Opsgenie はこれらのアラートのディスパッチャーとして機能し、オンコール スケジュールに基づいて通知する適切な担当者を決定します。メール、テキスト メッセージ (SMS)、電話、iPhone、Android のプッシュ通知によって通知して、アラートが確認されるかクローズされるまでアラートをエスカレートします。

さらに、Opsgenie はテストからアラートにスクリーンショット画像を添付します。また、アラートには画像へのリンクが表示されます。

統合の機能性

  • Ghost Inspector でテストが失敗すると、統合によって Opsgenie でアラートが自動で作成されます。

Opsgenie で Ghost Inspector インテグレーションを追加する

Opsgenie の Free プランまたは Essentials プランを使用している、または Jira Service Management の Standard プランで Opsgenie を使用している場合は、チーム ダッシュボードからのみこの統合を追加できます。このプランでは、[設定] の [統合] ページが利用できません。

  1. [チーム] に移動して自分のチームを選択します。

  2. 左側のナビゲーションで [統合] を選択し、[統合を追加] を選択します。

統合をチーム ダッシュボードから追加すると、そのチーム統合の所有者になります。Opsgenie では、この統合を通じて受信したアラートはそのチームのみに割り当てられます。このセクションの残りの手順に従って、統合を設定してください。

  1. [設定] > [統合] の順に移動します。Ghost Inspector を検索して [追加] を選択します。 

  2. [応答者] フィールドによって Ghost Inspector アラートの通知先を指定します。入力し始めると、オートコンプリートの候補が表示されます。

  3. 統合 URL をコピーします。 URL には、Opsgenie のエンドポイントと API キーが含まれます。

  4. [Save Integration (統合の保存)] を選択します。

Ghost Inspector での設定

  1. Ghost Inspector アプリで、新しいテスト スイートを作成してその中に新しいテストを定義します (まだ作成されていない場合)。

  2. テストの設定に進みます。

  3. 設定ページの下部にある [Webhook 設定] を見つけます。

  4. 前にコピーした URL を [Webhook URL を追加] フィールドに貼り付けて、+ アイコンをクリックします。

  5. 保存をクリックします。

Ghost Inspector のテスト設定

Ghost Inspector から Opsgenie Close に送信されたペイロードの例

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 { "type": "result", "data": { "__v": 0, "executionTime": 21641, "dateExecutionFinished": "2014-12-26T12:44:16.238Z", "endUrl": "https://www.opsgenie.com/alert/create", "dateExecutionStarted": "2014-12-26T12:43:54.597Z", "startUrl": "https://www.opsgenie.com/auth/login", "test": { "_id": "549d11f534fd04ab414f1bd7", "name": "Create Alert", "suite": "549d10e134fd04ab414f1bd6", "organization": "549c158c8eebf29b7976b7b8" }, "screenshotCompare": { "compareSmall": { "depth": 8, "format": "PNG", "oname": "549d580a52a9666f152ffb33-compare.png", "mtime": "2014-12-26T12:44:18.000Z", "ctime": "2014-12-26T12:44:18.000Z", "size": 27425, "path": "/screenshots/549d580a52a9666f152ffb33-compareSmall.png", "defaultUrl": "https://ghostinspector.s3.amazonaws.com/screenshots/549d580a52a9666f152ffb33-compareSmall.png", "dims": { "w": 320, "h": 240 } }, "compareOriginal": { "depth": 8, "format": "PNG", "oname": "549d580a52a9666f152ffb33-compare.png", "mtime": "2014-12-26T12:44:18.000Z", "ctime": "2014-12-26T12:44:18.000Z", "size": 41948, "path": "/screenshots/549d580a52a9666f152ffb33-compareOriginal.png", "defaultUrl": "${url}?", "dims": { "w": 1024, "h": 768 } } }, "screenshot": { "small": { "depth": 8, "format": "PNG", "oname": "549d580a52a9666f152ffb33.png", "mtime": "2014-12-26T12:44:17.000Z", "ctime": "2014-12-26T12:44:17.000Z", "size": 11532, "path": "/screenshots/549d580a52a9666f152ffb33-small.png", "defaultUrl": "https://ghostinspector.s3.amazonaws.com/screenshots/549d580a52a9666f152ffb33-small.png", "dims": { "w": 320, "h": 240 } }, "original": { "depth": 8, "format": "PNG", "oname": "549d580a52a9666f152ffb33.png", "mtime": "2014-12-26T12:44:16.000Z", "ctime": "2014-12-26T12:44:16.000Z", "size": 34474, "path": "/screenshots/549d580a52a9666f152ffb33-original.png", "defaultUrl": "${url}", "dims": { "w": 1024, "h": 768 } } }, "_id": "549d580a52a9666f152ffb33", "video": { "path": "/videos/549d580a52a9666f152ffb33.mp4", "url": "https://ghostinspector.s3.amazonaws.com/videos/549d580a52a9666f152ffb33.mp4", "dims": { "w": 1024, "h": 768 } }, "screenshotCompareDifference": 0.118959, "screenshotComparePassing": false, "passing": false, "console": [], "urls": [ "https://www.opsgenie.com/auth/login", "https://www.opsgenie.com/auth/signIn", "https://www.opsgenie.com/customer/welcome", "https://www.opsgenie.com/alert/index", "https://www.opsgenie.com/alert/create" ], "steps": [ { "target": "#login", "command": "click", "value": "", "url": "https://www.opsgenie.com/auth/login", "dateExecuted": "2014-12-26T12:43:56.719Z", "_id": "549d580c52a9666f152ffb34", "passing": true, "optional": false, "private": false, "sequence": 0 }, { "target": "#login", "command": "assign", "value": "abc@gmail.com", "url": "https://www.opsgenie.com/auth/login", "dateExecuted": "2014-12-26T12:43:57.897Z", "_id": "549d580d52a9666f152ffb35", "passing": true, "optional": false, "private": false, "sequence": 1 }, { "target": "#password", "command": "assign", "value": "123", "url": "https://www.opsgenie.com/auth/login", "dateExecuted": "2014-12-26T12:43:58.518Z", "_id": "549d580e52a9666f152ffb36", "passing": true, "optional": false, "private": true, "sequence": 2 }, { "target": "#password", "command": "keypress", "value": "13", "url": "https://www.opsgenie.com/auth/login", "dateExecuted": "2014-12-26T12:43:59.098Z", "_id": "549d580f52a9666f152ffb37", "passing": true, "optional": false, "private": false, "sequence": 3 }, { "target": "a[href=/alert/create] > .l.title", "command": "click", "value": "", "url": "https://www.opsgenie.com/alert/index", "dateExecuted": "2014-12-26T12:44:03.269Z", "_id": "549d581352a9666f152ffb38", "passing": true, "optional": false, "private": false, "sequence": 4 }, { "target": "#message", "command": "click", "value": "", "url": "https://www.opsgenie.com/alert/create", "dateExecuted": "2014-12-26T12:44:04.767Z", "_id": "549d581452a9666f152ffb39", "passing": true, "optional": false, "private": false, "sequence": 5 }, { "target": "#message", "command": "assign", "value": "asdasd", "url": "https://www.opsgenie.com/alert/create", "dateExecuted": "2014-12-26T12:44:05.569Z", "_id": "549d581552a9666f152ffb3a", "passing": true, "optional": false, "private": false, "sequence": 6 }, { "target": "input[type=subm]", "command": "click", "value": "", "url": "https://www.opsgenie.com/alert/create", "error": "Element not found", "dateExecuted": "2014-12-26T12:44:15.885Z", "_id": "549d581f52a9666f152ffb3b", "passing": false, "optional": false, "private": false, "sequence": 7 }, { "target": ".alerts > .alertrow.clearfix.row:nth-of-type(2) > div:nth-of-type(2) > a.message.unseen", "command": "assertTextPresent", "value": "asdasd", "_id": "549d581f52a9666f152ffb3c", "passing": null, "optional": false, "private": false, "sequence": 8 }, { "target": "a[href=/alert/create] > .l.title", "command": "assertTextPresent", "value": "New Alert", "_id": "549d581f52a9666f152ffb3d", "passing": null, "optional": false, "private": false, "sequence": 9 } ], "viewportSize": { "width": 1024, "height": 768 } } }

このペイロードは 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 { "passing": true, "screenshotComparePassing": false, "executionTime": 21641, "dateExecutionStarted": "2014-12-26T12:43:54.597Z", "startUrl": "https://www.opsgenie.com/auth/login", "testId": "549d11f534fd04ab414f1bd7", "testName": "Create Alert", "testSuite": "549d10e134fd04ab414f1bd6", "testOrganization": "549c158c8eebf29b7976b7b8", "steps": [ { "target": "#login", "command": "click", "value": "", "url": "https://www.opsgenie.com/auth/login", "dateExecuted": "2014-12-26T12:43:56.719Z", "_id": "549d580c52a9666f152ffb34", "passing": true, "optional": false, "private": false, "sequence": 0 }, { "target": "#login", "command": "assign", "value": "abc@gmail.com", "url": "https://www.opsgenie.com/auth/login", "dateExecuted": "2014-12-26T12:43:57.897Z", "_id": "549d580d52a9666f152ffb35", "passing": true, "optional": false, "private": false, "sequence": 1 }, { "target": "#password", "command": "assign", "value": "123", "url": "https://www.opsgenie.com/auth/login", "dateExecuted": "2014-12-26T12:43:58.518Z", "_id": "549d580e52a9666f152ffb36", "passing": true, "optional": false, "private": true, "sequence": 2 }, { "target": "#password", "command": "keypress", "value": "13", "url": "https://www.opsgenie.com/auth/login", "dateExecuted": "2014-12-26T12:43:59.098Z", "_id": "549d580f52a9666f152ffb37", "passing": true, "optional": false, "private": false, "sequence": 3 }, { "target": "a[href=/alert/create] > .l.title", "command": "click", "value": "", "url": "https://www.opsgenie.com/alert/index", "dateExecuted": "2014-12-26T12:44:03.269Z", "_id": "549d581352a9666f152ffb38", "optional": false, "private": false, "sequence": 4 }, { "target": "#message", "command": "click", "value": "", "url": "https://www.opsgenie.com/alert/create", "dateExecuted": "2014-12-26T12:44:04.767Z", "_id": "549d581452a9666f152ffb39", "passing": true, "optional": false, "private": false, "sequence": 5 }, { "target": "#message", "command": "assign", "value": "asdasd", "url": "https://www.opsgenie.com/alert/create", "dateExecuted": "2014-12-26T12:44:05.569Z", "_id": "549d581552a9666f152ffb3a", "passing": true, "optional": false, "private": false, "sequence": 6 }, { "target": "input[type=subm]", "command": "click", "value": "", "url": "https://www.opsgenie.com/alert/create", "error": "Element not found", "dateExecuted": "2014-12-26T12:44:15.885Z", "_id": "549d581f52a9666f152ffb3b", "passing": false, "optional": false, "private": false, "sequence": 7 }, { "target": ".alerts > .alertrow.clearfix.row:nth-of-type(2) > div:nth-of-type(2) > a.message.unseen", "command": "assertTextPresent", "value": "asdasd", "_id": "549d581f52a9666f152ffb3c", "passing": null, "optional": false, "private": false, "sequence": 8 }, { "target": "a[href=/alert/create] > .l.title", "command": "assertTextPresent", "value": "New Alert", "_id": "549d581f52a9666f152ffb3d", "passing": null, "optional": false, "private": false, "sequence": 9 } ], "testUrl": "https://app.ghostinspector.com/results/549d11f534fd04ab414f1bd7", "screenshotUrl": "${url}", "screenshotCompareUrl": "https://ghostinspector.s3.amazonaws.com/screenshots/549d580a52a9666f152ffb33-compareSmall.png" }

その他のヘルプ