ライフサイクル管理 API
CI ライフサイクル管理には、CI 運用状況を操作し、CI アクションを適用するための一連の状況管理 API が用意されています。
状況管理 API は、許可されていない CI アクション、互換 CI アクション、および許可されていない運用上の移行によって指定された制限および許可を遵守します。API が制限付き操作を実行しようとすると、操作はブロックされ、エラーが記録され、必要に応じてタスクが自動的に作成されます。
ライフサイクル管理 API は、ライフサイクル管理一括 API を使用して、CMDB グループに運用状況と CI アクションを設定できます。
登録 API
- registerOperator() - ワークフロー以外のユーザーの状況管理にオペレーターを登録するメソッド。
- unregisterOperator(String requestorId) - ワークフロー以外のユーザーのオペレーターの登録を解除するメソッド。
- isValidRequestor(String requestorId) - 指定された要求者が有効なアクティブなワークフロー ユーザーか登録済みユーザーかを判別するメソッド。
- isLeaseExpired(String requestorId, String ciSysId, String ciActionName) - 登録済みユーザーのリースが期限切れになったかどうかを確認するメソッド。
- extendCIActionLease(String requestorId, String ciSysId, String ciActionName, String leaseTime) - 登録済みユーザーの CI アクション リース時間を延長するメソッド。以前のリース期間がすでに切れている場合は、今からリースを延長してください。
運用ステータス API
- setBulkCIOperationalState(String requestorId, String sysIdList, String opsLabel, String opsStateListOld) - CI の配列の運用ステータスを設定するメソッド。
- getOperationalState(String ciSysId) - CI 運用ステータスを取得するメソッド。
CI アクション API
- addBulkCIAction(String requestorId, String sysIdList, String ciActionName, String ciActionListOld, String leaseTime) - CI の配列の CI アクションを追加するメソッド。
- removeBulkCIAction(String requestorId, String sysIdList, String ciActionName) - CI のリストの CI アクションを削除するメソッド。
- getCIActions(String ciSysId) - CI アクションを取得するメソッド。
運用ステータス API に基づく許可されていないアクション
isNotAllowedAction (String ciType, String opsLabel, String actionName) - 特定の CI アクションが CI タイプの特定の運用ステータスで許可されていないかどうかを確認するメソッド。
許可されていない運用ステータスの移行 API
isNotAllowedOpsTransition(String ciType, String opsLabel, String transitionOpsLabel) - 特定の運用ステータスの移行が CI タイプで許可されていないかどうかをチェックするメソッド。
互換アクション API
isCompatibleCIAction(String actionName, String otherActionName)- 2 つの特定のアクションが互いに互換性があるかどうかを確認するメソッド。
状況管理 API の使用
// 1. Register Operator with State Mgmt
var output = SNC.StateManagementScriptableApi.registerOperator();
var jsonUntil = new JSON();
var result = jsonUntil.decode(output);
var requestorId = result.requestorId;
// Get list of sys_ids to update
var sys_ids;
// 2. Set list of sys_ids's Operational State to 'Repair in Progress'
output = SNC.StateManagementScriptableApi.setBulkCIOperationalState(requestorId, sys_ids,'Repair in Progress');
gs.print(output);
// 3. Set list of sys_ids's CI Action State to 'Patching'
output = SNC.StateManagementScriptableApi.addBulkCIAction(requestorId, sys_ids, 'Patching');
gs.print(output);