Azure DevOps API 작업을 사용하면 각 작업에 대한 전용 작업이 없어도 워크플로우에서 직접 모든 Azure DevOps REST API를 호출할 수 있습니다.
Azure DevOps API를 실행합니다.
이 작업을 통해 Azure DevOps REST API 참조에 문서화된 모든 작업을 실행할 수 있습니다. 조직, API 경로, HTTP 메서드 및 선택적 요청 본문을 제공해 주십시오 ― 이 작업은 인증을 자동으로 처리합니다.
이 작업에는 다음 입력을 사용할 수 있습니다:
입력 필드 | 선택성 | 유형 | 설명 |
|---|---|---|---|
| 필수의 | 문자열 | Azure 서비스 주체 clientId(UUID 형식)입니다. 시크릿으로 전달하십시오. 을 확인하십시오. |
| 필수의 | 문자열 | Azure 서비스 주체 clientSecret입니다. 시크릿으로 전달하십시오. 을 확인하십시오. |
| 필수의 | 문자열 | Azure 테넌트 식별자(UUID 형식). 시크릿으로 전달할 수 있습니다. |
| 필수의 | 문자열 | Azure DevOps 조직의 이름입니다. 예시:
|
| 필수의 | 문자열 | 요청의 URL 경로입니다(최대 길이 1000). 예:
|
| 필수의 | 문자열 | [
] 중 하나 |
| 선택 과목 | 지도 | JSON 맵 형식의 선택적 본문입니다. 요청에 본문이 필요한 경우
,
및
메서드와 함께 전달하십시오. 시크릿 참조를 지원합니다. |
| 선택 과목 | 목록 | 응답에서 값을 추출하기 위한 JQ 표현식 목록입니다. 각 선택기는 이름을 JQ 표현식에 매핑합니다. 예:
|
이 작업은 다음 출력을 반환합니다:
출력 필드 | 유형 | 설명 |
|---|---|---|
| 부울 |
|
| 문자열 | 액션이 실패할 경우 실패 이유를 포함합니다. |
| 물체 |
각 API 엔드포인트는 다른 응답을 반환합니다. Azure DevOps REST API 참조를 확인하십시오. |
| 문자열 | 비동기 작업을 폴링할 URL입니다. 완료를 추적하려면
에서
또는
을(를) 읽으십시오. |
| 정수 | 비동기 URL을 재시도하거나 폴링하기 전에 서버에서 권장하는 대기 시간(초)입니다. |
예: 프로젝트 가져오기
- name: getProjects type: action action: azure.devops.api version: 1 inputs: clientId: ${{ :secrets:azure-client-id }} clientSecret: ${{ :secrets:azure-client-secret }} tenantId: ${{ :secrets:azure-client-tenant }} organization: ${{ :secrets:organization }} urlPath: _apis/projects method: GET예: 파이프라인 생성
- name: createPipeline type: action action: azure.devops.api version: 1 inputs: clientId: ${{ :secrets:azure-client-id }} clientSecret: ${{ :secrets:azure-client-secret }} tenantId: ${{ :secrets:azure-client-tenant }} organization: ${{ :secrets:organization }} urlPath: myProject/_apis/pipelines?api-version=7.1 method: POST body: name: testPipeline folder: \ configuration: type: yaml path: pipelineConfig.yml repository: id: 1a8bcfa4-1412-4b3b-af36-4ff1aa5860a1 name: testRepository type: azureReposGit selectors: - name: pipelineId expression: .response.id - name: pipelineName expression: .response.name예: 파이프라인 실행
- name: runPipeline type: action action: azure.devops.api version: 1 inputs: clientId: ${{ :secrets:azure-client-id }} clientSecret: ${{ :secrets:azure-client-secret }} tenantId: ${{ :secrets:azure-client-tenant }} organization: ${{ :secrets:organization }} urlPath: myProject/_apis/pipelines/1/runs?api-version=7.1-preview.1 method: POST body: resources: {} variables: {}예: 파이프라인 삭제
- name: deletePipeline type: action action: azure.devops.api version: 1 inputs: clientId: ${{ :secrets:azure-client-id }} clientSecret: ${{ :secrets:azure-client-secret }} tenantId: ${{ :secrets:azure-client-tenant }} organization: ${{ :secrets:organization }} urlPath: myProject/_apis/build/definitions/1?api-version=7.1-preview.7 method: DELETE