---
sourceDocument: 호주 API 참조
sourceDocumentLink: https://servicenow-prod.fluidtopics.net/r/ko-KR/api-reference

 Release :

    - australia

ft:locale :

    - ko-KR

ft:publication_title :

    - 호주 API 참조

ft:clusterId :

    - crapiref

bundleId :

    - crapiref

workflow :

    - Creator


---

# StateManagementScriptableApi - 전역

# StateManagementScriptableApi - 전역 {#ariaid-title1}

* 릴리스 버전: Australia
* 
* 업데이트 날짜 2026년 03월 12일
* 
* ![](https://www.servicenow.com/docs/portal-asset/ico-clock) 소요 시간: 13분

StateManagementScriptableApi는 CI(구성 항목) 운영 상태를 조작하고 CI 작업을 적용하기 위한 일련의 메서드를 제공합니다.

StateManagementScriptableApi 메서드는 허용되지 않는 CI 작업, 호환 가능한 CI 작업 및 허용되지 않는 운영 전환에 지정된 제한 및 허용량을 따릅니다. 메서드가 제한된 작업을 수행하려고 하면 작업이 차단되고 오류가 기록되며 적절한 경우 작업이 만들어집니다.

StateManagementScriptableApi 메서드는 정적 메서드입니다. SNC를 사용하여 메서드에 액세스합니다 `. StateManagementScriptableApi` 전역 객체입니다.

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

CI 목록에 CI 작업을 추가합니다.
{#SMSA-addBulkCIAction_S_S_S_S_S__table_g5l_w4s_px__entry__3}

| 이름 | 유형 | 설명 |
|-|-|-|
| requestorId | 문자열 | 워크플로우 컨텍스트의 sys_id 또는 registerOperator() 메서드에서 반환된 GUID입니다. |
| sysId목록 | 문자열 | 쉼표로 구분된 CI sys_ids 목록 |
| ciActionName | 문자열 | CI 작업 이름입니다. |
| ciActionListOld | 문자열 | (선택 사항) 모든 CI가 있어야 하는 이전 CI 작업의 쉼표로 구분된 목록입니다. |
| 임대 시간 | 문자열 | (선택 사항) 지정된 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 형식의 문자열 * 결과 - 목록의 모든 CI에 대해 작업이 설정된 경우 예입니다. 그렇지 않으면 false입니다. * 오류 - 오류 목록입니다. {#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 작업 이름입니다. |
| 임대 시간 | 문자열 | 지정된 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 형식의 문자열 * 결과 - 임대 시간이 설정된 경우 예입니다. * 오류 - 오류 목록입니다. {#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 또는 no_active_action에 대한 활성 CI 작업의 쉼표로 구분된 목록입니다. * 오류 - 오류 목록입니다. {#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 필드의 문자열 선택 값 또는 알 수 없음입니다. * 오류 - 오류 목록입니다. {#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(String actionName, String otherActionName) {#ariaid-title6}

지정된 두 작업이 호환되는지 여부를 결정합니다.
{#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}

| 유형 | 설명 |
|-|-|
| 부울 | 지정된 두 CI 작업이 호환되는 경우 예를 반환합니다. |
[표 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 형식의 문자열 * 결과 - 사용자의 임대가 만료된 경우 예입니다. * 오류 - 오류 목록입니다. {#SMSA-isLeaseExpired_S_S_S__ul_ewf_5vl_px} |
[표 12. 반환]

{#SMSA-isLeaseExpired_S_S_S__table_pt5_v5r_px}

## StateManagementScriptableApi - isNotAllowedAction(String ciType, String opsLabel, String 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 유형에서 작업이 허용되지 않으면 예를 반환합니다. |
[표 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 유형에서 지정된 운영 상태 전환이 허용되지 않는 경우 예를 반환합니다. |
[표 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 | 문자열 | 워크플로 컨텍스트 또는 registerOperator() 메서드에서 반환된 GUID의 Sys_id입니다. |
[표 17. 매개변수]

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

| 유형 | 설명 |
|-|-|
| 문자열 | JSON 형식의 이름-값 쌍입니다. 가능한 값: * 결과 - requestorId가 유효한 경우 예 입니다. * 오류 - 오류 목록입니다. |
[표 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입니다. * 결과 - 성공적으로 등록된 경우 예입니다. * 오류 - 오류 목록입니다. {#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(String requestorId, String sysIdList, String ciActionName) {#ariaid-title12}

CI 목록에 대한 CI 작업을 제거합니다.
{#SMSA-removeBulkCIAction_S_S_S__table_iz1_2vs_px__entry__3}

| 이름 | 유형 | 설명 |
|-|-|-|
| requestorId | 문자열 | 워크플로우 컨텍스트의 sys_id 또는 registerOperator() 메서드에서 반환된 GUID입니다. |
| sysId목록 | 문자열 | 쉼표로 구분된 CI sys_ids 목록 |
| ciActionName | 문자열 | CI 작업 이름 |
[표 21. 매개변수]

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

| 유형 | 설명 |
|-|-|
| 문자열 | 에 대한 이름-값 쌍이 있는 JSON 형식의 문자열 * 결과 - 목록의 모든 CI에 대해 작업이 제거되면 예입니다. 그렇지 않으면 false입니다. * 오류 - 오류 목록입니다. {#SMSA-removeBulkCIAction_S_S_S__ul_ewf_5vl_px} |
[표 22. 반환]

{#SMSA-removeBulkCIAction_S_S_S__table_jz1_2vs_px}

## StateManagementScriptableApi - setBulkCIOperationalState(String requestorId, string sysIdList, String opsLabel, String opsStateListOld) {#ariaid-title13}

CI 목록의 운영 상태를 설정합니다.
{#SMSA-setBulkCIOpState_S_S_S_S__table_hgf_5ks_px__entry__3}

| 이름 | 유형 | 설명 |
|-|-|-|
| requestorId | 문자열 | 워크플로우 컨텍스트의 sys_id 또는 registerOperator() 메서드에서 반환된 GUID입니다. |
| sysId목록 | 문자열 | 쉼표로 구분된 CI sys_ids 목록입니다. |
| 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 형식의 문자열 * 결과 - 목록의 모든 CI에 대해 상태가 설정된 경우 예입니다. 그렇지 않으면 false입니다. * 오류 - 오류 목록입니다. {#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 | 문자열 | 워크플로 컨텍스트 또는 registerOperator() 메서드에서 반환된 GUID의 Sys_id입니다. |
[표 25. 매개변수]

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

| 유형 | 설명 |
|-|-|
| 문자열 | JSON 형식의 이름-값 쌍입니다. 가능한 값: * 결과 - 등록 취소에 성공하면 예입니다 . * 오류 - 오류 목록입니다. |
[표 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}


