ATF 코드 범위 API
ATF 코드 범위 API는 Automated Test Framework(ATF) 실행에서 코드 범위를 계산하는 엔드포인트를 제공합니다. 필터링된 라인 번호, 특정 스크립트 ID 또는 일련의 테스트 도구 모음/테스트 실행에 포함된 모든 스크립트별로 범위를 검색할 수 있습니다.
ATF 코드 범위는 ATF 테스트 도구 모음에 포함되는 배포 요청의 코드 백분율을 결정할 수 있는 도구입니다.
기본적으로 ATF 테스트 도구 모음이 배포 요청에 있는 코드의 70% 미만을 다루는 경우 ReleaseOps는 배포 요청을 조정 상태로 전환하고 테스트 실패 작업이 자동으로 생성됩니다. 배포 요청 평가 플레이북에서 ATF 코드 범위 임계치를 조정할 수 있습니다. 자세한 내용은 Set Automated Test Framework (ATF) code coverage 문서를 참조하십시오.
ATF 및 성능 분석기에 대한 자세한 내용은 다음을 참조하십시오. Testing and debugging applications
ATF 코드 범위 - POST /now/atf/code_coverage/all
제공된 ATF 실행에 포함된 모든 스크립트의 범위를 집계합니다. 테스트 도구 모음 실행과 개별 테스트 실행의 결합을 지원합니다.
URL 형식
버전이 지정된 URL: /api/now/v1/atf/code_coverage/all
기본 URL: /api/now/atf/code_coverage/all
지원되는 요청 매개변수
| 이름 | 설명 |
|---|---|
| api_version | 옵션입니다. 액세스할 엔드포인트의 버전입니다. 예를 들어 v1 또는 v2입니다. 최신 버전이 아닌 엔드포인트 버전을 사용하도록 이 값만 지정하십시오. 데이터 유형: 문자열 |
| 이름 | 설명 |
|---|---|
| 없음 |
| 이름 | 설명 |
|---|---|
| test_suite_result_ids | test_result_ids 제공되지 않는 한 필수입니다. 테스트 도구 모음 결과 sys_ids의 목록입니다.테이블: 테스트 도구 모음 결과 [sys_atf_test_suite_result] 데이터 유형: 문자열 배열 |
| test_result_ids | test_suite_result_ids 제공되지 않는 한 필수입니다. 포함할 테스트 결과 sys_ids 목록입니다(도구 모음과 결합 가능). 테이블: 테스트 결과 [sys_atf_test_result] 데이터 유형: 문자열 배열 |
| 자세한 정보 | 각 사용자 지정 테스트 스크립트에 대한 응답에 제공할 상세 정보 수준을 나타내는 플래그입니다. 유효한 값은 다음과 같습니다.
기본값: false 데이터 유형: 부울 |
| sys_scopes | 지정된 애플리케이션 범위(예: ["x_my_app", "global"])로 결과를 필터링합니다. 여러 범위는 OR 논리를 사용하므로 일치하는 모든 범위가 포함됩니다. 빈 배열이나 NULL 배열이 제공되면 필터링이 발생하지 않습니다.데이터 유형: 문자열 배열 |
헤더
다음 요청 및 응답 헤더는 이 HTTP 작업에만 적용되거나 고유한 방식으로 이 작업에 적용됩니다. REST API에 사용되는 일반 헤더 목록은 지원되는 REST API 헤더를 참조하십시오.
| 머리글 | 설명 |
|---|---|
| 수용 | 응답 본문의 데이터 형식입니다. 지원되는 유형은 application/json 또는 application/xml입니다. 기본값: application/json |
| 머리글 | 설명 |
|---|---|
| 안 함 |
상태 코드
이 HTTP 작업에 적용되는 상태 코드는 다음과 같습니다. REST API에 사용되는 가능한 상태 코드 목록은 REST API HTTP 응답 코드를 참조하십시오.
| 상태 코드 | 설명 |
|---|---|
| 200 | 성공입니다. 요청이 성공적으로 처리되었습니다. |
| 400 | 잘못된 요청입니다. 잘못된 요청 유형 또는 잘못된 형식의 요청이 탐지되었습니다. |
| 500 | 내부 서버 오류입니다. 요청을 처리하는 동안 예기치 않은 오류가 발생했습니다. 응답에는 오류에 대한 추가 정보가 포함되어 있습니다. |
응답 본문 매개변수(JSON)
| 이름 | 설명 |
|---|---|
| 링크 | 요청 기록에 대한 링크입니다. 데이터 유형: 문자열 |
| details.<scriptId> | 스크립트 sys_id별로 각 사용자 지정 테스트 스크립트의 ATF 집계 범위 백분율을 나열합니다. 데이터 유형: 숫자 |
| api_request_sys_id | 요청의 sys_id입니다. 테이블: ATF 코드 범위 API 요청 [sys_atf_code_coverage_request] 데이터 유형: 문자열 |
| 결과 | 성공 또는 오류 메시지입니다. 오류 응답 형식:
가능한 오류:
데이터 유형: 문자열 |
| 합계 | 속성에 나열 details 된 스크립트의 결합된 ATF 코드 범위를 반영하는 전체 코드 범위 백분율입니다. 제공된 테스트와 연결된 사용자 지정 스크립트가 없거나 코드 범위의 백분율이 제공되지 않은 경우 값은 0입니다. 가능한 값: 0-100 데이터 유형: 숫자 |
| truncation_message | 지속성 중에 요청 데이터가 잘린 경우 정보를 잘린 스크립트에 대한 상세 정보를 제공합니다. 예시 메시지:
데이터 유형: 문자열 |
| was_truncated | 지속성 중에 요청 데이터가 잘렸는지 여부를 나타내는 플래그입니다. 잘림을 줄이기 위해 지원되는 기본 문자 수를 변경할 수 있습니다. 예: 유효한 값은 다음과 같습니다.
데이터 유형: 부울 기본 문자 수: 4000 |
cURL 요청
다음 예제에서는 선택한 테스트 결과 도구 모음 및 테스트 결과에 대한 모든 코드 범위를 검색하는 방법을 보여 줍니다.
curl "https://instance.service-now.com/api/now/atf/code_coverage/all" \
--request POST \
--header "Accept:application/json" \
--header "Content-Type:application/json" \
--data "{
\"test_suite_result_ids\": [\"5f81c7c4ff943210b88affffffffffc5\"],
\"test_result_ids\": [\"bb8daec1ff103210b88affffffffff1c\"],
\"verbose\": true,
\"sys_scopes\": [\"x_my_app\", \"global\"]
}" \
--user 'username':'password'
출력:
{
"result": "success",
"total": 73,
"details": {
"sys_script_include_a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6": 85,
"sys_script_include_b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6e7": 92,
"sys_ui_script_c3d4e5f6a7b8c9d0e1f2a3b4c5d6e7f8": 45,
"sys_script_d4e5f6a7b8c9d0e1f2a3b4c5d6e7f8a9": 68,
"sys_script_include_e5f6a7b8c9d0e1f2a3b4c5d6e7f8a9b0": 100
},
"api_request_sys_id": "f6a7b8c9d0e1f2a3b4c5d6e7f8a9b0c1",
"link": "https://instance.service-now.com/sys_atf_code_coverage_request.do?sys_id=f6a7b8c9d0e1f2a3b4c5d6e7f8a9b0c1"
}
ATF 코드 범위 - POST /now/atf/code_coverage/by_script_id
특정 스크립트 기록의 범위를 계산합니다.
지정된 ATF 실행에 포함되는 모든 스크립트의 코드 범위를 계산하려면 엔드포인트 /now/atf/code_coverage/all을 사용하십시오.
URL 형식
버전이 지정된 URL: /api/now/v1/atf/code_coverage/by_script_id
기본 URL: /api/now/atf/code_coverage/by_script_id
지원되는 요청 매개변수
| 이름 | 설명 |
|---|---|
| api_version | 옵션입니다. 액세스할 엔드포인트의 버전입니다. 예를 들어 v1 또는 v2입니다. 최신 버전이 아닌 엔드포인트 버전을 사용하도록 이 값만 지정하십시오. 데이터 유형: 문자열 |
| 이름 | 설명 |
|---|---|
| 없음 |
| 이름 | 설명 |
|---|---|
| test_suite_result_ids | test_result_ids 제공되지 않는 한 필수입니다. 테스트 도구 모음 결과 sys_ids의 목록입니다.테이블: 테스트 도구 모음 결과 [sys_atf_test_suite_result] 데이터 유형: 문자열 배열 |
| test_result_ids | test_suite_result_ids 제공되지 않는 한 필수입니다. 포함할 테스트 결과 sys_ids 목록입니다(도구 모음과 결합 가능). 테이블: 테스트 결과 [sys_atf_test_result] 데이터 유형: 문자열 배열 |
| script_array | 필수 코드 범위를 평가할 하나 이상의 유효한 스크립트 sys_ids입니다. 유효한(비어 있지 않은) 스크립트 식별자를 하나 이상 포함해야 합니다. null, 비어 있음 또는 공백만 있는 항목은 필터링됩니다. 테이블: 메타데이터 추적 [sys_traced_metadata] 데이터 유형: 배열 |
| 자세한 정보 | 각 사용자 지정 테스트 스크립트에 대한 응답에 제공할 상세 정보 수준을 나타내는 플래그입니다. 유효한 값은 다음과 같습니다.
기본값: false 데이터 유형: 부울 |
| sys_scopes | 지정된 애플리케이션 범위(예: ["x_my_app", "global"])로 결과를 필터링합니다. 여러 범위는 OR 논리를 사용하므로 일치하는 모든 범위가 포함됩니다. 빈 배열이나 NULL 배열이 제공되면 필터링이 발생하지 않습니다.데이터 유형: 문자열 배열 |
헤더
다음 요청 및 응답 헤더는 이 HTTP 작업에만 적용되거나 고유한 방식으로 이 작업에 적용됩니다. REST API에 사용되는 일반 헤더 목록은 지원되는 REST API 헤더를 참조하십시오.
| 머리글 | 설명 |
|---|---|
| 수용 | 응답 본문의 데이터 형식입니다. 지원되는 유형은 application/json 또는 application/xml입니다. 기본값: application/json |
| 머리글 | 설명 |
|---|---|
| 안 함 |
상태 코드
이 HTTP 작업에 적용되는 상태 코드는 다음과 같습니다. REST API에 사용되는 가능한 상태 코드 목록은 REST API HTTP 응답 코드를 참조하십시오.
| 상태 코드 | 설명 |
|---|---|
| 200 | 성공입니다. 요청이 성공적으로 처리되었습니다. |
| 400 | 잘못된 요청입니다. 잘못된 요청 유형 또는 잘못된 형식의 요청이 탐지되었습니다. |
| 500 | 내부 서버 오류입니다. 요청을 처리하는 동안 예기치 않은 오류가 발생했습니다. 응답에는 오류에 대한 추가 정보가 포함되어 있습니다. |
응답 본문 매개변수(JSON)
| 이름 | 설명 |
|---|---|
| 링크 | 요청 기록에 대한 링크입니다. 데이터 유형: 문자열 |
| details.<scriptId> | 스크립트 sys_id별로 각 사용자 지정 테스트 스크립트의 ATF 집계 범위 백분율을 나열합니다. 데이터 유형: 숫자 |
| api_request_sys_id | 요청의 sys_id입니다. 테이블: ATF 코드 범위 API 요청 [sys_atf_code_coverage_request] 데이터 유형: 문자열 |
| 결과 | 성공 또는 오류 메시지입니다. 오류 응답 형식:
가능한 오류:
데이터 유형: 문자열 |
| 합계 | 속성에 나열 details 된 스크립트의 결합된 ATF 코드 범위를 반영하는 전체 코드 범위 백분율입니다. 제공된 테스트와 연결된 사용자 지정 스크립트가 없거나 코드 범위의 백분율이 제공되지 않은 경우 값은 0입니다. 가능한 값: 0-100 데이터 유형: 숫자 |
| truncation_message | 지속성 중에 요청 데이터가 잘린 경우 정보를 잘린 스크립트에 대한 상세 정보를 제공합니다. 예시 메시지:
데이터 유형: 문자열 |
| was_truncated | 지속성 중에 요청 데이터가 잘렸는지 여부를 나타내는 플래그입니다. 잘림을 줄이기 위해 지원되는 기본 문자 수를 변경할 수 있습니다. 예: 유효한 값은 다음과 같습니다.
데이터 유형: 부울 기본 문자 수: 4000 |
추가 정보
요청 데이터가 데이터베이스 필드 제한을 초과하는 경우 큰 요청 페이로드는 지속될 때 잘릴 수 있습니다.
- test_suite_results - 테스트 도구 모음 결과 ID의 JSON 배열입니다.
- test_results - 테스트 결과 ID의 JSON 배열입니다.
- metadata_info - 필터링된 줄 또는 스크립트 배열을 포함하는 JSON 객체입니다.
속성이 was_truncated 예이면 응답 본문의 속성에 truncation_message 상세 정보가 제공됩니다. 또한 시스템은 다음 메시지를 기록합니다.
필드 <table_name>.<field_name>이 <original_length>자에서 <truncated_length>자(최대: <max_field_length>자)로 잘렸습니다. 데이터 손실을 방지하기 위해 열 길이를 늘리는 것이 좋습니다."
- 예일 경우 glide.db.truncate_utf8 UTF-8바이트 경계에서 정보가 잘립니다. 이 설정은 멀티바이트 문자에 더 안전합니다.
- false(기본값)인 경우 glide.db.truncate_utf8 문자 경계에서 정보가 잘립니다. 기본 경계는 4000자입니다.
cURL 요청
다음 예제에서는 특정 테스트 스크립트로 필터링된 선택한 테스트 결과 도구 모음의 코드 범위를 검색하는 방법을 보여줍니다. verbose 가 false이거나 생략되면 객체가 details 비어 있습니다. 전체 total 백분율만 반환됩니다.
curl "https://instance.service-now.com/api/now/atf/code_coverage/by_script_id" \
--request POST \
--header "Accept:application/json" \
--header "Content-Type:application/json" \
--data "{
\"test_suite_result_ids\": [\"5f81c7c4ff943210b88affffffffffc5\"],
\"script_array\": [
\"sys_script_include_db95cb370a0a0b2b00244880b5cacda7\",
\"sys_script_include_a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6\"
]
}" \
--user 'username':'password'
출력:
{
"result": "success",
"total": 78,
"details": {},
"api_request_sys_id": "a7b8c9d0e1f2a3b4c5d6e7f8a9b0c1d2",
"link": "https://instance.service-now.com/sys_atf_code_coverage_request.do?sys_id=a7b8c9d0e1f2a3b4c5d6e7f8a9b0c1d2"
}
ATF 코드 범위 - POST /now/atf/code_coverage/by_line_number
메타데이터 기록당 필터링된 라인 번호 집합을 사용하여 코드 범위를 계산합니다.
URL 형식
버전이 지정된 URL: /api/now/v1/atf/code_coverage/by_line_number
기본 URL: /api/now/atf/code_coverage/by_line_number
지원되는 요청 매개변수
| 이름 | 설명 |
|---|---|
| api_version | 옵션입니다. 액세스할 엔드포인트의 버전입니다. 예를 들어 v1 또는 v2입니다. 최신 버전이 아닌 엔드포인트 버전을 사용하도록 이 값만 지정하십시오. 데이터 유형: 문자열 |
| 이름 | 설명 |
|---|---|
| 없음 |
| 이름 | 설명 |
|---|---|
| test_suite_result_ids | test_result_ids 제공되지 않는 한 필수입니다. 테스트 도구 모음 결과 sys_ids의 목록입니다.테이블: 테스트 도구 모음 결과 [sys_atf_test_suite_result] 데이터 유형: 문자열 배열 |
| test_result_ids | test_suite_result_ids 제공되지 않는 한 필수입니다. 포함할 테스트 결과 sys_ids 목록입니다(도구 모음과 결합 가능). 테이블: 테스트 결과 [sys_atf_test_result] 데이터 유형: 문자열 배열 |
| filtered_lines | 필수 코드 범위에 지정할 메타데이터 sys_ids 및 해당 코드 라인의 맵입니다(예: { "<metadata_sys_id>": { "script": [...] } }).데이터 유형: 객체 |
| filtered_lines.<sys_id> | 필수이며 비워둘 수 없습니다. 코드 범위를 평가할 하나 이상의 스크립트 sys_ids입니다. 유효한(비어 있지 않은) 스크립트 식별자를 하나 이상 포함해야 합니다. null, 비어 있음 또는 공백만 있는 항목은 필터링됩니다. 테이블: 메타데이터 추적 [sys_traced_metadata] 데이터 유형: 객체 |
| filtered_lines.<sys_id>.script | 필수 라인 번호 및 라인 번호 범위의 문자열 목록입니다. 제공된 모든 값은 1보다 크거나 같은 양의 정수여야 합니다. 유효한 라인 번호 형식:
예제: 데이터 유형: 배열 |
| 자세한 정보 | 각 사용자 지정 테스트 스크립트에 대한 응답에 제공할 상세 정보 수준을 나타내는 플래그입니다. 유효한 값은 다음과 같습니다.
기본값: false 데이터 유형: 부울 |
| sys_scopes | 지정된 애플리케이션 범위(예: ["x_my_app", "global"])로 결과를 필터링합니다. 여러 범위는 OR 논리를 사용하므로 일치하는 모든 범위가 포함됩니다. 빈 배열이나 NULL 배열이 제공되면 필터링이 발생하지 않습니다.데이터 유형: 문자열 배열 |
헤더
다음 요청 및 응답 헤더는 이 HTTP 작업에만 적용되거나 고유한 방식으로 이 작업에 적용됩니다. REST API에 사용되는 일반 헤더 목록은 지원되는 REST API 헤더를 참조하십시오.
| 머리글 | 설명 |
|---|---|
| 수용 | 응답 본문의 데이터 형식입니다. 지원되는 유형은 application/json 또는 application/xml입니다. 기본값: application/json |
| 머리글 | 설명 |
|---|---|
| 안 함 |
상태 코드
이 HTTP 작업에 적용되는 상태 코드는 다음과 같습니다. REST API에 사용되는 가능한 상태 코드 목록은 REST API HTTP 응답 코드를 참조하십시오.
| 상태 코드 | 설명 |
|---|---|
| 200 | 성공입니다. 요청이 성공적으로 처리되었습니다. |
| 400 | 잘못된 요청입니다. 잘못된 요청 유형 또는 잘못된 형식의 요청이 탐지되었습니다. |
| 500 | 내부 서버 오류입니다. 요청을 처리하는 동안 예기치 않은 오류가 발생했습니다. 응답에는 오류에 대한 추가 정보가 포함되어 있습니다. |
응답 본문 매개변수(JSON)
| 이름 | 설명 |
|---|---|
| 링크 | 요청 기록에 대한 링크입니다. 데이터 유형: 문자열 |
| details.<scriptId> | 스크립트 sys_id별로 각 사용자 지정 테스트 스크립트의 ATF 집계 범위 백분율을 나열합니다. 데이터 유형: 숫자 |
| api_request_sys_id | 요청의 sys_id입니다. 테이블: ATF 코드 범위 API 요청 [sys_atf_code_coverage_request] 데이터 유형: 문자열 |
| 결과 | 성공 또는 오류 메시지입니다. 오류 응답 형식:
가능한 오류:
데이터 유형: 문자열 |
| 합계 | 속성에 나열 details 된 스크립트의 결합된 ATF 코드 범위를 반영하는 전체 코드 범위 백분율입니다. 제공된 테스트와 연결된 사용자 지정 스크립트가 없거나 코드 범위의 백분율이 제공되지 않은 경우 값은 0입니다. 가능한 값: 0-100 데이터 유형: 숫자 |
| truncation_message | 지속성 중에 요청 데이터가 잘린 경우 정보를 잘린 스크립트에 대한 상세 정보를 제공합니다. 예시 메시지:
데이터 유형: 문자열 |
| was_truncated | 지속성 중에 요청 데이터가 잘렸는지 여부를 나타내는 플래그입니다. 잘림을 줄이기 위해 지원되는 기본 문자 수를 변경할 수 있습니다. 예: 유효한 값은 다음과 같습니다.
데이터 유형: 부울 기본 문자 수: 4000 |
추가 정보
요청 데이터가 데이터베이스 필드 제한을 초과하는 경우 큰 요청 페이로드는 지속될 때 잘릴 수 있습니다.
- test_suite_results - 테스트 도구 모음 결과 ID의 JSON 배열입니다.
- test_results - 테스트 결과 ID의 JSON 배열입니다.
- metadata_info - 필터링된 줄 또는 스크립트 배열을 포함하는 JSON 객체입니다.
속성이 was_truncated 예이면 응답 본문의 속성에 truncation_message 상세 정보가 제공됩니다. 또한 시스템은 다음 메시지를 기록합니다.
필드 <table_name>.<field_name>이 <original_length>자에서 <truncated_length>자(최대: <max_field_length>자)로 잘렸습니다. 데이터 손실을 방지하기 위해 열 길이를 늘리는 것이 좋습니다."
- 예일 경우 glide.db.truncate_utf8 UTF-8바이트 경계에서 정보가 잘립니다. 이 설정은 멀티바이트 문자에 더 안전합니다.
- false(기본값)인 경우 glide.db.truncate_utf8 문자 경계에서 정보가 잘립니다. 기본 경계는 4000자입니다.
cURL 요청
다음 예제에서는 선택한 테스트 결과 도구 모음 및 테스트 결과에 대한 모든 코드 범위를 검색하는 방법을 보여 줍니다.
curl "https://instance.service-now.com/api/now/atf/code_coverage/by_line_number" \
--request POST \
--header "Accept:application/json" \
--header "Content-Type:application/json" \
--data "{
\"test_suite_result_ids\": [\"5f81c7c4ff943210b88affffffffffc5\"],
\"test_result_ids\": [\"bb8daec1ff103210b88affffffffff1c\"],
\"filtered_lines\": {
\"sys_script_include_db95cb370a0a0b2b00244880b5cacda7\": {
\"script\": [1, \"3-6\", 7, \"10-12\"]
}
},
\"verbose\": true,
\"sys_scopes\": [\"x_my_app\", \"global\"]
}" \
--user 'username':'password'
출력:
{
"result": "success",z
"total": 64,
"details": {
"sys_script_include_db95cb370a0a0b2b00244880b5cacda7": 80,
"sys_ui_script_c3d4e5f6a7b8c9d0e1f2a3b4c5d6e7f8": 50
},
"api_request_sys_id": "b8c9d0e1f2a3b4c5d6e7f8a9b0c1d2e3",
"link": "https://instance.service-now.com/sys_atf_code_coverage_request.do?sys_id=b8c9d0e1f2a3b4c5d6e7f8a9b0c1d2e3",
"was_truncated": false
}