Práticas recomendadas de integração

Azure DevOps Services

Ferramentas e integrações entre serviços melhoram a eficiência dos Serviços de DevOps do Azure. Se você não tiver cuidado, as ferramentas automatizadas podem sair do controle executando uma alta taxa de solicitações. As solicitações fazem com que o Azure DevOps imponha limites de taxa à sua organização. Para ajudar a reduzir o risco de atingir os limites de taxa, siga estas práticas recomendadas ao usar as APIs REST para se integrar ao Azure DevOps.

Enviar por push apenas itens de trabalho acionáveis

Envie apenas itens acionáveis para o Azure DevOps que sua equipe planeja participar ou abordar no futuro. Mantenha os itens de trabalho fora do Azure DevOps até que seja necessário. Por exemplo, não tente armazenar dados de telemetria no Azure DevOps.

Mantenha seu próprio armazenamento de dados

Não adicione itens de trabalho ao Azure DevOps para tê-los todos em um só lugar. Os Serviços de DevOps do Azure não foram projetados como um serviço de armazenamento de dados. Mantenha seu próprio armazenamento de dados.

Agrupe suas alterações

Fazer operações individuais é lento e caro, o que é a principal causa de problemas de desempenho e limitação de taxa. Agrupe suas alterações em uma única chamada. Para obter mais informações, consulte nossa documentação em lote e código de exemplo.

Limite suas revisões

Muitas revisões em um único item de trabalho criam inchaço e causam problemas de desempenho. Recomendamos executar as seguintes tarefas:

  • Reduza suas atualizações colocando em lote suas alterações de campo. Não atualize apenas um campo de cada vez.
  • Se você tiver alterações em vários itens de trabalho, agrupe essas alterações em uma única ação.
  • Mantenha o número mínimo de revisões para evitar limites de revisão.

Observação

Um limite de revisão de item de trabalho de 10.000 está em vigor para atualizações feitas por meio da API REST. Esse limite restringe as atualizações da API REST, mas as atualizações do portal da Web não são afetadas.

Otimizar consultas

Otimize suas consultas para retornar um número modesto de resultados. Condições e filtros complexos podem levar a consultas de longa duração. Mantenha o tempo de execução das consultas abaixo de 30 segundos para evitar falhas de limite.

Dicas de desempenho de consulta

  • Coloque uma cláusula de limite de data ou intervalo perto da parte superior de uma consulta sempre que possível.
  • Reduza o número de cláusulas que usam o operador Ever .
  • Reduza o número de cláusulas que usam o operador Contains , exceto para Tags.
    • Use o operador Contains Words quando disponível.
    • Não use o operador Contém em campos de texto longos, pois é caro.
  • Evite o ''<> e não os operadores quando possível.
  • Evite usar o operador In Group para grupos grandes.
  • Minimize o número de operadores Or e certifique-se de que você ainda tenha escopo de nível superior antes de usar.
  • Evite usar uma cláusula OR entre um operador In Group e Caminhos de Área ou Iteração.
  • Reduza o número de cláusulas gerais para atingir seu objetivo quando possível.
  • Evite classificar em qualquer coisa que não seja campos principais, como ID, quando possível.
  • Use um campo personalizado em seus filtros se quiser classificar em um campo personalizado.
  • Especifique um projeto, se possível. Caso contrário, a consulta terá o escopo definido para toda a coleção e poderá demorar muito mais do que o necessário. Desmarque a opção "Consultar entre projetos no canto superior direito" do editor de consultas.

Consulta entre vários projetos

  • Especifique qual projeto você está procurando se a consulta exigir pesquisa entre projetos.
  • Use tags em vez de palavras-chave quando possível, a menos que você esteja procurando texto parcial de uma cadeia de caracteres.

Lide com falhas graciosamente

As atualizações e consultas falham quando os limites de recursos ou a frequência de utilização ultrapassam o limite de limite. Por exemplo, uma consulta executada por mais de 30 segundos retorna o seguinte erro:

VS402335: The timeout period (30 seconds) elapsed prior to completion of the query or the server is not responding.

Quando você estiver consumindo as APIs REST, certifique-se de projetar seu código para lidar com falhas adequadamente.

Limite ao máximo o número de links por item de trabalho, para evitar a imposição de limites de link.

Importante

Planejamos impor a revisão de itens de trabalho e limites de links em um futuro próximo. Esses limites são determinados pelo monitoramento de desempenho e pelo feedback dos clientes.

Não use consultas para relatórios

Usar consultas e chamadas individuais de itens de trabalho é a principal maneira de impor limites de taxa à sua organização. Não execute consultas para retornar grandes listas de itens de trabalho. Em vez disso, use os links de item de trabalho de relatório e as APIs REST de revisões de item de trabalho.

Para obter mais informações, consulte nosso exemplo de C# no GitHub.