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

Ghost Inspector と統合する

この記事では、Jira Service Management Cloud の一部のお客様に段階的に展開されている、Jira Service Management でネイティブに利用できる新しいアラート機能を取り上げています。ご利用のサイトにはまだ表示されていないか、利用できない可能性があります。

Ghost Inspector ロゴ

統合でできるようになること

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

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

統合による機能

Ghost Inspector でテストが失敗すると、統合を通じて Jira Service Management でアラートが自動で作成されます。

統合をセットアップする

Ghost Inspector は API ベースの統合です。設定は次の手順で行います。

  • Jira Service ManagementGhost Inspector 統合を追加する

  • Ghost Inspector で統合を設定する

Ghost Inspector 統合を追加する

Jira Service Management の Free プランまたは Standard プランを使用している場合は、この統合はチームの運用ページからのみ追加できます。Settings (歯車のアイコン) > Products ([Jira 設定] の下) > OPERATIONS からこの機能にアクセスするには、Premium プランまたは Enterprise プランが必要です。

統合をチームの運用ページから追加すると、そのチームが統合の所有者になります。つまり、Jira Service Management は、この統合を通じて受信したアラートをチームにのみ割り当てます。

Jira Service ManagementGhost Inspector 統合を追加するには、次の手順を実行します。

  1. チームの運用ページに移動します。

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

  3. 検索を実行して「Ghost Inspector」を選択します。

  4. 次の画面で、統合の名前を入力します。

  5. オプション: 特定のチームが統合からのアラートを受信するようにする場合は、[Assignee team (担当者チーム)] のチームを選択します。

  6. [続行] を選択します。
    この時点で、統合が保存されます。

  7. [統合を設定する手順] セクションを展開し、API URL をコピーします。
    この URL は、後ほど Ghost Inspector で統合を設定する際に使用します。

  8. [統合をオンにする] を選択します。
    統合のために作成したルールは、統合をオンにした場合にのみ機能します。

Ghost Inspector で統合を設定する

Ghost InspectorJira Service Management の統合を設定するには、次の手順を実行してください。

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

  2. テストの設定に移動します。

  3. [Webhook 設定] に移動します。

  4. 以前に Jira Service Management からコピーした API URL を [Add Webhook URL (Webhook URLを追加)] に貼り付けます。

  5. [+] アイコンを選択します。

  6. [保存] を選択します。

Ghost Inspector から Jira Service Management に送信されたペイロードの例閉じる

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.jsm.com/alert/create", "dateExecutionStarted": "2014-12-26T12:43:54.597Z", "startUrl": "https://www.jsm.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.jsm.com/auth/login", "https://www.jsm.com/auth/signIn", "https://www.jsm.com/customer/welcome", "https://www.jsm.com/alert/index", "https://www.jsm.com/alert/create" ], "steps": [ { "target": "#login", "command": "click", "value": "", "url": "https://www.jsm.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.jsm.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.jsm.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.jsm.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.jsm.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.jsm.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.jsm.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.jsm.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 } } }

Jira Service Management ではペイロードは次のように解析されます。

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.jsm.com/auth/login", "testId": "549d11f534fd04ab414f1bd7", "testName": "Create Alert", "testSuite": "549d10e134fd04ab414f1bd6", "testOrganization": "549c158c8eebf29b7976b7b8", "steps": [ { "target": "#login", "command": "click", "value": "", "url": "https://www.jsm.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.jsm.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.jsm.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.jsm.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.jsm.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.jsm.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.jsm.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.jsm.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" }

 

 

 

その他のヘルプ