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

AlertHub 一括操作マニュアル

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

一括操作の概要

AlertHub の設定要素を CSV ファイルに一括出力することができます。
また、CSV ファイルをインポートすることで一括で追加、更新、削除を行うことができます。

image.png

対象となる設定要素

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

想定する利用シーン

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

一括操作の流れ

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

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

エクスポート

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

エクスポートを開始するとエクスポート履歴の一覧画面が表示され、現在実行されているエクスポートファイル生成を確認することができます。
ファイル生成中はステータスが「処理中」となります。 image.png

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

インポート

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

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

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

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

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

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

アップロード時のエラー

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

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

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

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

一括操作では一つの設定要素ずつインポートするため、他の要素を指定する設定などは適切な順序でインポートする必要があります。
ルールの設定では受信スロットを指定するため、整合性を保つためには受信スロット、ルールの順序でインポートを行います。

各要素のインポート順序は以下に従ってください。 image.png

CSV ファイルの編集

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

一括操作におけるキー

一括操作では、エクスポート、インポートの処理を行う際に、処理対象の設定項目を特定するための情報として「キー」を設けています。
AlertHub の設定は項目を特定するために内部で項目ごとに ID を識別子として持っていますが、一括操作では CSV ファイル上での取り扱いを容易にするために ID の代替として正の整数で表現された「キー」を設けています。

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

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

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

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

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

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

設定要素の関連

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

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

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

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

制限事項

  • インポートの実行は同時に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)

トリガー

エクスポート時ファイル名: 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実行するアクションのキー
remarks備考
0〜256 文字の Unicode Graphic Character
createdAt作成日時
updatedAt変更日時
  • $key$scopeKey の組み合わせで項目が特定されます
  • $scopeKey が異なっていれば $key の値を重複させることができます
  • 既存と異なる $key$scopeKey の組み合わせがあった場合、$scopeKey が存在する場合は新規のトリガーとして登録され、$scopeKey が存在しない場合はエラーとなります

スコープ属性

エクスポート時ファイル名: 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 がアップロード時およびインポート時より過去の時刻を指していてはならない

受信スロット

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

フィールド名インポートに使用内容
$delete削除指定フィールド
$key受信スロットのキー
displayName表示名
1〜30 文字の Unicode Graphic Character
kind種別 (email, webhook, webhookOnPremises)
createdAt作成日時(UTC)
updatedAt変更日時(UTC)
  • 変更可能なのは displayName のみ
  • 既存の $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)

アクション

エクスポート時ファイル名: 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 の時のみ有効
本文
特に制限なしの文字列
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 は一般のプランでは利用できず、指定した場合はエラーとなります

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 の場合には無視されます