자동화 센터 API
Automation Center API는 프로세스, 로봇 및 실행 작업을 생성하고 업데이트하기 위한 엔드포인트를 제공합니다.
이 API를 사용하여 반복 작업에 대한 엔드 투 엔드 자동화를 정의한 다음 해당 작업을 관리하고 모니터링할 수 있습니다.
- 로봇: 봇 프로세스를 실행하는 소프트웨어 에이전트입니다. RPA 로봇은 유인 또는 무인으로 실행될 수 있습니다.
- 프로세스: 특정 로봇에 대한 RPA 인스턴스입니다. 작업 실행을 담당합니다. 프로세스를 고유하게 식별하려면 프로세스 ID와 로봇 ID를 모두 지정해야 합니다.
- 실행: 이메일에서 스프레드시트로 정보를 복사할 때처럼 한 자원에서 정보를 복사하고 다른 자원으로 복사하는 것과 같이 로봇 프로세스에서 실행할 특정 작업입니다.
일반적으로 로봇을 먼저 생성한 다음 해당 로봇과 관련된 모든 프로세스를 생성해야 하지만 API에서는 이를 강제하지 않습니다. 그러나 로봇에 대한 작업을 실행하기 전에 로봇과 프로세스를 생성해야 합니다. 그렇지 않으면 작업 요청이 실패합니다.
- 이 API를 사용하여 이벤트를 삭제할 수 없습니다. 이벤트는 기본적으로 14일 후에 인스턴스에서 자동으로 제거됩니다.
- 호출당 최대 2,000개의 레코드를 전달할 수 있습니다. 이 값은 수정할 수 없습니다.
이 API를 사용하려면 Automation Center 플러그인이 활성화되어 있어야 하며 사용자에게 sn_as.automation_technical_user 또는 sn_ac.automation_admin 역할이 있어야 합니다.
자동화 센터 - POST/sn_ac/automation/rpa
로봇, 프로세스, 실행 이벤트를 생성합니다.
이러한 이벤트는 프로세스 자동화를 제공합니다. 개요 및 실행 자동화 센터 대시보드에 표시되어 여러 RPA 벤더의 출력을 측정하고 모니터링합니다.
URL 형식
버전이 지정된 URL: /api/sn_ac/{api_version}/automation/rpa
기본 URL: /api/sn_ac/v1/automation/rpa
지원되는 요청 매개변수
| 이름 | 설명 |
|---|---|
| api_version | 옵션입니다. 액세스할 엔드포인트의 버전입니다. 예를 들면 v1 또는 v2입니다. 최신 버전이 아닌 엔드포인트 버전을 사용하려면 이 값만 지정합니다. 데이터 유형: 문자열 |
| 이름 | 설명 |
|---|---|
| 없음 |
| 이름 | 설명 |
|---|---|
| departmentName | 프로세스 및 로봇 이벤트 유형만 해당됩니다. 이벤트가 속한 부서의 이름입니다. 이 값은 이벤트 유형에 따라 다음 테이블에 저장됩니다.
데이터 유형: 문자열 |
| domainId | 이벤트가 속한 도메인의 Sys_id입니다. 이 값은 이벤트 유형에 따라 다음 테이블에 저장됩니다.
데이터 유형: 문자열 |
| endtime | 실행 이벤트 유형만. 실행의 종료 시간입니다. 이 값은 자동화 실행 [sn_ac_automation_execution] 테이블의 end_time 필드에 저장됩니다. 형식: YYYY–MM–DD HH:MM:SS 데이터 유형: 문자열 |
| 환경 | 실행 이벤트 유형만. 실행 환경(예: URL)입니다. 이 값은 자동화 실행 [sn_ac_automation_execution] 테이블의 환경 필드에 저장됩니다. 주: 이 값은 인스턴스에서 ServiceNow 사용되지 않으며 구현에 필요한 모든 값을 포함할 수 있습니다. 데이터 유형: 문자열 |
| errorMessage | 실행 이벤트 유형만. 오류 메시지 로그의 이름입니다. 이 값은 자동화 실행 [sn_ac_automation_execution] 테이블의 메시지 필드에 저장됩니다. 데이터 유형: 문자열 |
| eventName | 필수 이벤트 유형의 이름입니다. 이 값은 처리할 이벤트의 유형을 결정합니다. 유효한 값(대/소문자 구분):
데이터 유형: 문자열 |
| id | 필수 연결된 이벤트의 고유 숫자 식별자. 이 값은 이벤트 유형에 따라 다음 테이블에 저장됩니다.
데이터 형식: 정수 |
| 이름 | 프로세스 및 로봇 이벤트 유형만 해당됩니다. 필수. 이벤트의 이름입니다. 이 값은 이벤트 유형에 따라 다음 테이블에 저장됩니다.
데이터 유형: 문자열 |
| 우선순위 | 실행 이벤트 유형만. 실행의 우선순위입니다. 가능한 값(대/소문자 구분): 이 값은 자동화 실행 [sn_ac_automation_execution] 테이블의 우선순위 필드에 저장됩니다.
데이터 유형: 문자열 기본값: 없음 - 대시보드에 표시되지 않음 |
| processId | 실행 이벤트 유형만. 필수. 실행을 실행할 프로세스의 고유 식별자입니다. 이 값은 기본 봇 프로세스[cmdb_ci_base_rpa_process] 테이블에 있는 해당 프로세스 기록의 correlation_id 필드에 있습니다. 그런 다음 이 값은 자동화 실행 [sn_ac_automation_execution] 테이블의 자동화 필드에 저장됩니다. 데이터 유형: 문자열 |
| robotId입니다. | 실행 이벤트 유형만. 필수. 실행을 실행할 로봇의 고유 식별자입니다. 이 값은 기본 로봇 [cmdb_ci_base_rpa_robot] 테이블에 있는 해당 로봇 기록의 correlation_id 필드에 있습니다. 그런 다음 이 값은 자동화 실행 [sn_ac_automation_execution] 테이블의 로봇 필드에 저장됩니다. 데이터 유형: 문자열 |
| 소스 | 필수 이벤트가 속한 소스입니다(예: "servicenow_rpa"). 이 값은 자동화 소스 [sn_ac_automation_source] 테이블의 internal_name 필드에 있습니다. 그런 다음 이 값은 이벤트 유형에 따라 다음 테이블에 저장됩니다.
데이터 유형: 문자열 |
| starttime | 실행 이벤트 유형만. 실행의 시작 시간입니다. 이 값은 자동화 실행 [sn_ac_automation_execution] 테이블의 start_time 필드에 저장됩니다. 형식: YYYY–MM–DD HH:MM:SS 데이터 유형: 문자열 |
| 상태 | 로봇 및 실행 이벤트 유형만 해당됩니다. 연결된 이벤트의 상태입니다. 로봇에 사용할 수 있는 값(대소문자 구분):
실행에 사용할 수 있는 값(대/소문자 구분):
이 값은 이벤트 유형에 따라 다음 테이블에 저장됩니다.
데이터 유형: 문자열 |
| 상태 | 이벤트 유형만 처리합니다. 필수. 프로세스의 상태입니다. 가능한 값(대/소문자 구분): 이 값은 기본 봇 프로세스 [cmdb_ci_base_rpa_process] 테이블의 life_cycle_stage_status 필드에 저장됩니다.
데이터 유형: 문자열 |
| triggeredBy | 실행 이벤트 유형만. 실행의 트리거 소스입니다. 이 값은 자동화 실행 [sn_ac_automation_execution] 테이블의 trigger_by 필드에 저장됩니다. 주: 이 값은 인스턴스에서 ServiceNow 사용되지 않으며 구현에 필요한 모든 값을 포함할 수 있습니다. 데이터 유형: 문자열 |
| 유형 | 프로세스 및 로봇 이벤트 유형만 해당됩니다. 프로세스에 필요하고 로봇에 선택 사항입니다. 수행할 처리 유형입니다. 가능한 값(대/소문자 구분):
이 값은 이벤트 유형에 따라 다음 테이블에 저장됩니다.
데이터 유형: 문자열 기본값: 로봇의 경우 무인 |
| 버전 | 로봇 이벤트 유형만 해당됩니다. 로봇의 버전입니다. 이 값은 기본 로봇 [cmdb_ci_base_rpa_robot] 테이블의 버전 필드에 저장됩니다. 데이터 유형: 문자열 |
헤더
다음 요청 및 응답 헤더는 이 HTTP 작업에만 적용되거나 이 작업에 고유한 방식으로 적용됩니다. REST API에서 사용되는 일반 헤더 목록은 지원되는 REST API 헤더를 참조하세요.
| 헤더 | 설명 |
|---|---|
| 수용 | 응답 본문의 데이터 형식입니다. 지원되는 유형은 application/json 또는 application/xml입니다. 기본값: application/json |
| 컨텐츠-형식 | 요청 본문의 데이터 형식입니다. 지원되는 유형은 application/json 또는 application/xml입니다. 기본값: application/json |
| 헤더 | 설명 |
|---|---|
| 없음 |
상태 코드
다음 상태 코드는 이 HTTP 작업에 적용됩니다. REST API에서 사용할 수 있는 상태 코드 목록은 REST API HTTP 응답 코드를 참조하세요.
| 상태 코드 | 설명 |
|---|---|
| 200 | 성공입니다. 요청이 성공적으로 처리되었습니다. |
| 400 | 실패. 필수 필드가 누락되었거나 요청에 잘못된 값이 포함되어 있어 요청이 거부되었습니다. 관련 오류 메시지에서 실패 이유를 설명합니다. |
응답 본문 매개변수
| 이름 | 설명 |
|---|---|
| 결과 | 요청이 성공하면 비어 있습니다. 실패할 경우 추가 정보가 제공됩니다. 데이터 유형: 객체
예를 들어, 기록 1, 2 및 3에 모두 필수 필드가 누락된 경우 다음과 유사한 메시지가 리턴됩니다. |
cURL 요청
다음 코드 예제에서는 세 개의 로봇 이벤트 유형 레코드를 게시하는 방법을 보여 줍니다.
curl "https://instance.servicenow.com/api/sn_ac/automation/rpa" \
--request POST \
--header "Accept:application/json" \
--header "Content-Type:application/json" \
--data "{
records: [{
id: 8001,
name: "Quotes system Automation Robot",
state: "Available",
status: "In Use",
version: 5.6,
departmentName: "Customer Support",
type: "Unattended",
source: "servicenow_rpa",
eventName: "robot"
},
{
id: 8002,
name: "Invoice Matching Robot",
state: "Responsive",
status: "In Maintenance",
version: 3,
departmentName: "HR",
type: "Unattended",
source: "servicenow_rpa",
eventName: "robot"
},
{
id: 8003,
name: "Data Reconciliation Robot",
state: "Busy",
status: "Retired",
version: 2,
departmentName: "Finance",
type: "Unattended",
source: "servicenow_rpa",
eventName: "robot"
}]
} "\
--user "username":"password"
이 엔드포인트는 성공 시 HTTP 상태 코드만 반환하고 실패 시 HTTP 상태 코드 및 오류 메시지만 반환합니다.
None
cURL 요청
다음 코드 예제에서는 세 가지 프로세스 이벤트 유형 레코드를 게시하는 방법을 보여 줍니다.
curl "https://instance.servicenow.com/api/sn_ac/automation/rpa" \
--request POST \
--header "Accept:application/json" \
--header "Content-Type:application/json" \
--data "{
records: [{
id: 9001,
name: "RPA Execution Process",
status: "In Maintenance",
type: "Attended",
departmentName: "Customer Support",
source: "servicenow_rpa",
eventName: "process"
},
{
id: 9002,
name: "Customer Onboarding",
status: "In Use",
type: "Attended",
departmentName: "Finance",
source: "servicenow_rpa",
eventName: "process"
},
{
id: 9003,
name: "Data Reconciliation",
status: "Retired",
type: "Unattended",
departmentName: "HR",
source: "servicenow_rpa",
eventName: "process"
}]
}" \
--user "username":"password"
이 엔드포인트는 성공 시 HTTP 상태 코드만 반환하고 실패 시 HTTP 상태 코드 및 오류 메시지만 반환합니다.
None
cURL 요청
다음 코드 예제에서는 세 개의 실행 이벤트 유형 레코드를 게시하는 방법을 보여 줍니다.
curl "https://instance.servicenow.com/api/sn_ac/automation/rpa" \
--request POST \
--header "Accept:application/json" \
--header "Content-Type:application/json" \
--data "{
records: [{
id: 7001,
name: "Customer Onboarding",
starttime: "2022-03-18 00:49:13",
endtime: "2022-03-20 00:58:03",
state: "Running",
priority: "Critical",
environment: "system",
triggeredBy: "Schedule",
processId: 9001,
robotId: 8001,
source: "servicenow_rpa",
eventName: "execution"
},
{
id: 7002,
name: "Data Reconciliation",
starttime: "2022-04-30 00:19:11",
endtime: "2022-05-02 00:41:35",
state: "Error",
priority: "Low",
environment: "system",
triggeredBy: "API",
processId: 9002,
robotId: 8002,
source: "servicenow_rpa",
eventName: "execution"
},
{
id: 7003,
name: "Customer Onboarding",
starttime: "2022-01-22 02:38:53",
endtime: "2022-01-23 02:50:44",
state: "Queued",
priority: "Moderate",
environment: "system",
triggeredBy: "Schedule",
processId: 9003,
robotId: 8003,
source: "servicenow_rpa",
eventName: "execution"
}]
} "\
--user "username":"password"
이 엔드포인트는 성공 시 HTTP 상태 코드만 반환하고 실패 시 HTTP 상태 코드 및 오류 메시지만 반환합니다.
None
cURL 요청
다음 코드 예제에서는 프로세스를 만들거나 업데이트하는 방법을 보여 줍니다. "process"로 설정된 프로세스와 함께 실행할 프로세스에 대한 모든 필수 매개변수를 eventName 전달하여 프로세스를 생성합니다. 프로세스를 생성하는 데 필요한 필수 매개변수는 id, type, status, name및 source입니다.
curl "https://instance.servicenow.com/api/sn_ac/automation/rpa" \
--request POST \
--header "Accept:application/json" \
--header "Content-Type:application/json" \
--data "{
records: [{
id: 9001,
name: "RPA Execution Process",
status: "In Maintenance",
type: "Attended",
departmentName: "Customer Support",
source: "servicenow_rpa",
eventName: "process"
}]
} "\
--user "username":"password"
이 엔드포인트는 성공 시 HTTP 상태 코드만 반환하고 실패 시 HTTP 상태 코드 및 오류 메시지만 반환합니다.
None
cURL 요청
다음 코드 예제에서는 프로세스를 게시하는 방법을 보여 줍니다. 매개변수 세트를 "게시됨"으로 status 전달하여 프로세스를 게시할 수 있습니다.
curl "https://instance.servicenow.com/api/sn_ac/automation/rpa" \
--request POST \
--header "Accept:application/json" \
--header "Content-Type:application/json" \
--data "{
records: [{
id: 9002,
name: "RPA Execution Process",
status: "Published",
type: "Attended",
departmentName: "Customer Support",
source: "servicenow_rpa",
eventName: "process"
}]
} "\
--user "username":"password"
이 엔드포인트는 성공 시 HTTP 상태 코드만 반환하고 실패 시 HTTP 상태 코드 및 오류 메시지만 반환합니다.
None
cURL 요청
다음 코드 예제에서는 로봇을 만들거나 업데이트하는 방법을 보여 줍니다. "robot"으로 설정된 로봇에 대한 모든 필수 매개변수를 eventName 전달하여 로봇을 생성합니다. 로봇을 만드는 데 필요한 필수 매개변수는 id, status, name및 source입니다.
curl "https://instance.servicenow.com/api/sn_ac/automation/rpa" \
--request POST \
--header "Accept:application/json" \
--header "Content-Type:application/json" \
--data "{
records: [{
id: 8001,
name: "Quotes system Automation Robot",
state: "Available",
status: "In Use",
version: 5.6,
departmentName: "Customer Support",
type: "Unattended",
source: "servicenow_rpa",
eventName: "robot"
} "\
--user "username":"password"
이 엔드포인트는 성공 시 HTTP 상태 코드만 반환하고 실패 시 HTTP 상태 코드 및 오류 메시지만 반환합니다.
None
cURL 요청
다음 코드 예제에서는 실행을 만들거나 업데이트하는 방법을 보여 줍니다. "execution"으로 설정된 실행에 대한 모든 필수 매개변수를 eventName 전달하여 실행을 생성합니다. 실행을 만드는 데 필요한 필수 매개변수는 id, processId, robotId및 source입니다.
curl "https://instance.servicenow.com/api/sn_ac/automation/rpa" \
--request POST \
--header "Accept:application/json" \
--header "Content-Type:application/json" \
--data "{
records: [{
id: 7001,
name: "Customer Onboarding",
starttime: "2022-03-18 00:49:13",
endtime: "2022-03-20 00:58:03",
state: "Running",
priority: "Critical",
environment: "http://acqa.servicenow.com",
triggeredBy: "Schedule",
processId: 9001,
robotId: 8001,
source: "servicenow_rpa",
eventName: "execution",
errorMessage:"Error due to Inactivity"
}]
} "\
--user "username":"password"
이 엔드포인트는 성공 시 HTTP 상태 코드만 반환하고 실패 시 HTTP 상태 코드 및 오류 메시지만 반환합니다.
None