InvokeRESTAPI@0 - REST API v0 작업 호출
이 작업을 사용하여 REST API를 파이프라인의 일부로 호출합니다.
Syntax
# Invoke REST API v0
# Invoke REST API as a part of your process.
- task: InvokeRESTAPI@0
inputs:
serviceConnection: # string. Alias: connectedServiceName. Required. Generic endpoint.
method: 'POST' # 'OPTIONS' | 'GET' | 'HEAD' | 'POST' | 'PUT' | 'DELETE' | 'TRACE' | 'PATCH'. Required. Method. Default: POST.
#headers: # string. Headers.
#body: '{"JobId": "$(system.jobId)", "PlanId": "$(system.planId)", "TimelineId": "$(system.timelineId)", "ProjectId": "$(system.teamProjectId)", "VstsUrl": "$(system.CollectionUri)","AuthToken": "$(system.AccessToken)"}' # string. Optional. Use when method != GET && method != HEAD. Body. Default: {"JobId": "$(system.jobId)", "PlanId": "$(system.planId)", "TimelineId": "$(system.timelineId)", "ProjectId": "$(system.teamProjectId)", "VstsUrl": "$(system.CollectionUri)","AuthToken": "$(system.AccessToken)"}.
#urlSuffix: # string. Url suffix string.
# Completion Options
waitForCompletion: 'false' # 'true' | 'false'. Required. Complete based on. Default: false.
#successCriteria: # string. Optional. Use when waitForCompletion = false. Success criteria.
입력
serviceConnection
- 제네릭 엔드포인트
입력 별칭: connectedServiceName
. string
. 필수 요소.
호출에 대한 를 제공하는 baseURL
일반 서비스 연결과 작업에 사용할 권한 부여를 지정합니다.
method
- 메서드
string
. 필수 요소. 허용되는 값: OPTIONS
, , GET
, HEAD
POST
, PUT
, DELETE
, , TRACE
. PATCH
기본값은 POST
입니다.
API를 호출하는 HTTP 메서드를 지정합니다.
headers
- 헤더
string
. 기본값은 {\n"Content-Type":"application/json"\n}
입니다.
헤더를 JSON 형식으로 정의합니다. 헤더는 API로 전송된 요청과 함께 연결됩니다.
body
- 몸
string
. 선택 사항입니다. 를 사용하는 경우 method != GET && method != HEAD
를 사용합니다. 기본값은 {"JobId": "$(system.jobId)", "PlanId": "$(system.planId)", "TimelineId": "$(system.timelineId)", "ProjectId": "$(system.teamProjectId)", "VstsUrl": "$(system.CollectionUri)","AuthToken": "$(system.AccessToken)"}
입니다.
함수 호출에 대한 요청 본문을 JSON 형식으로 지정합니다.
urlSuffix
- Url 접미사 문자열
string
.
HTTP를 호출하는 동안 제네릭 서비스 연결에서 baseUrl에 추가할 문자열을 지정합니다.
예: 서비스 연결 URL이 이 https:...TestProj/_apis/Release/releases
고 URL 접미사가 /2/environments/1
이면 서비스 연결 URL은 가 https:.../TestProj/_apis/Release/releases/2/environments/1
됩니다. URL 접미사가 ?definitionId=1&releaseCount=1
이면 서비스 연결 URL은 가 됩니다 https//...TestProj/_apis/Release/releases?definitionId=1&releaseCount=1
.
waitForCompletion
- 완료 기준
string
. 필수 요소. 허용되는 값: true
(콜백), false
(ApiResponse). 기본값은 false
입니다.
작업이 완료를 보고하는 방법을 지정합니다. 허용되는 값은 다음과 같습니다.
false
- API 응답: 함수가 20초 이내에 성공을 반환하고 성공 조건이 true로 평가되면 완료를 보고합니다.true
- 콜백: 외부 서비스가 콜백을 수행하여 타임라인 레코드를 업데이트할 때 완료를 보고합니다.
successCriteria
- 성공 조건
string
. 선택 사항입니다. 를 사용하는 경우 waitForCompletion = false
를 사용합니다.
작업의 성공 기준을 지정합니다. 조건이 정의되지 않은 경우 응답 콘텐츠는 결과에 영향을 주지 않습니다. 기본적으로 호출이 를 반환하면 태스크가 전달됩니다 200 OK
.
예: 응답 {"status" : "successful"}
의 경우 식은 일 수 있습니다 eq(root['status'], 'successful')
. 조건 지정에 대해 자세히 알아봅니다.
작업 제어 옵션
모든 작업에는 작업 입력 외에 제어 옵션이 있습니다. 자세한 내용은 컨트롤 옵션 및 일반적인 작업 속성을 참조하세요.
출력 변수
없음
설명
참고
이 작업은 에이전트 없는 작업에서만 사용할 수 있습니다.
API가 성공을 반환하고 응답 본문 구문 분석이 성공하거나 API가 성공으로 타임라인 레코드를 업데이트하는 경우 성공합니다.
REST API 호출 태스크는 배포 작업을 직접 수행하지 않습니다. 대신 자동화된 파이프라인의 일부로 일반 HTTP REST API를 호출하고 필요에 따라 완료될 때까지 기다릴 수 있습니다.
이 작업을 사용하는 방법에 대한 자세한 내용은 승인 및 게이트 개요를 참조하세요.
Azure Management API를 호출할 때 사용되는 기본 URL은 무엇인가요?
Azure 관리 API는 선택한 환경의 ResourceManagerEndpoint 를 사용하여 호출됩니다. 예를 들어 https://management.Azure.com
구독이 AzureCloud 환경에 있을 때 사용됩니다.
콜백이 완료 이벤트로 선택될 때 작업 신호 완료 위치는 어디인가요?
완료를 알리기 위해 외부 서비스는 완료 데이터를 다음 파이프라인 REST 엔드포인트에 게시해야 합니다.
{planUri}/{projectId}/_apis/distributedtask/hubs/{hubName}/plans/{planId}/events?api-version=2.0-preview.1
**Request Body**
{ "name": "TaskCompleted", "taskId": "taskInstanceId", "jobId": "jobId", "result": "succeeded" }
자세한 내용은 이 간단한 cmdline 애플리케이션 을 참조하세요.
또한 C# 도우미 라이브러리를 사용하여 에이전트 없는 작업에 대한 라이브 로깅 및 작업 상태 관리할 수 있습니다. 자세한 정보
응답 본문을 다른 작업의 입력으로 사용할 수 있나요?
아니요, 이 작업은 에이전트 없는 작업이며 HTTP 요청의 콘텐츠를 반환하지 않는 TFS의 내부 HttpRequest를 사용합니다.
요구 사항
요구 사항 | Description |
---|---|
파이프라인 유형 | YAML, 클래식 빌드, 클래식 릴리스 |
실행 중 | Server, ServerGate |
요청 | 없음 |
Capabilities | 이 작업은 작업의 후속 작업에 대한 요구를 충족하지 않습니다. |
명령 제한 사항 | 모두 |
Settable 변수 | 모두 |
에이전트 버전 | 지원되는 모든 에이전트 버전입니다. |
작업 범주 | 배포 |