他アプリからインシデントを自動起票したい(API連携)
概要
本章では、本製品のインシデント起票APIを用いて、他アプリからインシデントを自動起票する方法をご案内します。
WebSAM Automatic Message Callとの連携方法に加え、他アプリとの連携方法の概要もご紹介します。
API連携ではAPIキーを用いて、外部認証を行うため事前にAPIキーを取得が必要となります。
本製品でAPIキーを取得する
-
画面右上のログインユーザ名 をクリックします。
-
個人設定をクリックします。
-
「APIキーを追加」をクリックします。
-
APIキーの確認ダイアログが表示されますので、キーを保存後にOKをクリックします。
APIキーの取得は追加したときのみ可能です。保存漏れや漏洩した場合はAPIキーを再作成してください。
API仕様
チケット登録
エンドポイント
https://<テナントID>.itsm.masterscope.jp/api/v1/ticket
テナントIDは払い出された環境毎に異なります。ログイン先のURL(ホスト)を確認してください。
メソッド
POST
ヘッダ
キー | 必須 | 説明 |
---|---|---|
Itpm-Project | 任意 | 発行者の所属プロジェクト(起票先プロジェクト) (確認方法) |
Itpm-Organization | 必須 | 発行者の所属組織ID(起票先組織) (確 認方法) |
X-API-KEY | 必須 | APIキー |
Content-Type | 必須 | application/json を指定 |
- Itpm-Projectはプロジェクト追加オプション未契約の場合は指定不要です。
- Itpm-Projectを省略した場合、起票先プロジェクトはデフォルトプロジェクトに自動で指定されます。
ペイロード
キー | 必須 | 型 | 説明 |
---|---|---|---|
title | 必須 | string | 件名(255文字以内) |
summary | 必須 | string | 内容(20000文字以内) |
status | 必須 | number | ステータスとして起票を示す1 を指定してください |
statusName | 必須 | string | ステータス名としてオープン を指定してください |
assignOrganizationId | 必須 | string(uuid) | 担当者と指定する組織ID (確認方法) |
assignUserId | 任意 | string(uuid) | 担当者として指定するユーザID(確認方法)。ユーザが所属する組織IDをassignOrganizationId に指定する必要があります。 |
priority | 必須 | number | 1 : 低、2 :中、3 :高のいずれかを指定してください |
dueDate | 任意 | string(ISO8601) | 期限日をISO8601フォーマットで指定してください。例:2024-08-01T00:00:00+09:00 |
serviceCatalogFormId | 必須 | string(uuid) | インシデントのフォームID (確認方法) |
レスポンス
ステータス | 説明 |
---|---|
200 | 登録完了 |
401 | APIキーが空または不正 |
403 | エンドポイントが不正 |
パラメータのID確認方法
プロジェクトIDを確認する
- 管理センターのプロジェクトを開きます。
- プ ロジェクト一覧から対象のプロジェクトを選択します。
- ブラウザのURLを確認し、URL末尾に
id=....
と表示されているので、id=
以降の値を取得します。
組織IDを確認する
- 管理センターの組織を開きます。
- 組織一覧から対象の組織を選択します。
- ブラウザのURLを確認し、URL末尾に
id=....
と表示されているので、id=
以降の値を取得します。
ユーザIDを確認する
- 管理センターのユーザを開きます。
- ユーザ一覧から対象のユーザを選択します。
- ブラウザのURLを確認し、URL末尾に
id=....
と表示されているので、id=
以降の値を取得します。
フォームIDを確認する
- 管理センターのフォームを開きます。
- フォーム一覧から対象のフォームを選択します。
- ブラウザのURLを確認し、URL末尾に
id=....
と表示されているので、id=
以降の値を取得します。
連携先アプリでAPIキーを利用してインシデントを起票する
コマンド実行(curl)の場合
以下のようにコマンドを実行します。
curl -X POST -H "Content-Type: application/json" -H "Itpm-Project: <プロジェクトID>" -H "Itpm-Organization: <組織ID>" -H "X-API-KEY: <APIキー>" -d "{\"serviceCatalogFormId\":\"<フォームID>\",\"title\":\"件名\",\"summary\":\"本文\",\"assignUserId\":\"<担当ユーザID>\",\"assignOrganizationId\":\"<担当組織ID>\",\"status\":1,\"statusName\":\"オープン\",\"priority\":1}" https://<テナントID>.itsm.masterscope.jp/api/v1/ticket
WebSAM Automatic Message Call(AMC) の場合
-
AMCの[プロジェクト]をクリックしてプロジェクト一覧を表示します。
-
プロジェクト一覧からインシデント起票を設定するプロジェクトの[編集]をクリックします。
-
[Webhook設定]のセクションの[Webhook設定]を
有効
に設定します。 -
カスタムWebhookで「追加」をクリックします。
-
[Webhook名称]には識別しやすい名前を入力し、[WebhookURL]に、登録先のITPMのエンドポイントを入力します。
エンドポイント例)https://e000000000000001.itsm.masterscope.jp/api/v1/ticket
-
[ペイロード]に本製品へ渡すデータをjson形式で設定します。
本手順では、件名にアラートメールの件名、本文にアラート発生日時、エスカレーションコメント、アラートメール本文を登録します。 AMCの他のデータを渡したい場合は、AMCのマニュアルの「ペイロードで利用可能なマクロ一覧」を参照ください。
ペイロード例
{
"serviceCatalogFormId":"<フォームID>",
"title":"${MAIL_SUBJECT}",
"summary":"発生日時: ${DETECTION_DATE}\nCOMMENT: ${COMMENT}\n\n--------アラート内容--------\n${MAIL_BODY}",
"assignUserId":"<担当ユ ーザID>",
"assignOrganizationId":"<担当組織ID>",
"status":1,
"statusName":"オープン",
"priority":1
}
-
[カスタムパラメータ]の[+追加]をクリックし、[ヘッダー]パラメータをAPI仕様をもとに登録します。
-
[確認]をクリックし、[更新]をクリックしてプロジェクト更新を完了します。
-
ITPMと連携したいパターンの通報設定で、登録したWebhookを設定します。
WebSAM Automatic Message CallのWebHook通報の詳細な説明はマニュアルを参照ください。