ServiceNow CLI
ServiceNow CLI 는 로컬 시스템에서 인스턴스 작업을 수행할 수 있는 명령줄 인터페이스입니다. CLI를 확장하여 애플리케이션의 요구 사항을 충족하는 새 명령을 포함할 수 있습니다.
혜택
이를 ServiceNow CLI 통해 다음을 수행할 수 있습니다.
- 인스턴스의 기록에 대한 기본 CRUD 작업을 수행합니다.
- 사용자 지정 구성요소를 개발하고 인스턴스에 배포하여 UI를 개인화합니다.
- 명령줄에서 사용자 지정 애플리케이션을 관리할 수 있는 사용자 지정 명령을 만듭니다.
- ServiceNow CLI 스크립트를 사용하여 설정 작업 및 운영 활동을 단순화합니다.
아키텍처
명령은 연결된 인스턴스의 테이블에 저장됩니다. ServiceNow CLI 인스턴스에 연결하면 해당 인스턴스에서 지원하는 사용 가능한 모든 명령을 수신합니다.
명령은 비동기적으로 실행되는 REST 엔드포인트에 매핑됩니다. 자세한 내용은 에서 사용자 지정 명령 만들기 ServiceNow CLI 문서를 참조하십시오.
ServiceNow CLI 활성화
ServiceNow Store에서 요청하여 ServiceNow CLI를 설치합니다. ServiceNow Store 웹 사이트를 방문하면 사용 가능한 모든 앱을 확인하고 스토어에 요청을 제출하는 방법에 대한 정보를 참조할 수 있습니다. 출시된 모든 앱의 누적 릴리스 정보는 ServiceNow Store 버전 기록 릴리스 정보를 참조하십시오.
구성 파일
ServiceNow CLI 프로파일 정보를 config.json 파일에 저장하며, 이 파일은 기본적으로 홈 디렉토리의 다음 경로에 저장됩니다.
- Linux 및 Mac: ~/.snc/config.json
- Windows: %USERPROFILE%\.snc\config.json
CLI는 이 파일을 사용하여 인스턴스에 연결하는 데 사용할 정보와 출력을 생성하는 데 사용할 설정을 결정합니다. 기본적으로 ServiceNow CLI기본 프로파일에 있는 설정을 사용하여 인스턴스에 연결합니다. 대체 설정을 사용하려면 추가로 명명된 프로필을 만들고 참조할 수 있습니다. 자세한 내용은 연결 프로파일 구성 및 관리 ServiceNow CLI 문서를 참조하십시오.
다음 예제에서는 기본 프로필과 명명된 프로필이 있는 구성 파일을 보여 줍니다. 각 프로파일은 서로 다른 자격 증명을 사용하고 서로 다른 호스트 및 출력 형식을 지정할 수 있습니다.
{
"profiles":{
"default":{
"host":"https://myinstance.service-now.com",
"loginmethod":"basic",
"username":"admin",
"output":"json",
"hostversion":"Paris",
"appversion":"1.0"
},
"user1":{
"host":"https://otherinstance.service-now.com",
"loginmethod":"basic",
"username":"user1",
"output":"yaml",
"hostversion":"Paris",
"appversion":"1.0"
}
}
}명령 구조
ServiceNow CLI 명령은 다음 구조를 따릅니다.
snc프로그램에 대한 기본 호출입니다.- 최상위 명령 그룹 뒤에 하위 명령 그룹이 옵니다.
- 수행할 작업을 지정하는 명령입니다.
- 작업에 필요한 일반 CLI 인수입니다. 순서에 관계없이 인수를 지정할 수 있습니다.
$ snc <command-group> <command> [arguments]인수는 숫자, 문자열 및 JSON 객체와 같은 다양한 유형의 입력 값을 사용할 수 있습니다. 지원되는 유형은 지정한 명령에 따라 다릅니다.
인수 값
의 ServiceNow CLI 많은 인수 값은 다음 예제의 테이블 및 테이블 이름과 같은 간단한 문자열 또는 숫자 값입니다.
$ snc record create --table incident --data "{short_description: 'New Incident'}"공백 문자가 포함되지 않은 문자열을 따옴표로 묶거나 묶지 않을 수 있습니다. 그러나 하나 이상의 공백 문자를 포함하는 문자열을 따옴표로 묶어야 합니다.
출력 형식
ServiceNow CLI 네 가지 출력 형식을 지원합니다.
json: 출력 형식이 JSON으로 지정됩니다. 이것이 기본값입니다.{ "default": { "appversion": "1.0.8", "host": "https://myinstance.service-now.com", "hostversion": "Paris", "loginmethod": "basic", "output": "json", "username": "admin" }, "user1": { "appversion": "1.0.8", "host": "https://otherinstance.service-now.com", "hostversion": "Paris", "loginmethod": "basic", "output": "yaml", "username": "admin" } }yaml: 출력 형식이 YAML로 지정됩니다. YAML을 사용하여 YAML 형식의 문자열을 내보내거나 사용하는 서비스 및 도구로 출력을 처리합니다.default: appversion: 1.0.8 host: https://myinstance.service-now.com hostversion: Paris loginmethod: basic output: json username: admin user1: appversion: 1.0.8 host: https://otherinstance.service-now.com hostversion: Paris loginmethod: basic output: yaml username: admintext: 출력은 탭으로 구분된 문자열 값의 여러 줄로 형식이 지정됩니다. grep, sed 및 awk와 같은 기존 UNIX 텍스트 도구 및 PowerShell에서 수행하는 텍스트 처리와 함께 이 출력을 사용합니다.default https://myinstance.service-now.com Paris 1.0.8 basic admin json user1 https://otherinstance.service-now.com Paris 1.0.8 basic admin yamltable: 출력은 사람이 읽을 수 있는 형식으로 정보를 표시하는 표로 형식이 지정됩니다.NAME HOST HOST VERSION APP VERSION LOGIN METHOD USERNAME OUTPUT ------------------------------------------------------------------------------- default myinstance Paris 1.0.8 basic admin json user1 otherinstance Paris 1.0.8 basic admin yamlnone: CLI가 콘솔에 출력을 인쇄하지 않습니다. 성공, 오류 및 진행률 메시지가 계속 표시됩니다.
다음 두 가지 방법으로 명령 출력을 지정할 수 있습니다.
- 구성 파일의 명명된 프로파일에서
출력옵션을 사용합니다 - 다음 예제에서는 기본 출력 형식을 text로 설정합니다.
{ "profiles":{ "default":{ "output":"text" } } - 명령줄에서
--output인수 사용 - 다음 예제에서는 단일 명령의 출력을 JSON으로 설정합니다. 명령의 이 옵션은 구성 파일에서 현재 설정된 값을 재정의합니다.
$ snc record query --table incident --query ‘active=true’ --output json