AlertHub 一括操作マニュアル 目次

Kompira AlertHub 一括操作マニュアル

本マニュアルは Kompira AlertHub の一括操作機能の利用方法を記載したマニュアルです。

Kompira AlertHub 全体の操作方法については、「Kompira AlertHub 基本マニュアル」を参照してください。

最終更新日: 2024/04/15

一括操作の概要

AlertHub の設定要素を CSV ファイルに一括出力できます。

さらに、CSV ファイルをインポートすることにより一括で設定を追加、更新、削除できます。

対象となる設定要素

  • スコープ
  • Email アクション送信元
  • アクション
  • ランブック
  • 受信スロット
  • ルール
  • スコープ属性
  • スコープ静観スケジュール
  • トリガー
  • 通知先

想定する利用シーン

  • 設定内容を保存し再利用する
  • 類似する設定を大量に登録する
  • 構成が変更された場合に一括で設定変更する
  • 誤った設定を登録した場合に一括で削除する

一括操作の流れ

AlertHub の一括操作は画面操作によって登録された設定をエクスポートし、 出力された CSV ファイルを編集してインポートすることで、追加設定や変更を柔軟に行える機能となっています。
利用における流れは以下の様になります。

  • AlertHub の画面上で主な設定を登録する
  • 追加設定、変更したい設定要素をエクスポートする
  • CSV ファイルを編集してインポートする

エクスポート

CSV ファイルを出力したい設定要素のエクスポートボタンをクリックします。

エクスポートを開始するとエクスポート履歴の一覧画面が表示され、現在実行されているエクスポートファイル生成を確認できます。

ファイル生成中はステータスが「処理中」となります。

エクスポートファイルが生成されるとステータスが「完了」になり、ファイル名をクリックすることで CSV ファイルをダウンロードできます。

インポート

エクスポートした CSV ファイルを用途に合わせて編集します。編集方法は次章を参考にしてください。

インポートしたい設定要素のインポートボタンをクリックします。

CSV ファイルをアップロードすることで、ファイル内容がチェックされます。
CSV ファイルの行ごとに実行する処理が判断され、ファイル内容に問題がある場合はエラーとして検出されます。

チェック結果は別画面として確認もできます。

チェック結果に問題がないことを確認し、「次へ」をクリックして「インポート実行」へ進み、再度「次へ」をクリックしてインポートを実行します。

インポートの進行状況と実行結果は履歴から確認できます。

アップロード時のエラー

CSV ファイルの内容に不整合があったり不備があったりすることで、ファイルをアップロードした際にエラーが発生する場合があります。
CSV フォーマット仕様に従わない範囲の値を入力した場合や、同じキーの値で 2 件の設定を登録しようとした場合などにエラーが発生します。

エラーが発生した場合、インポート履歴のステータスは バリデーションエラー となり、エラーが発生せずにアップロードが正常に完了した場合は アップロード完了 となります。

エラーとなった場合はアップロード時のチェック結果の詳細から問題のあるパラメーターを確認し、CSV ファイルを修正して再度アップロードを行います。

設定要素ごとのインポート順序

一括操作では 1 つの設定要素ずつインポートするため、他の要素を指定する設定などは適切な順序でインポートする必要があります。

以下のインポート順に従い、必要な項目をインポートしてください。

  1. スコープ
  2. Email アクション送信元
  3. アクション
  4. ランブック
  5. 受信スロット
  6. ルール
  7. スコープ属性
  8. 静観スケジュール
  9. トリガー
  10. 通知先

要素ごとの依存関係については、下図を参考にしてください。

CSV ファイルの編集

一括操作では設定追加や更新などの行いたい操作に合わせてエクスポートした CSV ファイルを編集してインポートする必要があります。

ここでは、用途に応じた CSV ファイルの編集方法を解説します。

一括操作におけるキー

一括操作では、エクスポート、インポートの処理を行う際に、処理対象の設定項目を特定するための情報として「キー」を設けています。

AlertHub の設定は項目を特定するために内部で項目ごとに ID を識別子として持っています。

一方、一括操作では CSV ファイル上での取り扱いを容易にするため、ID の代替として正の整数で表現された「キー」を設けています。

エクスポートを行うとキーが自動で付与され以下の様にファイル出力されます。
一度付与されたキーは変更されません。

スコープの出力ファイル例

付与されるキーは、Kompira cloud のスペース内で一意な値となり、異なるスペースであっても同一のキーが付与されます。

そのため、エクスポートした設定データを他のスペースにインポートする場合などは、意図しない設定の更新が発生する可能性があるため十分注意してください。

用途に応じた CSV ファイル編集

既存の設定項目を更新する場合は、エクスポートされた時に付与されているキーを変更せずに、設定値を書き換えてインポートします。

設定項目を追加登録する場合は、エクスポートされたデータ上のキーと重複しないキーを指定してインポートします。

既存の設定項目を削除する場合は、エクスポートされた時に付与されているキーを変更せずに、削除指示を「1」としてインポートします。

設定要素の関連

AlertHub の設定には要素間の関連を持っているものがあります。
一括操作の CSV ファイル上ではその関連を表す目的でもキーが利用されます。

例としてルールでは、条件判断の対象とするメッセージを受信する受信スロットを指定しています。

同一の受信スロットを指定する別のルールを作成する場合には、以下の様に受信スロットはそのままとしてルールのキーのみ重複しない値に変更してインポートします。

既存のルールの受信スロットを変更する場合には、ルールのキーは変えずに受信スロットのキーのみ変更してインポートします。

制限事項

  • インポートの実行は同時に 1 つのみ実行でき、複数インポートの同時実行は行えません
  • 複数のエクスポートを同時に実行すると、競合によってエラーが発生する場合があります
    • エラーが発生した場合は 1 つずつエクスポートを再実行してください
  • エクスポート、インポートの履歴は、履歴情報の最終更新日時から 30 日経過後に削除されます
  • サービスを利用する通信環境やファイルサイズなどの影響で、ファイルのアップロードやダウンロードに 60 秒以上かかった場合にはタイムアウトエラーが発生します
    • アップロードでタイムアウトが発生する際は、インポートする内容を分割し、個々のインポートファイルのサイズを削減することを試行してください

CSV ファイル仕様

エクスポート、インポートにおける CSV ファイルの仕様を記載します。

共通仕様

項目内容備考
文字コードUTF-8エクスポート時: BOM の有無は設定で選択可能
インポート時: BOM の有無は自動判別
ファイルサイズ上限5MB上限以上のファイルサイズの場合、アップロード時にエラーが発生する場合がある
ヘッダーCSV の 1 行目をヘッダーー行とみなす
列の順序固定されず、ヘッダーのフィールド名で列が判断される
$deleteフィールド削除指示を行うためのフィールド値なし: 対象の行を新規登録、更新として処理
「1」: 対象の行を削除として処理
「1」以外の値: 対象の行をエラーとして処理
$keyフィールド設定対象を識別するためのキーのフィールド1~2147483647 の範囲の整数で指定可能
createdAtフィールド作成日時のフィールドインポート時は値を無視
updatedAt変更日時のフィールドインポート時は値を無視

スコープ

エクスポート時ファイル名: scopes-YYYYMMDDhhmmss.csv (YYYYMMDDhhmmss はエクスポート日時)

フィールド名インポートに使用内容
$delete削除指示フィールド
$keyスコープのキー
displayNameスコープの表示名
1〜30 文字の Unicode Graphic Character
thresholds.warning警戒判定閾値
1〜1000 の整数
thresholds.incident障害判定閾値
1〜1000 かつ thresholds.warning より大きな整数
remarks備考
0〜256 文字の Unicode Graphic Character
recoverySetting.recoveryTime深刻度自動復旧までの秒数
空または 300〜86400 の整数

空ならば深刻度自動復旧無効、
整数ならば自動復旧までの時間をその秒数に設定する。
復旧イベントが発生するまでには最大 1 分程度の誤差が生じる
createdAt作成日時(UTC)
updatedAt変更日時(UTC)

Emailアクション送信元設定

エクスポート時ファイル名: email-action-sender-settings-*YYYYMMDDhhmmss.*csv (YYYYMMDDhhmmss はエクスポート日時)

フィールド名インポートに使用内容
$delete削除指定フィールド
$keyEmailアクション送信元設定のキー
from.name送信元ユーザー名
0〜255 文字
from.email送信元メールアドレス
255 文字以内
methodメール送信方法 (sendgrid または smtp)
sendgrid.apiKeymethod = sendgrid の時のみ有効
SendGrid の API key
特に制限なしの文字列。表外の注意書きも参照
smtp.servermethod = smtp の時のみ有効
SMTP サーバーのホスト名または IP アドレス (インポート時、厳密な書式チェックは行わず、空文字列でなければ OK とする)
smtp.portmethod = smtp の時のみ有効
SMTP サーバーのポート番号
1〜65535 の整数
smtp.transportmethod = smtp の時のみ有効
SMTP 通信時の暗号化方式 (plain, tls, starttls)
smtp.authmethod = smtp の時のみ有効
ユーザー認証方式 (none, plain, cram-md5)
smtp.usermethod = smtp の時のみ有効
認証に用いるユーザー名
1文字以上の文字列。表外の注意書きも参照
smtp.passwordmethod = smtp の時のみ有効
認証パスワード
特に制限なしの文字列。表外の注意書きも参照
createdAt作成日時(UTC)
updatedAt変更日時(UTC)
  • sendgrid.*, smtp.* は、指定された method に対応するもののみ参照され、値の検証の対象になります
  • sendgrid.apiKey, smtp.password はエクスポート時に空で出力されます
    • 空のままインポートして更新した場合、API キーやパスワードの更新は行われません
    • 新規作成の場合や、 methodsmtp.auth を変更したことにより新たに必要になった場合は空のままインポートはできません
  • smtp.user, smtp.passwordsmtp.authplain または cram-md5 の場合には必須となり、none の場合には無視されます

アクション

エクスポート時ファイル名: actions-YYYYMMDDhhmmss.csv (YYYYMMDDhhmmss はエクスポート日時)

フィールド名インポートに使用内容
$delete削除指定フィールド
$keyアクションのキー
displayName表示名
1 〜30 文字の Unicode Graphic Character
kind種別 (email, webhook, pigeon, webhookOnPremises)
webhookOnPremises の利用には適切なクォータが必要 (詳細は欄外の注意書き参照)
email.$senderSettingKeykind = email の時のみ有効
Emailアクション送信元のキー。空ならばデフォルトの送信元が使われる
email.tokind = email の時のみ有効
To の JSON。アクション API の対応する項目のフォーマット
email.cckind = email の時のみ有効
Cc の JSON。アクション API の対応する項目のフォーマット
email.bcckind = email の時のみ有効
Bcc の JSON。アクション API の対応する項目のフォーマット
email.subjectkind = email の時のみ有効
件名
特に制限なしの文字列
email.textkind = email の時のみ有効
本文(テキスト )
特に制限なしの文字列
email.textemail.html の両方が空であってはならない
email.htmlkind = email の時のみ有効
本文(HTML)
特に制限なしの文字列
email.textemail.html の両方が空であってはならない
互換性のためこの列の存在しない CSV のインポートも可能
pigeon.callflowIdkind = pigeon の時のみ有効
コールフローID (UUID)
対応するキーがないため ID をそのまま指定する。また、本項目については存在チェックを行わない
pigeon.guidanceIdkind = pigeon の時のみ有効
ガイダンスID (UUID)
対応するキーがないため ID をそのまま指定する。また、本項目については存在チェックを行わない
webhook.urlkind = webhook または webhookOnPremises の時のみ有効
Webhook の URL
webhook.methodkind = webhook または webhookOnPremises の時のみ有効
メソッド (GET, POST, HEAD, PUT, PATCH, DELETE)
webhook.bodykind = webhook または webhookOnPremises の時のみ有効
body
webhook.headerskind = webhook または webhookOnPremises の時のみ有効
付与するヘッダーーの JSON。アクション API の対応する項目のフォーマット
remarks備考
0 〜256 文字の Unicode Graphic Character
createdAt作成日時(UTC)
updatedAt変更日時(UTC)
  • kind は変更できないフィールドであり、既存項目と異なる指定がされた場合はエラーとなります
  • kind = webhookOnPremises は一般のプランでは利用できず、指定した場合はエラーとなります

ランブック

エクスポート時ファイル名: runbooks-YYYYMMDDhhmmss.csv (YYYYMMDDhhmmss はエクスポート日時)

フィールド名インポートに使用内容
$delete削除指定フィールド
$keyランブックのキー
displayNameランブックの表示名
1〜30 文字の Unicode Graphic Character
remarks備考
0〜256 文字の Unicode Graphic Character
flow.headランブック実行の起点となるステップの UUID
起点を指定しない場合は空にする
flow.stepsランブックフローのステップを定義した JSON
一件もなければ {} を指定する
ランブック API で利用される flow.step の形式を基本とし、アクションステップ中の actionId$actionKey に置き換えたもの
イベントステップ中の scopeId$scopeKey に置き換えたもの
createdAt作成日時
updatedAt変更日時

受信スロット

エクスポート時ファイル名: receive-slots-YYYYMMDDhhmmss.csv (YYYYMMDDhhmmss はエクスポート日時)

フィールド名インポートに使用内容
$delete削除指定フィールド
$key受信スロットのキー
$runbookKey参照するランブックのキー
displayName表示名
1〜30 文字の Unicode Graphic Character
kind種別 (email, webhook, webhookOnPremises)
createdAt作成日時(UTC)
updatedAt変更日時(UTC)
  • 変更可能なのは displayName 及び $runbookKey のみ
  • ただし、$runbookKey を設定できるのはルールで使用されていない受信スロットに限ります
  • 既存の $key が指定され、kind に既存項目と異なる指定がされた場合はエラーとなります
  • kind = webhookOnPremises は一般のプランでは利用できず、指定した場合はエラーとなります

ルール

エクスポート時ファイル名: rules-YYYYMMDDhhmmss.csv (YYYYMMDDhhmmss はエクスポート日時)

フィールド名インポートに使用内容
$delete削除指定フィールド
disabledtrue: ルール無効
false: ルール有効
この項目に限り大文字/小文字を無視する (Excel を通すと大文字に変換されるための特例)
$keyルールのキー
$receiveSlotKey参照する受信スロットのキー
displayName表示名
1〜30 文字の Unicode Graphic Character
flow処理フローの JSON
eventParamsイベント (対象スコープを直接指定) の JSON。アクション API の対応する項目のフォーマット
スコープの ID をスコープのキー (オブジェクトのキーとして扱うため文字列表現) に差し替える
conditionalEventParamsイベント (対象スコープを条件指定) の JSON。アクション API の対応する項目のフォーマット
remarks備考
0〜256 文字の Unicode Graphic Character
createdAt作成日時(UTC)
updatedAt変更日時(UTC)

スコープ属性

エクスポート時ファイル名: attributes-YYYYMMDDhhmmss.csv (YYYYMMDDhhmmss はエクスポート日時)

フィールド名インポートに使用内容
$delete削除指定フィールド
name属性名
1〜30 文字の Unicode Graphic Character
value属性値
0〜256 文字の Unicode Graphic Character
$scopeKey所属するスコープのキー
scopeDisplayNameスコープの表示名
参考用のフィールドであり、インポート時には無視される
  • スコープ属性は例外的に $key が存在せず、$scopeKeyname の組み合わせで項目の特定が行われます

スコープ静観スケジュール

エクスポート時ファイル名: mute-schedules-YYYYMMDDhhmmss.csv (YYYYMMDDhhmmss はエクスポート日時)

フィールド名インポートに使用内容
$delete削除指定フィールド
$key静観スケジュールのキー
$scopeKey所属するスコープのキー
displayName静観スケジュールの表示名
1〜30 文字の Unicode Graphic Character
scopeDisplayNameスコープの表示名
参考用のフィールドであり、インポート時は無視される
beginAt開始日時(UTC)
RFC-3339 形式
endAt終了日時(UTC)
rrule繰り返し設定
RFC-5545 の RRULE 形式、または空
空ならば繰り返しなしの一度きりの設定
createdAt作成日時(UTC)
updatedAt変更日時(UTC)
  • $key$scopeKey の組み合わせで項目が特定されます
  • $scopeKey が異なっていれば $key の値を重複させることができます
  • 既存と異なる $key$scopeKey の組み合わせがあった場合、$scopeKey が存在する場合は新規の静観スケジュールとして登録され、$scopeKey が存在しない場合はエラーとなります
  • 既存の項目で変更可能なフィールドは displayName のみとなります。beginAt, endAt, rrule は無視され、アップロード時の検証も行われません
  • beginAtendAt の制約事項は以下の通りです
    • beginAtendAt より過去の時刻でなければならない
    • beginAtendAt に指定されたタイムゾーンは同一でなければならない
    • rrule が空の場合、 endAt がアップロード時およびインポート時より過去の時刻を指していてはならない

トリガー

エクスポート時ファイル名: triggers-YYYYMMDDhhmmss.csv (YYYYMMDDhhmmss はエクスポート日時)

フィールド名インポートに使用内容
$delete削除指定フィールド
disabledtrue: トリガー無効
false: トリガー有効
この項目は大文字小文字を無視する
$keyトリガーのキー
$scopeKey所属するスコープのキー
displayNameトリガーの表示名
1〜30 文字の Unicode Graphic Character
scopeDisplayNameスコープの表示名
参考用のフィールドであり、インポート時は無視される
when.conditions実行条件の JSON
一件もなければ空配列 ([]) を指定する
relatedMessages.enabledtrue: 関連メッセージ機能有効
false: 関連メッセージ機能無効
省略は不可
機能を使わないのであれば false を指定する
この項目は大文字小文字を無視する
relatedMessages.filters関連メッセージフィルターの JSON
省略は不可
指定すべきフィルターがない場合は空配列 ([]) を指定する
flow.stepsパラメーター加工フローの JSON
一件もなければ空配列 ([]) を指定する
$actionKey実行するアクションのキー
$runbookKey参照するランブックのキー
remarks備考
0〜256 文字の Unicode Graphic Character
createdAt作成日時
updatedAt変更日時
  • $key$scopeKey の組み合わせで項目が特定されます
  • $scopeKey が異なっていれば $key の値を重複させることができます
  • 既存と異なる $key$scopeKey の組み合わせがあった場合、$scopeKey が存在する場合は新規のトリガーとして登録され、$scopeKey が存在しない場合はエラーとなります

通知先

エクスポート時ファイル名: notification-email-settings-YYYYMMDDhhmmss.csv (YYYYMMDDhhmmss はエクスポート日時)

フィールド名インポートに使用内容
$delete削除指定フィールド
$key通知先のキー
name通知先ユーザー名
1〜30 文字
email通知先メールアドレス
255 文字以内
createdAt作成日時
updatedAt変更日時