CIActionEngine - スコープ指定
CIActionEngine API を使用すると、CI に対して任意のアクションを実行し、アクションを実行する前にユーザーの認証を確認し、アクション実行要求のステータスとアクション出力を取得することができます。
CI アクションは、Metrics and CI Actions Framework 製品に関連付けられています。スコープ対象のアプリケーションでこのクラスを使用するには、 sn_cimaf 名前空間識別子を使用します。CIActionEngine Scoped API には、Metrics and CI Actions Framework (com.snc.sn_cimaf) プラグインが必要です。この API は sn_cimaf 名前空間内で提供されます。
スコープ対象 CIActionEngine - execute()
設定されたアクションパラメーターを使用して、CI に対して任意のアクションを実行します。
| 名前 | タイプ | 説明 |
|---|---|---|
| action | 文字列または Glide レコード | アクション [sn_cimaf_action] テーブルのSys_idまたは GlideRecord。 |
| ci | 文字列または Glide レコード | アクションを実行する必要がある CMDB [cmdb_ci] テーブルのSys_idまたは GlideRecord |
| actionParams | オブジェクト | オプション。アクションパラメーターの名前と値のマップ。
注: パラメーター値は、アクションパラメーター [sn_cimaf_action_parameter] テーブルで定義されているタイプである必要があります。 |
| タイプ | 説明 |
|---|---|
| 文字列 | 新規または既存の重複する進行中のアクション要求のSys_id。 |
次の例は、CI のプロセスを強制終了する方法を示しています。
var actionSysId = "6303db0d53b99910ae50ddeeff7b121e";
//Sys_id of the Action – End Process
var ciSysId = "b4fd7c8437201000deeabfc8bcbe5dc1"; //Sys_id of the CI
var actionParams = {
process_id: 23342 //Process id of the process to be killed
};
var ciActionEngine = new sn_cimaf.CIActionEngine();
var actionRequestId = ciActionEngine.execute(actionSysId, ciSysId, actionParams);
gs.info("Action Request Id: " + actionRequestId);
出力:
Action Request Id: e34e3a199d16a510f877a45cc5e8a492
スコープ対象 CIActionEngine - getActionRequestOutput()
アクション実行要求のステータスとアクションの出力を取得します。
| 名前 | タイプ | 説明 |
|---|---|---|
| アクション要求 | Glide レコード | アクション要求 [sn_cimaf_action_request] テーブルの GlideRecord。 |
| タイプ | 説明 |
|---|---|
| オブジェクト | オブジェクトには、指定されたアクション要求のアクション出力のステータスとリストが含まれています。 |
次の例は、アクション要求のステータスとアクションの出力を取得する方法を示しています。
var actionRequestGr = new GlideRecord('sn_cimaf_action_request');
actionRequestGr.get('e34e3a199d16a510f877a45cc5e8a492');
var ciActionEngine = new sn_cimaf.CIActionEngine();
var actionRequestOutput = ciActionEngine.getActionRequestOutput(actionRequestGr);
gs.info("Action Request Output: " + JSON.stringify(actionRequestOutput, null, 2));
出力:
{
"sys_id": "e34e3a199d16a510f877a45cc5e8a492",
"state": "completed",
"sn_cimaf_action_output": [
{
"sys_id": "405ef2599d16a510f877a45cc5e8a41e",
"action_command": "b0e43efb53259510ae50ddeeff7b129b",
"payload": "{\"output\":\"SUCCESS: The process with PID 23342 has been terminated.\\r\\n\",\"cmd\":\"taskkill /pid 23342 /f\"}",
"state": "completed",
"request_id": "cc5ef2599d16a510f877a45cc5e8a41d"
}
]
}
スコープ対象 CIActionEngine - isAuthorized()
指定された構成に従ってアクションを実行する前に、サインインしているユーザーの権限を確認します。
構成は、アクションロール [sn_cimaf_action_role]、ユーザー基準アクション包含 [sn_cimaf_action_user_criteria_mtom]、およびユーザー基準アクション除外 [sn_cimaf_action_user_criteria_no_mtom] テーブルで定義されます。
| 名前 | タイプ | 説明 |
|---|---|---|
| action | Glide レコード | アクション [sn_cimaf_action] テーブルの GlideRecord。 |
| タイプ | 説明 |
|---|---|
| ブーリアン | ユーザーの認可の成功を示すフラグ。 有効な値:
|
次の例では、 isAuthorized() メソッドを使用して、CI でアクションを実行するユーザーの権限を確認します。
var actionSysId = "6303db0d53b99910ae50ddeeff7b121e" //Sys_id of the Action
var actionGr = new GlideRecord('sn_cimaf_action');
actionGr.get('6303db0d53b99910ae50ddeeff7b121e');
var ciActionEngine = new sn_cimaf.CIActionEngine();
var isAuthorized = ciActionEngine.isAuthorized(actionGr);
gs.info("Is user authorized: " + isAuthorized);
Is user authorized: true