플레이북경험 - 범위 지정됨
PlaybookExperience API는 플레이북 실행을 처리하기 위한 메서드를 제공합니다.
이 API에는 플레이북 경험 Core 플러그인(com.glide.playbook_experience.config)이 필요하며 sn_playbook 네임스페이스 내에서 제공됩니다.
이 API에는 프로세스 정의 [sys_pd_process_definition] 테이블에 하나 이상의 플레이북이 필요합니다. 이 API를 사용하려면 Process Automation Designer에서 실행 중인 프로세스를 보고 취소하는 데 필요한 역할이 있어야 합니다. 자세한 내용은 프로세스 자동화 디자이너를 참조하십시오.
플레이북경험 - cancelPlaybooksByParentRecord(GlideRecord parentRecord, string cancellationReason, string scopedName, string playbookExperienceId)
지정된 상위 기록에 대한 플레이북 실행을 취소합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| parentRecord | GlideRecord | Playbook 실행을 취소할 상위 기록입니다. 상위 기록은 상호작용 기록 또는 온보딩 케이스 기록과 같이 플레이북 실행이 있는 모든 기록일 수 있습니다. |
| cancellation이유 | 문자열 | 플레이북 실행을 취소하는 이유입니다. |
| scopedName | 문자열 | 옵션입니다. 취소할 플레이북의 범위가 지정된 이름입니다. 범위가 지정된 이름은 scope.name 형식의 프로세스 정의 [sys_pd_process_definition] 테이블에서 가져옵니다. 제공된 경우 지정된 상위 기록에 대해 이 Playbook의 실행만 취소됩니다. 제공되지 않은 경우 지정된 상위 기록에 대한 모든 Playbook의 모든 실행이 취소됩니다. |
| playbookExperienceId | 문자열 | 옵션입니다. 취소에 사용할 플레이북 경험 [sys_playbook_experience] 테이블의 플레이북 경험 기록 Sys_id입니다. 사용자 지정 활동 상태 매핑을 정의한 경우 이 매개변수를 사용합니다. 플레이북 활동 상태 매핑을 참조하십시오. 기본값: 글로벌 플레이북 경험 기록의 Sys_id. |
| 유형 | 설명 |
|---|---|
| 객체 | 취소된 플레이북 실행 및 취소할 수 없었지만 건너뛴 플레이북 실행을 포함하는 객체입니다. |
| <Object>.canceled플레이북컨텍스트 | 취소된 Playbook 실행 목록입니다. 각 플레이북 실행은 배열의 객체입니다. 데이터 유형: 배열 |
| <Object>.canceledPlaybookContext.can_read | 현재 사용자가 플레이북 실행 기록을 읽을 수 있는지 여부를 나타내는 플래그입니다. 현재 사용자에게 상위 기록에 대한 읽기 권한이 있어야 Playbook 실행 기록을 읽을 수 있습니다. 유효한 값은 다음과 같습니다.
데이터 유형: 부울 |
| <Object>.canceledPlaybookContext.canceled_by | 플레이북 실행을 취소한 사용자의 사용자 ID 입니다. 데이터 유형: 문자열 |
| <Object>.canceledPlaybookContext.cancellation_reason | 플레이북 실행을 취소한 사용자가 입력한 취소 사유입니다. 데이터 유형: 문자열 |
| <Object>.canceled플레이북컨텍스트.errors | 취소 오류 목록입니다. 각 오류는 배열의 개체입니다. 데이터 유형: 배열 |
| <Object>.canceled플레이북컨텍스트.오류.메시지 | 오류 메시지입니다. 데이터 유형: 문자열 |
| <Object>.canceled플레이북컨텍스트.오류.유형 | 오류 유형입니다. 데이터 유형: 문자열 |
| <Object>.canceledPlaybookContext.parent_record | Playbook 실행이 취소된 상위 기록의 Sys_id입니다. 데이터 유형: 문자열 |
| <Object>.canceledPlaybookContext.parent_table | 상위 기록의 출처인 테이블 이름입니다. 데이터 유형: 문자열 |
| <Object>.canceledPlaybookContext.playbook_id | 프로세스 정의 [sys_pd_process_definition] 테이블에서 플레이북을 Sys_id. 데이터 유형: 문자열 |
| <Object>.canceledPlaybookContext.playbook_table | 플레이북에서 가져온 테이블의 이름(일반적으로 프로세스 정의 [sys_pd_process_definition] 테이블)입니다. 데이터 유형: 문자열 |
| <Object>.canceledPlaybookContext.scoped_name | 프로세스 정의 [sys_pd_process_definition] 테이블에서 scope.name 형식으로 플레이북의 범위가 지정된 이름입니다.데이터 유형: 문자열 |
| <Object>.canceled플레이북컨텍스트.state | 프로세스 실행 [sys_pd_context] 테이블의 Playbook 실행 상태입니다. 데이터 유형: 객체 |
| <Object>.canceled플레이북컨텍스트.상태.displayValue | 플레이북 실행 상태의 표시 값입니다. 데이터 유형: 문자열 |
| <Object>.canceled플레이북컨텍스트.상태.값 | 플레이북 실행 상태의 값입니다. 데이터 유형: 문자열 |
| <Object>.canceledPlaybookContext.sys_id | 프로세스 실행 [sys_pd_context] 테이블에서 플레이북 실행의 Sys_id. 데이터 유형: 문자열 |
| <Object>.canceledPlaybookContext.title | 프로세스 실행 [sys_pd_context] 테이블의 Playbook 실행 레이블입니다. 데이터 유형: 문자열 |
| <Object>.skipped플레이북컨텍스트 | 건너뛴 플레이북 실행 목록입니다. 각 플레이북 실행은 배열의 객체입니다. 객체 속성에 대한 설명은 배열을 참조하십시오 canceledPlaybookContext . 데이터 유형: 배열 |
이 예는 지정된 상호작용 기록에 대한 특정 Playbook(이 경우 Playbook Experience 데모)의 모든 실행을 취소하는 방법을 보여줍니다. UI 작업 또는 비즈니스 규칙에서 이 메서드를 사용하려면 현재 객체를 parentRecord로 전달합니다.
var parentRecord = new GlideRecordUtil().getGR("interaction", "d91742531b343010a26c98a1b24bcbe0");
var cancellationReason = "Cancelling this playbook";
// demo playbook from Process Automation Experience Demo store app
var scopedName = "sn_pad_demo.playbook_experience_demo";
// demo playbook experience from Process Automation Experience Demo store app
var playbookExperienceId = "a56d8d93ff311010cc0853ea793bf1a6";
var cancelPlaybookReturn = sn_playbook.PlaybookExperience.cancelPlaybooksByParentRecord(parentRecord, cancellationReason, scopedName, playbookExperienceId);
gs.info(JSON.stringify(cancelPlaybookReturn, null, 2));
출력:
{
"canceledPlaybookContext": [
{
"can_read": true,
"sys_id": "d02782533d343010ac50ee17e75d3466",
"scoped_name": "sn_pad_demo.playbook_experience_demo",
"canceled_by": "admin",
"playbook_table": "sys_pd_process_definition",
"state": {
"displayValue": "Pending Cancel",
"value": "PENDING_CANCEL"
},
"title": "Playbook Experience Demo",
"parent_record": "d91742531b343010a26c98a1b24bcbe0",
"playbook_id": "0d35ee1807301010cc08d9630ad3002a",
"cancellation_reason": "Cancelling this playbook",
"parent_table": "interaction",
"errors": []
}
],
"skippedPlaybookContext": []
}
플레이북경험 - getPlaybooksForParentRecord(GlideRecord parentRecord)
지정된 상위 기록에 대한 플레이북 실행 목록을 가져옵니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| parentRecord | GlideRecord | Playbook을 실행할 상위 기록입니다. 상위 기록은 상호작용 기록 또는 온보딩 케이스 기록과 같이 플레이북 실행이 가능한 모든 기록일 수 있습니다. |
| 유형 | 설명 |
|---|---|
| 배열 | 상위 기록에 대한 플레이북 실행 목록입니다. 각 플레이북 실행은 배열의 객체입니다. |
| <배열>.can_read | 현재 사용자가 플레이북 실행 기록을 읽을 수 있는지 여부를 나타내는 플래그입니다. 현재 사용자에게 상위 기록에 대한 읽기 권한이 있어야 Playbook 실행 기록을 읽을 수 있습니다. 유효한 값은 다음과 같습니다.
데이터 유형: 부울 |
| <배열>.canceled_by | 플레이북 실행을 취소한 사용자의 사용자 ID 입니다. Playbook이 취소되지 않은 경우 비어 있습니다. 데이터 유형: 문자열 |
| <배열>.cancellation_reason | 플레이북 실행을 취소한 사용자가 입력한 취소 사유입니다. Playbook이 취소되지 않은 경우 비어 있습니다. 데이터 유형: 문자열 |
| <배열>.오류 | 오류 목록입니다. 각 오류는 배열의 개체입니다. 데이터 유형: 배열 |
| <배열>.오류.메시지 | 오류 메시지입니다. 데이터 유형: 문자열 |
| <배열>.오류.유형 | 오류 유형입니다. 데이터 유형: 문자열 |
| <배열>.parent_record | 상위 기록의 Sys_id입니다. 데이터 유형: 문자열 |
| <배열>.parent_table | 상위 기록의 출처인 테이블 이름입니다. 데이터 유형: 문자열 |
| <배열>.playbook_id | 프로세스 정의 [sys_pd_process_definition] 테이블에서 플레이북을 Sys_id. 데이터 유형: 문자열 |
| <배열>.playbook_table | 플레이북에서 가져온 테이블의 이름(일반적으로 프로세스 정의 [sys_pd_process_definition] 테이블)입니다. 데이터 유형: 문자열 |
| <배열>.scoped_name | 프로세스 정의 [sys_pd_process_definition] 테이블에서 scope.name 형식으로 플레이북의 범위가 지정된 이름입니다.데이터 유형: 문자열 |
| <배열>.상태 | 프로세스 실행 [sys_pd_context] 테이블의 Playbook 실행 상태입니다. 데이터 유형: 객체 |
| <배열>.state.displayValue | 플레이북 실행 상태의 표시 값입니다. 데이터 유형: 문자열 |
| <배열>.state.value | 플레이북 실행 상태의 값입니다. 데이터 유형: 문자열 |
| <배열>.sys_id | 프로세스 실행 [sys_pd_context] 테이블에서 플레이북 실행의 Sys_id. 데이터 유형: 문자열 |
| <배열>.title | 프로세스 실행 [sys_pd_context] 테이블의 Playbook 실행 레이블입니다. 데이터 유형: 문자열 |
이 예에서는 지정된 상호작용 기록에 대한 플레이북 실행을 가져오는 방법을 보여줍니다. UI 작업 또는 비즈니스 규칙에서 이 메서드를 사용하려면 현재 객체를 parentRecord로 전달합니다.
var parentRecord = new GlideRecordUtil().getGR("interaction", "148776e5818d7410f87701eb89fdc824");
var playbook = sn_playbook.PlaybookExperience.getPlaybooksForParentRecord(parentRecord);
gs.info(JSON.stringify(playbook, null, 2));
출력:
[
{
"can_read": true,
"sys_id": "bd87bae50b8d7410807a8ffed6d0909e",
"scoped_name": "sn_pad_demo.playbook_experience_demo",
"canceled_by": "",
"playbook_table": "sys_pd_process_definition",
"state": {
"displayValue": "In Progress",
"value": "IN_PROGRESS"
},
"title": "Playbook Experience Demo",
"parent_record": "148776e5818d7410f87701eb89fdc824",
"playbook_id": "0d35ee1807301010cc08d9630ad3002a",
"cancellation_reason": "",
"parent_table": "interaction",
"errors": []
}
]
플레이북경험 - parentRecordContainsPlaybook(GlideRecord parentRecord, string scopedName)
상위 기록에 플레이북 실행이 있는지 확인합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| parentRecord | GlideRecord | Playbook 실행을 확인할 상위 기록입니다. 상위 기록은 상호작용 기록 또는 온보딩 케이스 기록과 같이 플레이북 실행이 가능한 모든 기록일 수 있습니다. |
| scopedName | 문자열 | 옵션입니다. 확인할 플레이북의 범위가 지정된 이름입니다. 범위가 지정된 이름은 scope.name 형식의 프로세스 정의 [sys_pd_process_definition] 테이블에서 가져옵니다. 제공된 경우 이 Playbook의 실행만 확인됩니다. 제공되지 않은 경우 모든 플레이북의 실행이 확인됩니다. |
| 유형 | 설명 |
|---|---|
| 부울 | 상위 기록에 플레이북 실행이 있는지 여부를 나타내는 플래그입니다. 유효한 값은 다음과 같습니다.
|
이 예는 지정된 상호작용 기록에 특정 플레이북(이 경우 플레이북 경험 데모)의 실행이 있는지 확인하는 방법을 보여줍니다. UI 작업 또는 비즈니스 규칙에서 이 메서드를 사용하려면 현재 객체를 parentRecord로 전달합니다.
var parentRecord = new GlideRecordUtil().getGR("interaction", "148776e5818d7410f87701eb89fdc824");
// demo playbook from Process Automation Experience Demo store app
var scopedName = "sn_pad_demo.playbook_experience_demo";
var hasPlaybooks = sn_playbook.PlaybookExperience.parentRecordContainsPlaybook(parentRecord, scopedName);
gs.info(hasPlaybooks);
출력:
true
플레이북경험 - restartPlaybook(문자열 playbookContextId, 문자열 laneContextId, 문자열 activityContextId, 문자열 playbookExperienceId)
플레이북의 특정 스테이지나 활동을 시작(전체 플레이북) 또는 플레이북의 특정 스테이지나 활동에서 실행을 다시 시작합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| playbookContextId | 문자열 | 다시 시작하려는 플레이북 실행 또는 실행에 대한 플레이북 컨텍스트 기록의 Sys_id입니다. 테이블: 프로세스 실행 [sys_pd_context] |
| laneContextId | 문자열 | 옵션입니다. 다시 시작하려는 스테이지 실행 또는 실행에 대한 스테이지 컨텍스트 기록의 sys_id. 주: 완료된 스테이지만 다시 시작할 수 있습니다. 테이블: 레인 실행 [sys_pd_lane_context] |
| activityContextId | 문자열 | 옵션입니다. 다시 시작하려는 활동 실행 또는 실행에 대한 활동 컨텍스트 기록의 sys_id입니다. 주: 완료된 활동만 다시 시작할 수 있습니다. 테이블: 활동 실행 [sys_pd_activity_context] |
| playbookExperienceId | 문자열 | 옵션입니다. 다시 시작된 실행에 사용할 플레이북 경험의 sys_id입니다. 사용자 지정 활동 상태 매핑을 정의한 경우 이 매개변수를 사용합니다. 플레이북 활동 상태 매핑을 참조하십시오. 기본값: 전역 플레이북 경험 테이블: 플레이북 경험 [sys_playbook_experience] |
| 속성 | 설명 |
|---|---|
| 객체 | 재시작된 Playbook 실행 상세 정보를 포함하는 객체입니다. |
| can_add_activity | 사용자가 플레이북에 선택적 활동을 추가할 수 있는지 여부를 나타내는 플래그입니다. 유효한 값은 다음과 같습니다.
데이터 유형: 부울 |
| can_cancel | 사용자가 플레이북을 취소할 수 있는지 여부를 나타내는 플래그입니다.
데이터 유형: 부울 |
| can_read | 현재 사용자가 플레이북 실행 기록을 읽을 수 있는지 여부를 나타내는 플래그입니다. 현재 사용자에게 상위 기록에 대한 읽기 권한이 있어야 Playbook 실행 기록을 읽을 수 있습니다.
데이터 유형: 부울 |
| can_restart | 사용자가 플레이북, 스테이지 또는 활동을 재시작할 수 있는지 여부를 나타내는 플래그입니다.
데이터 유형: 부울 |
| canceled_by | 플레이북 실행을 취소한 사용자의 사용자 ID입니다. 데이터 유형: 문자열 |
| cancellation_reason | 플레이북 실행을 취소한 사용자가 입력한 취소 사유입니다. 데이터 유형: 문자열 |
| 오류 | 다시 시작 오류 목록입니다. 각 오류는 배열의 개체입니다. 데이터 유형: 배열 |
| is_archived | Playbook 컨텍스트 기록이 보관되는지 여부를 나타내는 플래그입니다. 가능한 값:
데이터 유형: 부울 |
| parent_record | 플레이북 실행이 재시작된 상위 기록의 Sys_id입니다. 데이터 유형: 문자열 |
| parent_table | 상위 기록의 출처인 테이블의 이름입니다. 데이터 유형: 문자열 |
| playbook_id | Playbook의 Sys_id입니다. 데이터 유형: 문자열 테이블: 프로세스 정의 [sys_pd_process_definition] |
| playbook_table | 플레이북의 출처 테이블 이름으로, 일반적으로 프로세스 정의 [sys_pd_process_definition] 테이블입니다. 데이터 유형: 문자열 |
| scoped_name | 옵션입니다. 재시작할 플레이북의 범위가 지정된 이름입니다. 범위가 지정된 이름은 scope.name 형식의 프로세스 정의 [sys_pd_process_definition] 테이블에서 가져옵니다. 제공된 경우 지정된 상위 기록에 대해 이 Playbook의 실행만 다시 시작됩니다. 제공되지 않은 경우 지정된 상위 기록에 대해 모든 Playbook의 모든 실행이 다시 시작됩니다.데이터 유형: 문자열 |
| 상태 | 활성화 요청이 성공했는지 여부를 나타냅니다. 데이터 유형: 객체 가능한 값:
|
| state.displayValue | 플레이북 실행 상태의 표시 값입니다. 데이터 유형: 문자열 |
| 시/도.값 | 플레이북 실행 상태의 값입니다. 데이터 유형: 문자열 |
| sys_id | Playbook 실행의 Sys_id입니다. 데이터 유형: 문자열 테이블: 프로세스 실행 [sys_pd_context] |
| 제목 | Playbook 실행의 레이블입니다. 데이터 유형: 문자열 테이블: 프로세스 실행 [sys_pd_context] |
이 예시에서는 프로세스 실행 [sys_pd_context] 기록 ID 98e4fe04591b4caca59583f7b8e30b0a로 전체 플레이북 실행을 재시작하는 방법을 보여줍니다.
var gr = new GlideRecord('sys_pd_context');
var found = gr.get('98e4fe04591b4caca59583f7b8e30b0a');
if (found) {
var result = sn_playbook.PlaybookExperience.restartPlaybook(gr);
gs.info(JSON.stringify(result));
}
else
gs.info('invalid pd context');
출력:
{
"scoped_name": "global.restart_scriptable_demo",
"canceled_by": "",
"can_add_activity": true,
"playbook_table": "sys_pd_process_definition",
"can_restart": true,
"can_cancel": true,
"title": "Restart scriptable demo",
"cancellation_reason": "",
"parent_table": "interaction",
"can_read": true,
"sys_id": "98e4fe04591b4caca59583f7b8e30b0a",
"is_archived": false,
"state": {
"displayValue": "In Progress",
"value": "IN_PROGRESS"
},
"parent_record": "b88623beb5e10210f877d783f6f83a46",
"playbook_id": "12d5a7fab5e10210f877d783f6f83aff",
"errors": []
}
플레이북경험 - triggerPlaybook(String scopedName, GlideRecord parentRecord)
상위 기록에 대한 플레이북을 시작합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| scopedName | 문자열 | 시작할 플레이북의 범위가 지정된 이름입니다. 범위가 지정된 이름은 scope.name 형식의 프로세스 정의 [sys_pd_process_definition] 테이블에서 가져옵니다. |
| parentRecord | GlideRecord | 플레이북을 시작할 상위 기록입니다. 상위 기록은 상호작용 기록 또는 온보딩 케이스 기록과 같이 플레이북 실행이 가능한 모든 기록일 수 있습니다. |
| 유형 | 설명 |
|---|---|
| 문자열 | 상위 기록에 대해 생성된 프로세스 실행 [sys_pd_context] 테이블의 Playbook 실행에 대한 Sys_id입니다. 플레이북 실행이 성공적으로 생성되지 않은 경우 Null입니다. |
이 예는 지정된 상호작용 기록에 대한 플레이북을 시작하는 방법을 보여줍니다. UI 작업 또는 비즈니스 규칙에서 이 메서드를 사용하려면 현재 객체를 parentRecord로 전달합니다.
var parentRecord = new GlideRecordUtil().getGR("interaction", "148776e5818d7410f87701eb89fdc824");
// demo playbook from Process Automation Experience Demo store app
var scopedName = "sn_pad_demo.playbook_experience_demo";
var playbookExecution = sn_playbook.PlaybookExperience.triggerPlaybook(scopedName, parentRecord);
gs.info(playbookExecution);
출력:
f059958267cdb410952864f0fed358cc