Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Azure DevOps Services | Azure DevOps Server | Azure DevOps Server 2022
As APIs REST do Azure DevOps fornecem acesso programático avançado a itens de trabalho, repositórios, builds, versões e muito mais. Se você estiver criando integrações personalizadas, automatizando fluxos de trabalho ou estendendo recursos do Azure DevOps, entender os padrões e conceitos fundamentais é essencial para uma implementação bem-sucedida.
Dica
Pronto para iniciar a codificação? Pule para exemplos de API REST para obter exemplos de trabalho completos com padrões de autenticação modernos.
Este artigo aborda os conceitos e padrões fundamentais das APIs REST do Azure DevOps. Para obter exemplos práticos de implementação, consulte exemplos de API REST.
Estrutura de URL
As APIs seguem um padrão comum, conforme mostrado no exemplo a seguir:
VERB https://{instance}/{collection}/{team-project}/_apis/{area}/{resource}?api-version={version}
Dica
À medida que as APIs evoluem, recomendamos que você inclua uma versão da API em cada solicitação. Essa prática pode ajudá-lo a evitar alterações inesperadas na API que poderiam causar falhas.
Azure DevOps Services
Para o Azure DevOps Services, instance é dev.azure.com/{organization} e collection é DefaultCollection, portanto, o padrão se parece com o seguinte exemplo:
VERB https://dev.azure.com/{organization}/_apis/{area}/{resource}?api-version={version}
Exemplo de endpoint:
GET https://dev.azure.com/{organization}/_apis/projects?api-version=7.2
Azure DevOps Server
Para o Servidor de DevOps do Azure, instance é {server:port}. A porta padrão para uma conexão não SSL é 8080.
A coleção padrão é DefaultCollection, mas você pode usar qualquer coleção.
Exemplos:
- SSL:
https://{server}/DefaultCollection/_apis/projects?api-version=7.2 - Não SSL:
http://{server}:8080/DefaultCollection/_apis/projects?api-version=7.2
Autenticação
As APIs REST do Azure DevOps dão suporte a vários métodos de autenticação:
- ID do Microsoft Entra – Recomendado para aplicativos de produção
- PATs (Tokens de Acesso Pessoal) – Autenticação simples para scripts e testes
- OAuth 2.0 – Para aplicativos que não são da Microsoft
- Principais de serviço – Para cenários automatizados
Importante
A autenticação da ID do Microsoft Entra é a abordagem recomendada para aplicativos de produção. Para obter exemplos de implementação e diretrizes de autenticação completas, consulte exemplos de API REST e diretrizes de autenticação.
Formato da resposta
As APIs REST do Azure DevOps normalmente retornam respostas JSON. Aqui está uma estrutura de resposta de exemplo:
{
"value": [
{
"id": "00000000-0000-0000-0000-000000000000",
"name": "Fabrikam-Fiber-TFVC",
"url": "https://dev.azure.com/fabrikam-fiber-inc/_apis/projects/00000000-0000-0000-0000-000000000000",
"description": "TeamFoundationVersionControlprojects"
}
],
"count": 1
}
A resposta é JSON, que geralmente é o que você obtém das APIs REST, embora haja algumas exceções, como blobs git.
Dica
Para obter exemplos de trabalho completos que mostram como analisar essas respostas, consulte exemplos de API REST.
Métodos e operações HTTP
As APIs REST do Azure DevOps usam métodos HTTP padrão:
| Método | Usado para... | Exemplo |
|---|---|---|
| GET | Obter um recurso ou uma lista de recursos | Obter projetos, itens de trabalho |
| POST | Criar um recurso ou obter recursos usando consultas avançadas | Criar itens de trabalho, consultar itens de trabalho |
| PUT | Criar ou substituir completamente um recurso | Criar/atualizar item de trabalho |
| PATCH | Atualizar campos específicos de um recurso | Atualizar os campos do item de trabalho |
| DELETE | Excluir um recurso | Excluir item de trabalho |
Dica
Para obter exemplos práticos de cada método HTTP com exemplos de código completos, consulte exemplos de API REST.
Solicitar cabeçalhos e conteúdo
Quando você fornece um corpo da solicitação (geralmente com POST, PUT e PATCH), inclua os cabeçalhos apropriados:
Content-Type: application/json
Para operações PATCH em itens de trabalho, use:
Content-Type: application/json-patch+json
Substituição do método HTTP
Alguns proxies da Web podem dar suporte apenas aos verbos HTTP GET e POST, mas não verbos HTTP mais modernos, como PATCH e DELETE.
Se suas chamadas puderem passar por um desses proxies, você poderá enviar o verbo real usando um método POST, com um cabeçalho para substituir o método.
Por exemplo, talvez você queira atualizar um item de trabalho (PATCH _apis/wit/workitems/3), mas talvez seja necessário passar por um proxy que permita apenas GET ou POST.
Você pode passar o verbo adequado (PATCH neste caso) como um parâmetro de cabeçalho de solicitação HTTP e usar POST como o método HTTP real.
POST https://dev.azure.com/fabrikam-fiber-inc/_apis/wit/workitems/3
X-HTTP-Method-Override: PATCH
{
(PATCH request body)
}
Códigos de resposta
Noções básicas sobre códigos de resposta HTTP ajuda você a lidar com as respostas da API adequadamente:
| Resposta | Significado | Anotações |
|---|---|---|
| 200 | Êxito | O corpo da resposta contém dados solicitados |
| 201 | Criado | Recurso criado com êxito |
| 204 | Êxito | Nenhum corpo de resposta (comum com DELETE) |
| 400 | Solicitação incorreta | Parâmetros inválidos ou corpo da solicitação |
| 401 | Desautorizado | Autenticação falhou ou está faltando |
| 403 | Proibido | O usuário não tem permissão para a operação |
| 404 | Não encontrado | O recurso não existe ou nenhuma permissão para exibir |
| 409 | Conflito | Conflito de solicitação com o estado atual do recurso |
Controle de versão da API
As APIs REST do Azure DevOps têm versão para garantir que os aplicativos continuem funcionando à medida que as APIs evoluem.
Diretrizes
- Sempre especifique a versão da API com cada solicitação (necessária)
- Formatar versões de API como:
{major}.{minor}ou{major}.{minor}-{stage}(por exemplo,7.2, )7.2-preview - Use revisões de visualização específicas quando disponível:
7.2-preview.1,7.2-preview.2 - Atualizar para versões lançadas quando as APIs de visualização forem preteridas
Uso
Especifique a versão da API como um parâmetro de consulta de URL:
GET https://dev.azure.com/{organization}/_apis/projects?api-version=7.2
Ou no cabeçalho da solicitação:
Accept: application/json;api-version=7.2
Para versões com suporte, consulte o controle de versão da API REST.
Mais recursos
Para obter diretrizes práticas de implementação e exemplos de código completos, consulte:
- Exemplos de API REST – Concluir exemplos com a autenticação da ID do Microsoft Entra
- Diretrizes de autenticação – Opções detalhadas de autenticação
- Controle de versão da API REST – informações sobre o ciclo de vida da API
- Detalhes da implementação do OAuth 2.0 – OAuth