---
sourceDocument: Xanadu API リファレンス
sourceDocumentLink: https://servicenow-prod.fluidtopics.net/r/ja-JP/xanadu/api-reference

 Release :

    - xanadu

ft:locale :

    - ja-JP

ft:publication_title :

    - Xanadu API リファレンス

ft:clusterId :

    - crapiref

bundleId :

    - crapiref

workflow :

    - Creator


---

# StateManagementScriptableApi - グローバル

# StateManagementScriptableApi - グローバル {#ariaid-title1}

* リリースバージョン: Xanadu
* 
* 更新日 2024年08月01日
* 
* ![](https://www.servicenow.com/docs/portal-asset/ico-clock) 所要時間：15分

StateManagementScriptableApi は、構成アイテム (CI) の運用状況を操作し、CI アクションを適用するための一連のメソッドを提供します。

StateManagementScriptableApi メソッドは、許可されていない CI アクション、互換性のある CI アクション、および許可されていない運用上の移行によって指定された制限と許可を遵守しています。メソッドが制限付き操作を実行しようとすると、操作がブロックされ、エラーが記録され、必要に応じてタスクが作成されます。

StateManagementScriptableApi メソッドは静的メソッドです。メソッドには、`SNC.StateManagementScriptableApi` グローバルオブジェクトを使用してアクセスします。

## StateManagementScriptableApi - addBulkCIAction(文字列 requestorId, 文字列 sysIdList, 文字列 ciActionName, 文字列 ciActionListOld, 文字列 leaseTime) {#ariaid-title2}

CI アクションを CI のリストに追加します。
{#SMSA-addBulkCIAction_S_S_S_S_S__table_g5l_w4s_px__entry__3}

| 名前 | タイプ | 説明 |
|-|-|-|
| requestorId | 文字列 | ワークフローコンテキストの sys_id、または registerOperator() メソッドから返された GUID。 |
| sysIdList | 文字列 | CI の sys_id のカンマ区切りリスト。 |
| ciActionName | 文字列 | CI のアクション名。 |
| ciActionListOld | 文字列 | (オプション) すべての CI が含まれているはずの、古い CI アクションのカンマ区切りリスト。 |
| leaseTime | 文字列 | (オプション) 指定された CI アクションに対してリースが有効である時間。形式は HH:MM:SS です。 |
[表 : 1. パラメーター]

{#SMSA-addBulkCIAction_S_S_S_S_S__table_g5l_w4s_px} {#SMSA-addBulkCIAction_S_S_S_S_S__table_h5l_w4s_px__entry__2}

| タイプ | 説明 |
|-|-|
| 文字列 | 以下の名前と値のペアを含む JSON 形式の文字列 * result：リスト内のすべての CI にアクションが設定されている場合は true、そうでない場合は false。 * errors：エラーのリスト。 {#SMSA-addBulkCIAction_S_S_S_S_S__ul_ewf_5vl_px} |
[表 : 2. 返される内容]

{#SMSA-addBulkCIAction_S_S_S_S_S__table_h5l_w4s_px}

## StateManagementScriptableApi - extendCIActionLease(文字列 requestorId, 文字列 ciSysId, 文字列 ciActionName, 文字列 leaseTime) {#ariaid-title3}

登録済みユーザーの CI アクションリース時間を延長します。前のリース期限が切れている場合は、新しいリース時間がすぐに開始されます。
{#SMSA-extendCIActionLease_S_S_S_S__table_f24_j3s_px__entry__3}

| 名前 | タイプ | 説明 |
|-|-|-|
| requestorId | 文字列 | ワークフローコンテキストの sys_id、または registerOperator() メソッドから返された GUID。 |
| ciSysId | 文字列 | CI の sys_id。 |
| ciActionName | 文字列 | CI のアクション名。 |
| leaseTime | 文字列 | 指定された CI アクションに対してリースが有効である時間。形式は HH:MM:SS です。 |
[表 : 3. パラメーター]

{#SMSA-extendCIActionLease_S_S_S_S__table_f24_j3s_px} {#SMSA-extendCIActionLease_S_S_S_S__table_g24_j3s_px__entry__2}

| タイプ | 説明 |
|-|-|
| 文字列 | 以下の名前と値のペアを含む JSON 形式の文字列 * result：リース時間が設定されている場合は true。 * errors：エラーのリスト。 {#SMSA-extendCIActionLease_S_S_S_S__ul_ewf_5vl_px} |
[表 : 4. 返される内容]

{#SMSA-extendCIActionLease_S_S_S_S__table_g24_j3s_px}

## StateManagementScriptableApi - getCIActions(文字列 ciSysId) {#ariaid-title4}

指定された CI のアクティブな CI アクションのリストを返します。
{#SMSA-getCIActions_S__table_ql1_fws_px__entry__3}

| 名前 | タイプ | 説明 |
|-|-|-|
| ciSysId | 文字列 | CI の sys_id。 |
[表 : 5. パラメーター]

{#SMSA-getCIActions_S__table_ql1_fws_px} {#SMSA-getCIActions_S__table_rl1_fws_px__entry__2}

| タイプ | 説明 |
|-|-|
| 文字列 | 名前と値のペアを含む JSON 形式の文字列。 可能な値： * ciActions：CI に対するアクティブな CI アクションのカンマ区切りリスト、または no_active_action。 * errors：エラーのリスト。 {#SMSA-getCIActions_S__ul_ewf_5vl_px} |
[表 : 6. 返される内容]

{#SMSA-getCIActions_S__table_rl1_fws_px}  
次の例は、構成アイテムのリストに対するアクティブなアクションを取得する方法を示しています。

    // Store sys_ids of configuration items for which to get data
    var CIArray = ["a9c0c8d2c6112276018f7705562f9cb0","0c43bc4fc61122750182c132411702f2","46bbf419a9fe1981009802288c1eb79d","46a4381ca9fe1981005c3e99af3cd164","0c43bcbdc61122750182c132e9b6565d"];

    var output = '';

    // looping above array to fetch each sys_id and passing to method
    for(var i=0; i < CIArray.length; i++) {

      // passing sys_id of CI stored in array to method
      output = SNC.StateManagementScriptableApi.getCIActions(CIArray[i]);

      // print a JSON formatted string with name-value pairs
      gs.print(output);
    }

出力：

    {"ciActions":["no_active_action"],"result":true}
    {"ciActions":["no_active_action"],"result":true}
    {"ciActions":["no_active_action"],"result":true}
    {"ciActions":["no_active_action"],"result":true}
    {"ciActions":["no_active_action"],"result":true}

## StateManagementScriptableApi - getOperationalState(文字列 ciSysId) {#ariaid-title5}

CI の運用ステータスを返します。
{#SMSA-getCIOperationalState_S__table_n5f_1ns_px__entry__3}

| 名前 | タイプ | 説明 |
|-|-|-|
| ciSysId | 文字列 | CI の sys_id。 |
[表 : 7. パラメーター]

{#SMSA-getCIOperationalState_S__table_n5f_1ns_px} {#SMSA-getCIOperationalState_S__table_o5f_1ns_px__entry__2}

| タイプ | 説明 |
|-|-|
| 文字列 | 名前と値のペアを含む JSON 形式の文字列。 可能な値： * ciActions：operational_status フィールドの文字列の選択値、または UNKNOWN。 * errors：エラーのリスト。 {#SMSA-getCIOperationalState_S__ul_ewf_5vl_px} |
[表 : 8. 返される内容]

{#SMSA-getCIOperationalState_S__table_o5f_1ns_px}  
次の例は、指定された構成アイテムのリストの運用ステータスを取得する方法を示しています。

    // Store sys_ids of configuration items for which to get the operational state.
    var CIArray = ["0c43bc4fc61122750182c132411702f2","46bbf419a9fe1981009802288c1eb79d","46a4381ca9fe1981005c3e99af3cd164","0c43bcbdc61122750182c132e9b6565d","a9c0c8d2c6112276018f7705562f9cb0"];

    var output = '';

    // Loop the array to fetch each sys_id and pass to the method.
    for(var i=0;i<CIArray.length;i++) {
      // Pass sys_id of CI stored in array to the method  
      output = SNC.StateManagementScriptableApi.getOperationalState(CIArray[i]); 

      // prints a JSON formatted string with name-value pairs
      gs.print(output);
    }

出力：

    *** Script: {"operationalState":"Operational","result":true}
    *** Script: {"operationalState":"Operational","result":true}
    *** Script: {"operationalState":"Operational","result":true}
    *** Script: {"operationalState":"Operational","result":true}
    ci_state_management                        : INVALID_SYS_ID: Invalid sys_id [a9c0c8d2c6112276018f7705562f9cb0]: no thrown error
    *** Script: {"errors":[{"error":"INVALID_SYS_ID","message":"Invalid sys_id [a9c0c8d2c6112276018f7705562f9cb0]"}],"operationalState":"unknown","result":false}

## StateManagementScriptableApi - isCompatibleCIAction(文字列 actionName, 文字列 otherActionName) {#ariaid-title6}

指定された 2 つのアクションに互換性があるかどうかを判断します。
{#SMSA-isCompatibleCIAction_S_S__table_fkl_v1t_px__entry__3}

| 名前 | タイプ | 説明 |
|-|-|-|
| actionName | 文字列 | CI アクション名 |
| otherActionName | 文字列 | CI アクション名 |
[表 : 9. パラメーター]

{#SMSA-isCompatibleCIAction_S_S__table_fkl_v1t_px} {#SMSA-isCompatibleCIAction_S_S__table_gkl_v1t_px__entry__2}

| タイプ | 説明 |
|-|-|
| ブーリアン | 指定された 2 つの CI アクションに互換性がある場合は true を返します。 |
[表 : 10. 返される内容]

{#SMSA-isCompatibleCIAction_S_S__table_gkl_v1t_px}

## StateManagementScriptableApi - isLeaseExpired(文字列 requestorId, 文字列 ciSysId, 文字列 ciActionName) {#ariaid-title7}

指定された CI アクションの要求者のリース期限が切れているかどうかを判断します。
{#SMSA-isLeaseExpired_S_S_S__table_ot5_v5r_px__entry__3}

| 名前 | タイプ | 説明 |
|-|-|-|
| requestorId | 文字列 | ワークフローコンテキストの sys_id、または registerOperator() メソッドから返された GUID。 |
| ciSysId | 文字列 | CI の sys_id。 |
| ciActionName | 文字列 | CI アクションの名前。 |
[表 : 11. パラメーター]

{#SMSA-isLeaseExpired_S_S_S__table_ot5_v5r_px} {#SMSA-isLeaseExpired_S_S_S__table_pt5_v5r_px__entry__2}

| タイプ | 説明 |
|-|-|
| 文字列 | 以下の名前と値のペアを含む JSON 形式の文字列 * result：ユーザーのリース期限が切れている場合は true。 * errors：エラーのリスト。 {#SMSA-isLeaseExpired_S_S_S__ul_ewf_5vl_px} |
[表 : 12. 返される内容]

{#SMSA-isLeaseExpired_S_S_S__table_pt5_v5r_px}

## StateManagementScriptableApi - isNotAllowedAction(文字列 ciType, 文字列 opsLabel, 文字列 actionName) {#ariaid-title8}

CI のタイプについて、運用ステータスに対して CI アクションが許可されていないかどうかを判断します。
{#SMSA-isNotAllowedAction_S_S_S__table_lzz_cxs_px__entry__3}

| 名前 | タイプ | 説明 |
|-|-|-|
| ciType | 文字列 | CI タイプ |
| opsLabel | 文字列 | 運用ステータス |
| actionName | 文字列 | CI アクション名 |
[表 : 13. パラメーター]

{#SMSA-isNotAllowedAction_S_S_S__table_lzz_cxs_px} {#SMSA-isNotAllowedAction_S_S_S__table_mzz_cxs_px__entry__2}

| タイプ | 説明 |
|-|-|
| ブーリアン | 指定された運用ステータスの指定された CI タイプでアクションが許可されていない場合は true を返します。 |
[表 : 14. 返される内容]

{#SMSA-isNotAllowedAction_S_S_S__table_mzz_cxs_px}

## StateManagementScriptableApi - isNotAllowedOpsTransition(文字列 ciType, 文字列 opsLabel, 文字列 transitionOpsLabel) {#ariaid-title9}

CI のタイプについて、運用ステータス移行が許可されていないかどうかを判断します。
{#SMSA-isNotAllowedOpsTransition_S_S_S__table_erm_mys_px__entry__3}

| 名前 | タイプ | 説明 |
|-|-|-|
| ciType | 文字列 | CI タイプ |
| opsLabel | 文字列 | 開始時の運用ステータスのラベル。 |
| transitionOpsLabel | 文字列 | 終了時の運用ステータスのラベル。 |
[表 : 15. パラメーター]

{#SMSA-isNotAllowedOpsTransition_S_S_S__table_erm_mys_px} {#SMSA-isNotAllowedOpsTransition_S_S_S__table_frm_mys_px__entry__2}

| タイプ | 説明 |
|-|-|
| ブーリアン | 指定された CI タイプで指定された運用ステータス移行が許可されていない場合は true を返します。 |
[表 : 16. 返される内容]

{#SMSA-isNotAllowedOpsTransition_S_S_S__table_frm_mys_px}

## StateManagementScriptableApi - isValidRequestor(文字列 requestorId) {#ariaid-title10}

指定された要求者が有効かつアクティブなワークフローユーザーまたは登録されたユーザーであるかどうかを判断します。
{#SMSA-isValidRequestor_S__table_dr5_5sr_px__entry__3}

| 名前 | タイプ | 説明 |
|-|-|-|
| requestorId | 文字列 | ワークフローコンテキストの sys_id、または registerOperator() メソッドから返された GUID。 |
[表 : 17. パラメーター]

{#SMSA-isValidRequestor_S__table_dr5_5sr_px} {#SMSA-isValidRequestor_S__table_er5_5sr_px__entry__2}

| タイプ | 説明 |
|-|-|
| 文字列 | JSON 形式の名前と値のペア。 可能な値： * result：requestorId が有効な場合は true。 * errors：エラーのリスト。 |
[表 : 18. 返される内容]

{#SMSA-isValidRequestor_S__table_er5_5sr_px}  
この例では、isValidRequestor() メソッドを使用して、オペレーターが登録済みユーザーであるかどうかを確認する方法を示します。

    var output = SNC.StateManagementScriptableApi.registerOperator();
    var jsonUtil = new JSON();
    var result = jsonUtil.decode(output);
    var requestorId = result.requestorId; // Fetching requestorId

    output = SNC.StateManagementScriptableApi.isValidRequestor(requestorId);
    gs.info(output);

出力：

    {"result":true}

## StateManagementScriptableApi - registerOperator() {#ariaid-title11}

ワークフロー以外のユーザーのオペレーターを登録します。
{#SMSA-registerOperator__table_l5c_hvl_px__entry__3}

| 名前 | タイプ | 説明 |
|-|-|-|
| なし |   |   |
[表 : 19. パラメーター]

{#SMSA-registerOperator__table_l5c_hvl_px} {#SMSA-registerOperator__table_m5c_hvl_px__entry__2}

| タイプ | 説明 |
|-|-|
| 文字列 | 以下の名前と値のペアを含む JSON 形式の文字列 * requestorid：CI アクション/運用ステータスを設定する際に使用される登録済みユーザーの GUID。 * result：正常に登録された場合は true。 * errors：エラーのリスト。 {#SMSA-registerOperator__ul_ewf_5vl_px} |
[表 : 20. 返される内容]

{#SMSA-registerOperator__table_m5c_hvl_px}  


    var output = SNC.StateManagementScriptableApi.registerOperator();
    var jsonUntil = new JSON();
    var result = jsonUntil.decode(output);
    var requestorId = result.requestorId;

## StateManagementScriptableApi - removeBulkCIAction(文字列 requestorId, 文字列 sysIdList, 文字列 ciActionName) {#ariaid-title12}

CI のリストの CI アクションを削除します。
{#SMSA-removeBulkCIAction_S_S_S__table_iz1_2vs_px__entry__3}

| 名前 | タイプ | 説明 |
|-|-|-|
| requestorId | 文字列 | ワークフローコンテキストの sys_id、または registerOperator() メソッドから返された GUID。 |
| sysIdList | 文字列 | CI の sys_id のカンマ区切りリスト |
| ciActionName | 文字列 | CI アクション名 |
[表 : 21. パラメーター]

{#SMSA-removeBulkCIAction_S_S_S__table_iz1_2vs_px} {#SMSA-removeBulkCIAction_S_S_S__table_jz1_2vs_px__entry__2}

| タイプ | 説明 |
|-|-|
| 文字列 | 以下の名前と値のペアを含む JSON 形式の文字列 * result：リスト内のすべての CI に対してアクションが削除されている場合は true、そうでない場合は false。 * errors：エラーのリスト。 {#SMSA-removeBulkCIAction_S_S_S__ul_ewf_5vl_px} |
[表 : 22. 返される内容]

{#SMSA-removeBulkCIAction_S_S_S__table_jz1_2vs_px}

## StateManagementScriptableApi - setBulkCIOperationalState(文字列 requestorId, 文字列 sysIdList, 文字列 opsLabel, 文字列 opsStateListOld) {#ariaid-title13}

CI のリストに対して運用ステータスを設定します。
{#SMSA-setBulkCIOpState_S_S_S_S__table_hgf_5ks_px__entry__3}

| 名前 | タイプ | 説明 |
|-|-|-|
| requestorId | 文字列 | ワークフローコンテキストの sys_id、または registerOperator() メソッドから返された GUID。 |
| sysIdList | 文字列 | CI の sys_id のカンマ区切りリスト。 |
| opsLabel | 文字列 | operational_status という選択肢の文字列ラベルです。 |
| opsStateListOld | 文字列 | (オプション) すべての CI が含まれているはずの、古い CI ステータスのカンマ区切りリスト。 |
[表 : 23. パラメーター]

{#SMSA-setBulkCIOpState_S_S_S_S__table_hgf_5ks_px} {#SMSA-setBulkCIOpState_S_S_S_S__table_igf_5ks_px__entry__2}

| タイプ | 説明 |
|-|-|
| 文字列 | 以下の名前と値のペアを含む JSON 形式の文字列 * result：リスト内のすべての CI にステータスが設定されている場合は true、そうでない場合は false。 * errors：エラーのリスト。 {#SMSA-setBulkCIOpState_S_S_S_S__ul_ewf_5vl_px} |
[表 : 24. 返される内容]

{#SMSA-setBulkCIOpState_S_S_S_S__table_igf_5ks_px}  

    var output = SNC.StateManagementScriptableApi.registerOperator();
    var jsonUntil = new JSON();
    var result = jsonUtil.decode(output);
    var requestorId = result.requestorId;

    // list of sys_ids to update
    var sys_ids;

    // 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);

## StateManagementScriptableApi - unregisterOperator(文字列 requestorId) {#ariaid-title14}

ワークフロー以外のユーザーのオペレーターの登録を解除します。
{#SMSA-unregisterOperator_S__table_pwv_2xl_px__entry__3}

| 名前 | タイプ | 説明 |
|-|-|-|
| requestorId | 文字列 | ワークフローコンテキストの sys_id、または registerOperator() メソッドから返された GUID。 |
[表 : 25. パラメーター]

{#SMSA-unregisterOperator_S__table_pwv_2xl_px} {#SMSA-unregisterOperator_S__table_qwv_2xl_px__entry__2}

| タイプ | 説明 |
|-|-|
| 文字列 | JSON 形式の名前と値のペア。 可能な値： * result：正常に登録解除された場合は true。 * errors：エラーのリスト。 |
[表 : 26. 返される内容]

{#SMSA-unregisterOperator_S__table_qwv_2xl_px}  
この例では、unregisterOperator() メソッドを使用して登録済みユーザーを登録解除する方法を示します。

    var output = SNC.StateManagementScriptableApi.registerOperator();
    var jsonUtil = new JSON();
    var result = jsonUtil.decode(output);
    var requestorId = result.requestorId; // Fetching requestorId

    output = SNC.StateManagementScriptableApi.unregisterOperator(requestorId);
    gs.info(output); 

出力：

    {"result":true}


