A ação de API do Azure DevOps permite chamar qualquer API REST do Azure DevOps diretamente dos seus fluxos de trabalho, sem a necessidade de uma ação dedicada para cada operação.
Executar uma API do Azure DevOps
Esta ação permite executar qualquer operação documentada na referência da API REST do Azure DevOps. Forneça a organização, o caminho da API, o método HTTP e o corpo da requisição opcional — a ação lida com a autenticação automaticamente.
As seguintes entradas estão disponíveis para esta ação:
Campo de entrada | Opcionalidade | Tipo | Descrição |
|---|---|---|---|
| Obrigatório | Corda | Um clientId de uma Entidade de Serviço do Azure (formato UUID). Passe como um segredo. Veja como |
| Obrigatório | Corda | Um clientSecret de Entidade de Serviço do Azure. Passe como um segredo. Veja como |
| Obrigatório | Corda | O identificador de locatário do Azure (formato UUID). Pode ser passado como um segredo. |
| Obrigatório | Corda | O nome da organização do Azure DevOps. Exemplo:
|
| Obrigatório | Corda | O caminho da URL para a requisição da (tamanho máximo de 1.000). Exemplo:
|
| Obrigatório | Corda | Um de [
] |
| Opcional | Mapa | Um corpo opcional como um mapa JSON. Deve ser passado com os métodos
,
e
quando a requisição exigir um corpo. Oferece suporte a referências de segredos. |
| Opcional | Lista | Uma lista de expressões JQ para extrair valores da resposta. Cada seletor mapeia um nome para uma expressão JQ. Exemplo:
|
Esta ação retorna as seguintes saídas:
Campo de saída | Tipo | Descrição |
|---|---|---|
| Boleano |
|
| Corda | Contém o motivo da falha se a ação falhar. |
| Objeto |
Cada endpoint de API retorna uma resposta diferente. Consulte a referência da API REST do Azure DevOps. |
| Corda | A URL para consultar operações assíncronas. Leia
ou
de
para acompanhar a conclusão. |
| Inteiro | Tempo de espera em segundos que o servidor recomenda antes de tentar novamente ou consultar a URL assíncrona. |
Exemplo: obter projetos
- 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: GETExemplo: criar um pipeline
- 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.nameExemplo: executar um pipeline
- 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: {}Exemplo: excluir um pipeline
- 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