ServiceNow SDK CLI
명령줄 인터페이스(CLI)를 ServiceNow SDK 사용하여 로컬 애플리케이션과 인스턴스의 애플리케이션 간의 변경을 관리합니다.
시스템의 명령줄 도구에서 now-sdk 를 입력하여 CLI를 시작하고 사용 가능한 명령 목록을 반환하거나 now-sdk [command] 를 반환하여 .ServiceNow SDK
npx를 사용하여 전역이 아닌 애플리케이션 내에 설치 ServiceNow SDK 하는 경우 CLI에서 now-sdk [command] 대신 npx @servicenow/sdk [command]를 사용해야 합니다.ServiceNow SDKCLI에는 다음과 같은 명령과 전역 옵션이 포함되어 있습니다.
| 옵션 | 설명 |
|---|---|
| --번역, -v | CLI 버전을 반환합니다. |
| --도움, -h | 명령, 하위 명령 및 매개변수에 대한 정보를 반환합니다. |
| --디버그, -d | 명령으로 생성된 디버그 로그를 반환합니다. |
인증
인스턴스를 인증하고 시스템의 인스턴스에 액세스하기 위한 사용자 자격 증명을 저장, 업데이트 또는 확인합니다.
auth 명령에는 자격 증명을 추가하고, 자격 증명을 삭제하고, 자격 증명을 나열하고, 기본적으로 사용할 자격 증명을 설정하는 매개변수가 있습니다.
자세한 내용은 ServiceNow SDK 를 사용하여 인스턴스에 ServiceNow인증 문서를 참조하십시오.
add
시스템의 장치 키 체인 또는 자격 증명 관리자에 자격 증명을 저장하십시오.
auth 명령에는 --add 매개변수가 있는 다음과 같은 구조가 있습니다.npx @servicenow/sdk auth [--add <instance url>] [--type <auth method>] [--alias <alias>]npx 명령을 사용하면 전역이 아닌 애플리케이션 디렉터리에 설치됩니다ServiceNow SDK.| 매개변수 | 유형 | 설명 | 기본값 |
|---|---|---|---|
| --추가 | 문자열 | 애플리케이션에 액세스하고 애플리케이션을 설치하는 대상 인스턴스의 URL입니다. 인스턴스는 릴리스 이상이어야 Washington DC 합니다. | — |
| 매개변수 | 유형 | 설명 | 기본값 |
|---|---|---|---|
| --유형 | 문자열 | 대상 인스턴스로 인증하는 데 사용할 방법입니다. 기본 인증의 경우 basic 을 지정하고 OAuth 2.0 인증의 경우 oauth 를 지정합니다. |
기본 |
| --별칭 | 문자열 | 인스턴스 및 사용자 자격 증명에 대한 별칭입니다. 별칭은 |
— |
npx @servicenow/sdk auth --add https://myinstance.service-now.com --type oauth --alias devuser1삭제
시스템의 장치 키 체인 또는 자격 증명 관리자에서 자격 증명을 제거합니다.
auth 명령에는 --delete 매개변수가 있는 다음과 같은 구조가 있습니다.now-sdk auth [--delete <alias or all>]| 매개변수 | 유형 | 설명 | 기본값 |
|---|---|---|---|
| --삭제 | 문자열 |
인스턴스 및 사용자 자격 증명에 대한 별칭입니다. 모든 자격 증명을 삭제하려면 이 매개변수를 |
— |
now-sdk auth --delete devuser1목록
장치의 키체인 또는 시스템의 자격 증명 관리자에 저장된 자격 증명을 봅니다. 암호 와 인증 코드 는 반환되지 않습니다.
auth 명령은 --list 매개변수와 함께 다음과 같은 구조를 갖습니다.now-sdk auth [--list]| 매개변수 | 유형 | 설명 | 기본값 |
|---|---|---|---|
| --목록 | 문자열 | 사용 가능한 모든 인증 자격 증명을 나열합니다. | — |
now-sdk auth --list사용
기본적으로 명령에서 사용할 자격 증명을 설정합니다.
auth 명령에는 --use 매개변수가 있는 다음과 같은 구조가 있습니다.now-sdk auth [--use <alias>]| 매개변수 | 유형 | 설명 | 기본값 |
|---|---|---|---|
| --사용 | 문자열 | 인스턴스 및 사용자 자격 증명에 대한 별칭입니다. | — |
now-sdk auth --use devuser1초기화
n 애플리케이션을 생성하거나 기존 애플리케이션을 변환하여 소스 코드 개발을 지원합니다. 애플리케이션이 현재 디렉터리에 추가됩니다.
기본 자격 증명으로 애플리케이션을 생성하려면 선택적 매개변수 없이 init 명령을 실행할 수 있습니다. 예: now-sdk init. 기존 애플리케이션을 변환하려면 --from 매개변수를 포함하여 인스턴스의 애플리케이션 sys_id 또는 애플리케이션이 포함된 로컬 디렉터리에 대한 경로를 제공해야 합니다.
애플리케이션을 초기화한 후에는 애플리케이션을 빌드하기 전에 기본 패키지 관리자를 사용하여 필요한 타사 종속성을 설치해야 합니다. 예를 들어 노드 패키지 관리자(npm)를 사용하는 경우 npm install을 실행합니다.
init 명령의 구조는 다음과 같습니다.npx @servicenow/sdk init [--from <sys_id or path>] [--appName <name>] [--packageName <name>] [--scopeName <name>] [--auth <alias>] [--template <template>]npx 명령을 사용하면 전역이 아닌 애플리케이션 디렉터리에 설치됩니다ServiceNow SDK.| 매개변수 | 유형 | 설명 | 기본값 |
|---|---|---|---|
| --에서 | 문자열 | 인스턴스의 애플리케이션 sys_id 또는 소스 코드에서 개발을 지원하기 위해 변환할 애플리케이션이 포함된 로컬 디렉터리의 경로입니다. 애플리케이션을 변환하면 로컬에서 사용하는 ServiceNow SDK 데 필요한 파일과 디렉터리가 추가되고 애플리케이션 메타데이터가 다운로드됩니다. 인스턴스에 애플리케이션을 빌드하고 설치할 때까지 인스턴스에서 애플리케이션이 변경되지 않습니다. 변환된 애플리케이션을 설치한 후 사용자 지정 애플리케이션 기록 [sys_app]의 패키지 JSON 필드에는 애플리케이션의 package.json 파일 경로가 포함됩니다. |
— |
| --앱 이름 | 문자열 | 애플리케이션의 이름입니다. | — |
| --패키지 이름 | 문자열 | package.json 파일에 사용되는 애플리케이션 패키지의 이름입니다. 패키지 이름은 노드 패키지 관리자(npm) 패키지 명명 표준을 준수해야 합니다. | — |
| --scopeName | 문자열 | 애플리케이션의 범위입니다. 범위 이름은 인스턴스에서 고유해야 하고, x_<접두사>로 시작하고, 18자 이하여야 합니다. 자세한 내용은 네임스페이스 식별자 문서를 참조하십시오. |
— |
| --인증, -a | 문자열 | 인스턴스에 인증하는 데 사용할 자격 증명의 별칭입니다. | 설정된 경우 기본 별칭입니다. |
| --템플릿 | 문자열 | 애플리케이션의 기본 구조에 대한 템플릿입니다.
|
— |
npx @servicenow/sdk init --from dbce0f6a3b3fda107b45b5d355e45af6 --appName Example App --packageName example-app --scopeName x_snc_example --auth devuser1 --template base자세한 내용은 ServiceNow SDK를 사용하여 애플리케이션 생성 또는 ServiceNow SDK를 사용하여 애플리케이션 변환 문서를 참조하십시오.
빌드
소스 파일을 컴파일하고 출력 빌드 아티팩트를 생성합니다. 타사 라이브러리 의존성은 애플리케이션과 함께 설치할 수 있는 XML 파일로 변환됩니다.
build 명령의 구조는 다음과 같습니다.now-sdk build <source> [--frozenKeys <flag>]| 매개변수 | 유형 | 설명 | 기본값 |
|---|---|---|---|
| 소스 | 문자열 | 애플리케이션에 대한 package.json 파일이 들어 있는 디렉터리의 경로입니다. package.json은 애플리케이션의 기본 디렉터리에 있어야 합니다. |
현재 작업 디렉터리 |
| --frozenKeys | 부울 | CI(연속 통합) 빌드에 대한 keys.ts 파일이 최신 상태인지 확인하는 옵션입니다. true이고 애플리케이션 ServiceNow Fluent 코드가 변경된 경우 keys.ts 파일이 업데이트되지 않고 빌드가 실패합니다. keys.ts 파일은 src/fluent/generated 디렉터리에서 자동으로 생성됩니다. |
아니오 |
| --errorOnConflict | 부울 | 코드와 메타데이터 XML 간의 ServiceNow Fluent sys_id 충돌을 경고가 아닌 오류로 처리하는 옵션입니다. | 아니오 |
now-sdk build /path/to/package --frozenKeys true자세한 내용은 ServiceNow SDK 를 사용하여 애플리케이션 및 설치배포 문서를 참조하십시오.
설치
빌드 아티팩트를 패키지화하고 설치 . 인스턴스에 애플리케이션을 설치하거나 업데이트합니다. 설치 전에 build 명령을 사용하여 설치 가능한 패키지를 생성해야 합니다.
설치 명령의 구조는 다음과 같습니다.
now-sdk install [--source <package path>] [--reinstall <flag>] [--auth <alias>] [--open-browser <flag>] [--info <flag>]
| 매개변수 | 유형 | 설명 | 기본값 |
|---|---|---|---|
| --소스 | 문자열 | 애플리케이션에 대한 package.json 파일이 들어 있는 디렉터리의 경로입니다. package.json은 애플리케이션의 기본 디렉터리에 있어야 합니다. |
현재 작업 디렉터리 |
| --재설치, -r | 부울 | 인스턴스의 메타데이터가 설치 패키지의 메타데이터와 일치하는지 확인하기 위해 인스턴스에서 애플리케이션을 제거하고 다시 설치하는 옵션입니다. 경고: 인스턴스에는 있지만 로컬 애플리케이션에는 없는 메타데이터가 제거됩니다. EcmaScript 모듈 [sys_module] 테이블에 필요하지 않은 이전 버전의 모듈이 있는 경우 애플리케이션을 다시 설치하면 테이블에서 이전 버전의 애플리케이션 모듈이 제거됩니다. |
아니오 |
| --인증, -a | 문자열 | 인스턴스에 인증하는 데 사용할 자격 증명의 별칭입니다. 주: CI/CD 파이프라인의 경우 기본 인증을 사용하여 런타임 시 인스턴스로 인증하도록 다음 환경 변수를 설정할 수 있습니다.
|
설정된 경우 기본 별칭입니다. |
| --브라우저 열기, -b | 부울 | 애플리케이션을 성공적으로 설치한 후 기본 브라우저에서 애플리케이션 기록을 여는 옵션입니다. | 아니오 |
| --정보, -i | 부울 | 업데이트된 상태 및 기록과 같은 이 애플리케이션의 최근 설치에 대한 상세 정보를 반환하는 옵션입니다. 이 매개변수를 사용하면 애플리케이션이 설치되지 않습니다. | 아니오 |
| --demoData | 부울 | 애플리케이션과 함께 데모 데이터를 설치하는 옵션입니다. | 예 |
| --건너뛰기 플로우 활성화 | 부울 | 애플리케이션을 설치할 때 플로우 활성화 또는 게시를 건너뛰는 옵션입니다. 기본적으로 플로우는 애플리케이션이 설치될 때 인스턴스에서 활성화됩니다. 주: ServiceNow IDE 이 명령으로 플로우를 활성화하려면 버전 4.1.1 이상을 설치해야 합니다. |
아니오 |
now-sdk install --source /path/to/package --reinstall false --auth devuser1 --open-browser true --info true자세한 내용은 ServiceNow SDK 를 사용하여 애플리케이션 및 설치배포 문서를 참조하십시오.
의존성
인스턴스에서 애플리케이션 종속성 및 TypeScript 정의를 다운로드하여 애플리케이션에 대한 IntelliSense 및 코드 유효성 검사를 사용하도록 설정합니다.
dependencies 명령은 스크립트 및 ServiceNow Fluent 코드에 대한 의존성 및 TypeScript 정의를 다운로드합니다.
- 스크립트의 경우 이 명령은 모든 Glide API에 대한 TypeScript 정의를 다운로드하고, 애플리케이션의 모듈과 스크립트를 스캔하고, 사용하는 스크립트 포함에 대한 유형 정의를 생성합니다. 유형 정의는 @types/servicenow 디렉터리에 추가됩니다. 스크립트 종속성을 다운로드한 후에는 유형 정의를 포함하도록 tsconfig.json 파일을 업데이트해야 합니다.
- 의 경우 ServiceNow Fluent이 명령은 애플리케이션의 now.config.json 파일에 나열된 종속성을 다운로드하여 @types/servicenow/fluent 디렉터리에 이에 대한 TypeScript 정의를 생성합니다.
애플리케이션에 대한 모든 스크립트와 ServiceNow Fluent 종속성을 다운로드하려면 매개변수 없이 dependencies 명령을 사용할 수 있습니다. 필요한 경우 애플리케이션 디렉터리와 인증 별칭도 제공합니다.
dependencies 명령의 구조는 다음과 같습니다.
now-sdk dependencies [--directory <package path>] [--auth <alias>][--type-defs-only <flag>] [--fluent-only <flag>] [--add <table> <sys_ids or names>] [--scope <name>]
| 매개변수 | 유형 | 설명 | 기본값 |
|---|---|---|---|
| --디렉토리 | 문자열 | 애플리케이션에 대한 package.json 파일이 들어 있는 디렉터리의 경로입니다. package.json은 애플리케이션의 기본 디렉터리에 있어야 합니다. |
현재 작업 디렉터리 |
| --인증, -a | 문자열 | 인스턴스에 인증하는 데 사용할 자격 증명의 별칭입니다. | 설정된 경우 기본 별칭입니다. |
| --type-defs-only | 부울 | 스크립트 종속성에 대해서만 TypeScript 정의를 다운로드하는 옵션입니다. 스크립트 유형은 @types/servicenow 디렉터리에 다운로드됩니다. |
아니오 |
| --유창한 전용 | 부울 | 다른 애플리케이션 범위의 종속성에 대해서만 ServiceNow Fluent 종속성 및 TypeScript 정의를 다운로드하는 옵션입니다. now.config.json 파일에 애플리케이션의 종속성을 나열해야 합니다. ServiceNow Fluent 유형은 @types/servicenow/fluent 디렉터리에서 생성됩니다. |
아니오 |
| --추가 | 문자열 | 다운로드하려는 의존성을 애플리케이션의 now.config.json 파일에 추가합니다. 테이블 이름과 추가할 각 항목의 이름 또는 sys_ids를 공백으로 구분하여 사용하여 추가할 종속성 유형을 지정해야 합니다.
와일드카드( *)를 사용하여 지정된 테이블 및 범위의 모든 항목을 추가합니다. 예: |
— |
| sysID | 배열 | TypeScript 정의를 다운로드하고 생성할 종속성 sys_ids 목록입니다. 이 매개변수는 --add 매개변수를 사용하는 경우에만 적용됩니다. |
— |
| --범위 | 문자열 | 종속성을 다운로드할 애플리케이션 범위입니다. 이 매개변수는 --add 매개변수를 사용하는 경우 필요합니다. |
— |
now-sdk dependencies --directory /path/to/package --auth devuser1 --add sys_ui_view fa776f6d97700100f309124eda2975bc --scope global자세한 내용은 ServiceNow SDK를 사용하여 종속성 다운로드 문서를 참조하십시오.
변환
인스턴스에서 애플리케이션 메타데이터(XML)를 다운로드하고 메타데이터를 소스 코드로 ServiceNow Fluent 변환하여 인스턴스의 애플리케이션 변경 내용을 로컬 애플리케이션과 동기화합니다.
애플리케이션을 초기화한 후 매개변수 없이 변환 명령을 실행하여 인스턴스의 새 애플리케이션 메타데이터를 src/fluent/generated 디렉터리의 소스 코드로 변환하고 메타데이터에 대한 변경 내용을 src/fluent 디렉터리의 소스 코드로 동기화할 수 있습니다. 애플리케이션이 초기화될 때 존재했던 메타데이터를 소스 코드로 변환하려면 --from 매개변수를 사용하여 XML이 포함된 로컬 디렉터리 또는 파일에 대한 경로를 제공합니다. 메타데이터가 로컬 애플리케이션에 XML과 소스 코드로 존재하는 경우 인스턴스에 설치할 때 XML 버전이 우선합니다.
변환 명령의 구조는 다음과 같습니다.now-sdk transform [--from <path>] [--directory <package path>] [--preview <flag>] [--auth <alias>] [--format <flag>]| 매개변수 | 유형 | 설명 | 기본값 |
|---|---|---|---|
| --에서 | 문자열 | 코드로 변환할 메타데이터 XML이 포함된 로컬 디렉터리 또는 파일의 경로입니다.ServiceNow Fluent | — |
| --디렉토리 | 문자열 | 애플리케이션에 대한 package.json 파일이 들어 있는 디렉터리의 경로입니다. package.json은 애플리케이션의 기본 디렉터리에 있어야 합니다. |
현재 작업 디렉터리 |
| --미리 보기 | 부울 | 변경 내용을 저장하지 않고 명령줄에서 변환된 ServiceNow Fluent 코드를 미리 볼 수 있는 옵션입니다. | 아니오 |
| --인증, -a | 문자열 | 인스턴스에 인증하는 데 사용할 자격 증명의 별칭입니다. | 설정된 경우 기본 별칭입니다. |
| --체재, -f | 부울 | 변환될 때 새 소스 코드와 업데이트 ServiceNow Fluent 된 소스 코드의 형식을 지정하는 옵션입니다. | 예 |
now-sdk transform --from metadata/update --directory /path/to/package --preview true --auth devuser1 --format true자세한 내용은 ServiceNow SDK를 사용하여 애플리케이션 변환 또는 ServiceNow SDK 를 사용하여 애플리케이션 및 설치배포 문서를 참조하십시오.
이동
인스턴스의 전역 범위에 있는 XML(애플리케이션 메타데이터)을 로컬 전역 애플리케이션의 소스 코드로 변환 ServiceNow Fluent 합니다.
전역 메타데이터를 사용자 지정하려면 메타데이터를 이동하려는 전역 애플리케이션이 인스턴스에 이미 설치되어 있어야 합니다.
이동 명령의 구조는 다음과 같습니다.now-sdk move [--ids <sys_ids>] [--source <package path>] [--auth <alias>]| 매개변수 | 유형 | 설명 | 기본값 |
|---|---|---|---|
| --ids | 배열 |
로컬 전역 애플리케이션으로 이동하여 코드로 ServiceNow Fluent 변환할 전역 애플리케이션 메타데이터 sys_ids 목록입니다. |
— |
| 매개변수 | 유형 | 설명 | 기본값 |
|---|---|---|---|
| --소스 | 문자열 | 애플리케이션에 대한 package.json 파일이 들어 있는 디렉터리의 경로입니다. package.json은 애플리케이션의 기본 디렉터리에 있어야 합니다. |
현재 작업 디렉터리 |
| --인증, -a | 문자열 | 인스턴스에 인증하는 데 사용할 자격 증명의 별칭입니다. | 설정된 경우 기본 별칭입니다. |
now-sdk move --ids 9f4e7402317d470da09ac34c0693d02d,c4e34f348b1843899ca5efb2a31666f0,5057309fccef409cb30692c86a9aaac6 --auth devuser1다운로드
인스턴스의 애플리케이션에서 모든 애플리케이션 메타데이터(XML)를 다운로드하여 로컬 애플리케이션의 메타데이터와 비교합니다.
인스턴스에서 애플리케이션 메타데이터를 다운로드할 때는 JavaScript 모듈에 대한 업데이트가 포함되지 않습니다.
다운로드 명령의 구조는 다음과 같습니다.now-sdk download <directory> [--source <package path>] [--incremental <flag>]| 매개변수 | 유형 | 설명 | 기본값 |
|---|---|---|---|
| 예배 규칙 | 문자열 | 메타데이터를 다운로드할 디렉터리의 경로입니다. 주: 이 디렉터리는 애플리케이션의 메타데이터 디렉터리와 다른 디렉터리여야 합니다. |
— |
| 매개변수 | 유형 | 설명 | 기본값 |
|---|---|---|---|
| --소스 | 문자열 | 애플리케이션에 대한 package.json 파일이 들어 있는 디렉터리의 경로입니다. package.json은 애플리케이션의 기본 디렉터리에 있어야 합니다. |
현재 작업 디렉터리 |
| --증분 | 부울 | 인스턴스에서 만들어지고 고객 업데이트[sys_update_xml] 테이블에 기록된 애플리케이션 메타데이터에 대한 변경 내용만 다운로드하는 옵션입니다. | 아니오 |
now-sdk download /path/to/directory --source /path/to/package --incremental true깨끗한
이전 빌드로 출력된 빌드 아티팩트를 제거합니다.
clean 명령의 구조는 다음과 같습니다.now-sdk clean <source>| 매개변수 | 유형 | 설명 | 기본값 |
|---|---|---|---|
| 소스 | 문자열 | 애플리케이션에 대한 package.json 파일이 들어 있는 디렉터리의 경로입니다. package.json은 애플리케이션의 기본 디렉터리에 있어야 합니다. |
현재 작업 디렉터리 |
now-sdk clean /path/to/package팩
이전 빌드와 함께 출력된 빌드 아티팩트를 설치 가능한 ZIP 파일로 패키징합니다.
pack 명령의 구조는 다음과 같습니다.now-sdk pack <source>| 매개변수 | 유형 | 설명 | 기본값 |
|---|---|---|---|
| 소스 | 문자열 | 애플리케이션에 대한 package.json 파일이 들어 있는 디렉터리의 경로입니다. package.json은 애플리케이션의 기본 디렉터리에 있어야 합니다. |
현재 작업 디렉터리 |
now-sdk pack /path/to/package설명
API에 대한 설명서와 예제를 ServiceNow Fluent 봅니다.
explain 명령의 구조는 다음과 같습니다.now-sdk explain <topic> [--list <keyword>] [--format <output type>] [--peek <flag>]| 매개변수 | 유형 | 설명 | 기본값 |
|---|---|---|---|
| 주제 | 문자열 | 관련 ServiceNow Fluent API, 가이드 또는 기술 문서( 예: table-api 또는 table-guide)를 보기 위해 검색할 키워드 또는 주제 이름입니다. 사용 가능한 주제 목록을 가져오려면 --list 매개변수를 사용합니다. |
— |
| 매개변수 | 유형 | 설명 | 기본값 |
|---|---|---|---|
| --목록, -l | 부울 | 사용 가능한 주제 목록을 볼 수 있는 옵션으로, 주제 이름 또는 키워드를 제공하여 필터링할 수 있습니다( 예: now-sdk explain flow --list). 반환되는 목록에는 키워드가 포함된 일치 항목과 관련 일치 항목이 포함되어 있습니다. |
— |
| --체재 | 부울 | 터미널의 출력 형식(예쁘게) 또는 Markdown(원시)으로 형식을 지정하는 옵션입니다. |
예쁜 |
| --엿보기, -p | 부울 | 전체 주제 컨텐츠 대신 주제에 대한 짧은 설명을 표시하는 옵션입니다. 이 매개변수를 --list 매개변수와 함께 사용하여 나열된 주제의 요약을 표시할 수 있습니다. |
— |
now-sdk explain uipage-api --format raw