PDAutomationProvider - 범위가 지정됨, 전역

  • 릴리스 버전: Zurich
  • 업데이트 날짜 2025년 07월 31일
  • 소요 시간: 15분
  • PDAutomationProvider API를 사용하면 실행 중인 프로세스에 선택적 작업을 삽입할 수 있습니다.

    이 API는 플러그인(com.glide.pad.core)의 플레이북 일부이며 sn_pad 네임스페이스에서 실행됩니다.

    이 API를 사용하여 스크립트를 호출하려면 다음 중 하나 이상이 필요합니다.
    • 호출자는 선택적 활동 트리거가 만들어진 범위와 동일한 범위에 있어야 합니다.
    • 관리자 권한이 필요합니다.

    프로세스는 레인별로 정렬된 일련의 활동입니다. 선택적 활동은 프로세스 설계 중에 미리 정의됩니다. 활동이 정확한 시간에 실행되도록 예약되어 있지 않습니다. 활동은 레인에 할당되고 레인 실행 중에 실행되도록 할 수 있습니다. 활동을 프로세스에 할당하여 레인 실행 중에 실행할 수 있게 할 수 있습니다.

    선택적 활동을 생성하려면 활동 [sys_pd_activity] 테이블에서 시작 규칙이수동으로 설정되어 있어야 합니다. 플레이북 는 현재 수동 활동 생성을 지원하지 않습니다.

    에이전트가 레인에 선택적 활동을 추가하거나 다른 활동에 상대적인 활동을 추가합니다. 선택적 활동을 삽입하려면 프로세스가 실행 중이어야 합니다.

    PDAutomationProvider – activateProcess(문자열 processDefinitionSysId)

    플레이북을 활성화합니다.

    표 1. 매개변수
    이름 유형 설명
    processDefinitionSysId 문자열 Playbook의 Sys_id입니다.

    테이블: 프로세스 정의 [sys_pd_process_definition]

    표 2. 반환
    속성 설명
    객체 프로세스 정의 활성화 상세 정보를 포함하는 객체입니다.
    {
      "errors": [Array]
      "process_definition": {Object},
      "state": "String"
    }
    오류 오류 목록입니다. 성공하면 비어 있습니다.

    데이터 유형: 문자열 배열

    process_definition 활성화된 플레이북과 해당 속성입니다.

    데이터 유형: 객체

    "process_definition":
    {
      "active": Boolean,
      "snapshot": {Object},
      "status": "String"
    }
    process_definition.활성 비활성화된 플레이북에 대한 프로세스 정의가 활성 상태인지 여부를 나타내는 플래그입니다. 프로세스 정의 [sys_pd_process_definition] 목록에서 프로세스 정의를 찾습니다.
    유효한 값은 다음과 같습니다.
    • True: 비활성화된 Playbook에 대한 프로세스 정의가 활성 상태입니다.
    • False: 비활성화된 Playbook에 대한 프로세스 정의가 비활성 상태입니다.

    데이터 유형: 부울

    process_definition.snapshot 활성화 당시의 프로세스 정의에 대한 세부 정보를 포함합니다.

    데이터 유형: 객체

    {
      "snapshot":
        {
          "created": "String",
          "processDefinitionSysId": "String"
        }
    }
    process_definition. 스냅 사진. 만든 플레이북이 생성된 날짜입니다.

    데이터 유형: 문자열

    process_definition. 스냅 사진. processDefinitionSysId 활성화된 플레이북의 sys_id입니다.

    데이터 유형: 문자열

    process_definition.status 플레이북의 게시 상태를 나타냅니다.
    가능한 값:
    • 초안: 플레이북이 초안 상태입니다.
    • 게시됨: 플레이북이 게시됨 상태입니다.

    데이터 유형: 문자열

    상태 활성화 요청이 성공했는지 여부를 나타냅니다.
    가능한 값:
    • 성공 - 플레이북이 성공적으로 활성화되었습니다.
    • 실패 – 플레이북의 ID를 찾을 수 없습니다.

    데이터 유형: 객체

    다음 예는 플레이북을 활성화하는 방법을 보여줍니다.

    var myPlaybook = sn_pad.PDAutomationProvider.activateProcess('cdd1b85e43000210d96e29c28ab8f275');
    gs.info(JSON.stringify(myPlaybook));
    출력:
    {
      "process_definition": {
        "active": true,
        "snapshot": {
          "processDefinitionId": "cdd1b85e43000210d96e29c28ab8f275",
          "created": "2024-02-19 22:58:12"
        },
        "status": "published"
      },
      "state": "SUCCESS",
      "errors": []
    }

    PDAutomationProvider – addOptionalActivityRelativeToActivityContext(String contextID, String activityId, String where, String relativeToId)

    프로세스 실행 중에 다른 활동을 기준으로 실행할 프로세스에 지정된 선택적 활동을 추가합니다.

    활동 컨텍스트는 프로세스가 실행될 때 각 활동에 대해 생성됩니다. 컨텍스트는 활동이 실행을 처리하는 방법도 처리합니다. 자세한 내용은 Process Automation Designer 레인 및 활동을 참조하십시오.

    표 3. 매개변수
    이름 유형 설명
    contextID 문자열 선택적 활동을 추가할 활동 실행의 Sys_id입니다. 액세스하려면 프로세스 실행 [sys_pd_context] 테이블에 나열된 프로세스를 클릭합니다. 선택한 실행은 진행 중 상태여야 합니다.
    activityId 문자열 활동 [sys_pd_activity] 테이블에 나열된 선택적 활동의 Sys_id입니다.
    주:
    선택적 활동을 생성하려면 활동 [sys_pd_activity] 테이블에서 시작 규칙이수동으로 설정되어 있어야 합니다.
    위치 문자열 프로세스에서 활동을 배치할 위치를 나타냅니다.
    유효한 값은 다음과 같습니다.
    • AFTER – 상대 활동 후에 이 활동을 실행합니다 문맥.
    • WITH – 활동을 다른 상대 활동과 동시에 실행합니다 문맥.
    relativeToId 문자열 선택적 활동이 이후 또는 함께 실행될 상대 활동 컨텍스트의 ID입니다. 활동 컨텍스트 [sys_pd_activity_context] 테이블에 나열됩니다.
    표 4. 반환
    유형 설명
    부울 활동 실행이 성공적으로 예약되었는지 여부를 나타내는 플래그.
    가능한 값:
    • true: 활동 실행이 성공적으로 예약되었습니다. 출력은 성공을 나타내는 문자열입니다.
    • false: 활동 실행이 성공적으로 예약되지 않았습니다. 출력은 하나 이상의 오류 메시지의 배열입니다.

    오류인 경우 하나 이상의 오류 메시지 목록입니다. 그렇지 않으면 0개 이상의 요소로 구성된 배열이라는 메시지입니다.

    배열 오류인 경우 하나 이상의 오류 메시지 목록입니다. 그렇지 않으면 0개 이상의 요소로 구성된 배열이라는 메시지입니다.
    가능한 오류 메시지:
    • 잘못된 선택적 활동 ID: 매개변수에 activityId 제공된 sys_id 잘못되었습니다.
    • 잘못된 PD 컨텍스트 ID: 매개변수에 contextID 제공된 PD(프로세스 디자이너) sys_id 잘못되었습니다.
    • 잘못된 직책 유형: 제공된 직책 유형이 잘못되었습니다. 유효한 유형에 대한 매개변수 설명을 where 참조하십시오.
    • 잘못된 상대 ID: 매개변수에 relativeToId 제공된 sys_id 잘못되었습니다.
    • 선택적 활동을 찾을 수 없음: 매개변수에 activityId 제공된 sys_id 찾을 수 없습니다.
    • 선택적 활동을 실행하려면 프로세스가 여전히 활성 상태여야 합니다. 이 활동을 포함하는 프로세스는 활성 상태여야 합니다.
    • 상대 활동 컨텍스트를 찾을 수 없음 : 매개변수에 relativeToId 제공된 sys_id 찾을 수 없습니다.

    다음 예제에서는 상대 작업 컨텍스트와 동시에 선택적 작업을 실행하는 방법을 보여 줍니다.

    var contextId = '<context_id>';
    var optionalActivityId = '<optional_activity_id>';
    var where = 'WITH'; // options AFTER, WITH
    var relativeToId = '<relative_activity_context_id>'; // relative activity context ID
    
    var response = sn_pad.PDAutomationProvider.addOptionalActivityRelativeToActivityContext(contextId, optionalActivityId, where, relativeToId);
    
    gs.info(JSUtil.describeObject(response));
    출력(성공):
    success: boolean = true
    errors: Array of 0 elements

    PDAutomationProvider – addOptionalActivityRelativeToLaneContext(String contextID, String activityId, String where, String relativeToId)

    레인의 실행 컨텍스트 동안 실행할 레인에 선택적 활동을 할당합니다.

    프로세스가 실행되면 각 레인에 대해 레인 컨텍스트가 생성됩니다. 컨텍스트는 레인이 실행을 처리하는 방법도 처리합니다. 자세한 내용은 Process Automation Designer 레인 및 활동을 참조하십시오.

    표 5. 매개변수
    이름 유형 설명
    contextID 문자열 선택적 활동을 추가할 활동 실행의 Sys_id입니다. 액세스하려면 프로세스 실행 [sys_pd_context] 테이블에 나열된 프로세스를 클릭합니다. 선택한 실행은 진행 중 상태여야 합니다.
    activityId 문자열 활동 [sys_pd_activity] 테이블에 나열된 선택적 활동의 Sys_id입니다.
    주:
    선택적 활동을 생성하려면 활동 [sys_pd_activity] 테이블에서 시작 규칙이수동으로 설정되어 있어야 합니다.
    위치 문자열 프로세스에서 활동을 배치할 위치를 나타냅니다.
    유효한 값은 다음과 같습니다.
    • LAST – 레인에서 최종 활동으로 실행합니다 문맥.
    • NEXT – 레인의 다음 활동에서 실행합니다 문맥.
    relativeToId 문자열 선택적 활동이 실행되는 상대 레인 컨텍스트의 ID입니다. 레인 컨텍스트 [sys_pd_lane_context] 테이블에 나열됩니다.
    표 6. 반환
    유형 설명
    부울 활동 실행이 성공적으로 예약되었는지 여부를 나타내는 플래그.
    가능한 값:
    • true: 활동 실행이 성공적으로 예약되었습니다. 출력은 성공을 나타내는 문자열입니다.
    • false: 활동 실행이 성공적으로 예약되지 않았습니다. 출력은 하나 이상의 오류 메시지의 배열입니다.
    배열 오류인 경우 하나 이상의 오류 메시지 목록입니다. 그렇지 않으면 0개 이상의 요소로 구성된 배열이라는 메시지입니다.
    가능한 오류 메시지:
    • 잘못된 선택적 활동 ID: 매개변수에 activityId 제공된 sys_id 잘못되었습니다.
    • 잘못된 PD 컨텍스트 ID: 매개변수에 contextID 제공된 PD(프로세스 디자이너) sys_id 잘못되었습니다.
    • 잘못된 직책 유형: 제공된 직책 유형이 잘못되었습니다. 유효한 유형에 대한 매개변수 설명을 where 참조하십시오.
    • 잘못된 상대 ID: 매개변수에 relativeToId 제공된 sys_id 잘못되었습니다.
    • 선택적 활동을 레인에 추가할 수 없음: 매개변수에 activityId 제공된 선택적 활동은 매개변수에 relativeToId 제공된 레인을 기준으로 추가할 수 없습니다. 선택한 활동 실행진행 중 상태인지 확인합니다.
    • 선택적 활동을 찾을 수 없음: 매개변수에 activityId 제공된 sys_id 찾을 수 없습니다.
    • 선택적 활동을 실행하려면 프로세스가 여전히 활성 상태여야 합니다. 이 활동을 포함하는 프로세스는 활성 상태여야 합니다.
    • 상대 레인 컨텍스트를 찾을 수 없음 : 매개변수에 relativeToId 제공된 sys_id 찾을 수 없습니다.

    다음 예는 레인 컨텍스트에서 선택적 활동을 최종 활동으로 실행하는 방법을 보여줍니다.

    var contextId = '<context_id>';
    var optionalActivityId = '<optional_activity_id>';
    var where = 'LAST'; // options LAST, NEXT
    var relativeToId = '<relative_lane_context_id>'; // relative lane context ID
    
    var response = sn_pad.PDAutomationProvider.addOptionalActivityRelativeToLaneContext(contextId, optionalActivityId, where, relativeToId);
    
    gs.info(JSUtil.describeObject(response));
    출력(성공):
    success: boolean = true
    errors: Array of 0 elements

    PDAutomationProvider – deactivateProcess(문자열 processDefinitionSysId)

    플레이북을 비활성화합니다.

    표 7. 매개변수
    이름 유형 설명
    processDefinitionSysId 문자열 Playbook의 Sys_id입니다.

    테이블: 프로세스 정의 [sys_pd_process_definition]

    표 8. 반환
    속성 설명
    객체 프로세스 정의 비활성화 상세 정보를 포함하는 객체입니다.
    {
      "errors": [Array]
      "process_definition": {Object},
      "state": "String"
    }
    오류 오류 목록입니다. 성공하면 비어 있습니다.

    데이터 유형: 문자열 배열

    process_definition 비활성화된 플레이북과 해당 속성입니다.

    데이터 유형: 객체

    "process_definition":
    {
      "active": Boolean,
      "snapshot": {Object},
      "status": "String"
    }
    process_definition.활성 비활성화된 플레이북에 대한 프로세스 정의가 활성 상태인지 여부를 나타냅니다. 프로세스 정의 [sys_pd_process_definition] 목록에서 프로세스 정의를 찾습니다.
    가능한 값:
    • True: 비활성화된 Playbook에 대한 프로세스 정의가 활성 상태입니다.
    • False: 비활성화된 Playbook에 대한 프로세스 정의가 비활성 상태입니다.

    데이터 유형: 부울

    process_definition.description 비활성화된 플레이북에 대한 세부 정보입니다.

    데이터 유형: 문자열

    process_definition.label 인터페이스에서 사용자에게 표시되는 비활성화된 플레이북의 이름입니다.

    데이터 유형: 문자열

    process_definition.name 코드에서 비활성화된 플레이북의 이름입니다. 스크립팅에서 요청 매개변수로만 사용됩니다.

    데이터 유형: 문자열

    process_definition.scope 플레이북이 비활성화된 애플리케이션 범위의 sys_id입니다.

    데이터 유형: 문자열

    process_definition.status 플레이북이 게시되면 다시 초안으로 변경됩니다.

    데이터 유형: 문자열

    상태 비활성화에 성공했는지 여부를 나타냅니다.
    가능한 값:
    • 성공 - 플레이북이 성공적으로 비활성화되었습니다.
    • 실패 – 플레이북의 ID를 찾을 수 없습니다.

    데이터 유형: 문자열

    플레이북을 비활성화합니다.

    sn_pad.PDAutomationProvider.deactivateProcess('cdd1b85e43000210d96e29c28ab8f275')

    출력:

    {"process_definition":{"scope":"global","name":"test","active":true,"description":"","label":"test","status":"draft"},"state":"SUCCESS"}

    PDAutomationProvider – duplicateProcess(String processDefinitionSysId, String label, String description, String scopeId, String triggerTypeId)

    플레이북을 복제합니다.

    표 9. 매개변수
    이름 유형 설명
    processDefinitionSysId 문자열 Playbook의 Sys_id입니다.

    테이블: 프로세스 정의 [sys_pd_process_definition]

    레이블 문자열 중복된 플레이북의 이름입니다.
    설명 문자열 옵션입니다. 플레이북에 대한 상세 정보를 추가합니다.
    scopeId 문자열 플레이북을 실행할 애플리케이션 범위의 sys_id입니다. 범위가 지정된 이름은 scope.name 형식의 프로세스 정의 [sys_pd_process_definition] 테이블에서 가져옵니다. 전역 범위에 대한 sys_id 입력하면 플레이북이 모든 애플리케이션 범위에서 실행되도록 할 수 있습니다.
    triggerTypeId 문자열 플레이북 실행을 시작할 트리거의 sys_id입니다. 트리거 유형 [sys_pd_trigger_type] 테이블에서 트리거 유형을 찾아 해당 sys_id 복사합니다.
    표 10. 반환
    속성 설명
    객체 프로세스 정의 중복 상세 정보를 포함하는 객체입니다.
    {
      "errors": [Array]
      "processDefinitionSysId": "String",
      "state": "String"
    }
    오류 오류 목록입니다. 성공하면 비어 있습니다.

    데이터 유형: 문자열 배열

    가능한 오류 메시지:
    • scopeId에 대한 범위를 찾을 수 없음: xyz
    • ID에 대한 프로세스 정의를 찾을 수 없음: xyz
    • triggerTypeId에 대한 트리거 유형을 찾을 수 없음: xyz
    processDefinitionSysId 프로세스 정의 [sys_pd_process_definition] 테이블에 있는 새 플레이북의 sys_id입니다.

    데이터 유형: 문자열

    상태 플레이북 복제가 성공했는지 여부를 나타냅니다.
    가능한 값:
    • 성공 – 플레이북이 성공적으로 복제되었습니다.
    • 실패 – 플레이북, 애플리케이션 범위 또는 트리거의 ID를 찾을 수 없습니다.

    데이터 유형: 객체

    이 예에서는 sys_id f8ca6192ec210210f8772cbd595eab20을 사용하여 플레이북을 복제하는 방법을 보여줍니다. 새 플레이북은 플레이북 2.0으로 명명되고, 애플리케이션 범위가 전역이며, 기록이 생성될 때 트리거됩니다. 기록 생성 트리거 유형의 sys_id ab6951170f1200108c87f4f0ff767e4f입니다.

    sn_pad.PDAutomationProvider.duplicateProcess('f8ca6192ec210210f8772cbd595eab20', 'Playbook 2.0', '', 'global', 'ab6951170f1200108c87f4f0ff767e4f');

    출력:

    {"processDefinitionSysId":"6e4f0b8fece9c210f8772cbd595eabda","state":"SUCCESS"}