Partilhar via


Migrar de OM de cliente WIT para APIs REST

Serviços de DevOps do Azure

Importante

Substituição de tecnologia antiga necessária

O WIT Client OM (Work Item Tracking Client Object Model) é uma tecnologia herdada que deve ser substituída por bibliotecas de cliente .NET modernas baseadas em REST. A migração oferece melhor desempenho, segurança e suporte entre plataformas.

Este guia ajuda a migrar o seu código .NET do cliente WIT OM preterido para APIs REST modernas. A migração oferece benefícios significativos:

✅ Vantagens modernas:

  • Operações assíncronas para melhor desempenho
  • Autenticação moderna com identidades geridas e principais de serviço
  • Suporte entre plataformas (.NET Core, .NET 5+ e .NET Framework)
  • Desenvolvimento ativo e apoio contínuo

❌ Limitações do legado:

  • Limitado apenas ao .NET Framework e Windows
  • Operações de bloqueio síncronas
  • Métodos de autenticação desatualizados

Visão geral da migração

1º Passo: Atualizar pacotes NuGet - Substitua o OM do cliente WIT por pacotes de cliente REST modernos Etapa 2: Atualizar a autenticação - Migrar para métodos de autenticação seguros e modernos Etapa 3: Converter operações - substituir chamadas síncronas por operações REST assíncronas

Para obter exemplos de código detalhados e exemplos de migração passo a passo, consulte o Guia de Migração do OM do Cliente WIT do GitHub Azure DevOps.

Tabela de migração de cenários comuns

A tabela a seguir mostra como migrar operações comuns de item de trabalho do OM do cliente WIT herdado para APIs REST modernas:

Cenário Cliente OM WIT legado API REST moderna
Obter lista de itens de trabalho WorkItemStore.Query Itens de Trabalho - Lista
Obtenha um único item de trabalho WorkItemStore.GetWorkItem Itens de Trabalho - Obter Item de Trabalho
Criar novo item de trabalho Item de trabalho Itens de trabalho - Criar
Atualizar item de trabalho existente WorkItem.Fields Itens de Trabalho - Atualização
Validar um item de trabalho WorkItem.IsValid(),
WorkItem.Validate()
Itens de Trabalho - Atualizar (apenas validar)
Criar um link para um item de trabalho existente WorkItem.WorkItemLinks.Adicionar Itens de Trabalho - Atualizar (adicionar link)
Adicionar um comentário WorkItem.History Itens de Trabalho - Atualizar (adicionar comentário)
Criar um hiperlink WorkItem.Links.Add() Itens de Trabalho - Atualizar (adicionar hiperlink)
Adicionar um anexo WorkItem.Attachments.Add() Itens de Trabalho - Atualizar (adicionar anexo)
Consultar itens de trabalho usando WIQL WorkItemStore.Query() Wiql - Consulta por Wiql
Executar uma consulta existente para obter itens de trabalho WorkItemStore.Query() Wiql - Consulta por ID
Obter lista de tipos de item de trabalho para o projeto Categoria.TiposDeItensDeTrabalho Tipos de Item de Trabalho - Lista
Obter detalhes do tipo de item de trabalho Categoria.TiposDeItensDeTrabalho Tipos de Itens de Trabalho - Obter
Obter lista de campos para um tipo de item de trabalho WorkItemType.FieldDefinitions Campo Tipos de Item de Trabalho - Lista
Obter detalhes do campo WorkItemType.FieldDefinitions Campo de Tipos de Itens de Trabalho - Obter

Migração de autenticação

Autenticação herdada (❌ Substituir):

// WIT Client OM with basic authentication
using (var tpc = new TfsTeamProjectCollection(new Uri(collectionUri)))
{
    tpc.Authenticate();
    var workItemStore = tpc.GetService<WorkItemStore>();
}

Autenticação moderna (✅ Recomendado):

// REST client with managed identity (for Azure-hosted apps)
var credentials = new VssAzureIdentityCredential();
using var connection = new VssConnection(new Uri(collectionUri), credentials);
var witClient = connection.GetClient<WorkItemTrackingHttpClient>();

// Alternative: Service principal for CI/CD
// var credentials = new VssServicePrincipalCredential(clientId, clientSecret, tenantId);

// Alternative: PAT for development/testing
// var credentials = new VssBasicCredential(string.Empty, personalAccessToken);

Próximas etapas e recursos

📖 Recursos essenciais de migração

🔧 Exemplos de código e ferramentas

🆘 Apoio e comunidade

Sugestão

Inicie a migração: Comece com orientações de autenticação para escolher a abordagem correta e, em seguida, consulte Exemplos de biblioteca de cliente .NET para exemplos de código de trabalho.