Freigeben über


Migrieren von WIT-Client-OM zu REST-APIs

Azure DevOps Services

Von Bedeutung

Ersetzung veralteter Technologien erforderlich

Das WIT-Client-OM (Work Item Tracking Client Object Model) ist ältere Technologie, die durch moderne REST-basierte .NET-Clientbibliotheken ersetzt werden soll. Die Migration bietet eine bessere Leistung, Sicherheit und plattformübergreifende Unterstützung.

In diesem Leitfaden können Sie Ihren .NET-Code aus dem veralteten WIT-Client-OM zu modernen REST-APIs migrieren. Die Migration bietet erhebliche Vorteile:

✅ Moderne Vorteile:

  • Asynchrone Vorgänge für eine bessere Leistung
  • Moderne Authentifizierung mit verwalteten Identitäten und Dienstprinzipale
  • Plattformübergreifende Unterstützung (.NET Core, .NET 5+ und .NET Framework)
  • Aktive Entwicklung und fortlaufende Unterstützung

❌ Veraltete Beschränkungen:

  • Nur auf .NET Framework und Windows beschränkt
  • Synchrone, blockierende Vorgänge
  • Veraltete Authentifizierungsmethoden

Übersicht zur Migration

Schritt 1: Aktualisieren von NuGet-Paketen – Ersetzen des WIT-Client-OM durch moderne REST-Clientpakete Schritt 2: Aktualisieren der Authentifizierung – Migrieren zu sicheren, modernen Authentifizierungsmethoden Schritt 3: Konvertieren von Vorgängen – Ersetzen synchroner Aufrufe durch asynchrone REST-Vorgänge

Ausführliche Codebeispiele und Schritt-für-Schritt-Migrationsbeispiele finden Sie im GitHub Azure DevOps WIT Client OM Migration Guide.

Migrationstabelle für allgemeine Szenarien

In der folgenden Tabelle wird gezeigt, wie allgemeine Arbeitsaufgabenvorgänge von einem älteren WIT-Client-OM zu modernen REST-APIs migriert werden:

Szenario Legacy-WIT-Client-OM Moderne REST-API
Liste der Arbeitsaufgaben abrufen WorkItemStore.Query Arbeitsaufgaben – Liste
Einzelne Arbeitsaufgabe abrufen WorkItemStore.GetWorkItem Arbeitsaufgaben – Arbeitsaufgabe abrufen
Neue Arbeitsaufgabe erstellen WorkItem Arbeitsaufgaben – Erstellen
Vorhandene Arbeitsaufgabe aktualisieren WorkItem.Fields Arbeitsaufgaben – Aktualisieren
Überprüfen einer Arbeitsaufgabe WorkItem.IsValid(),
WorkItem.Validate()
Arbeitsaufgaben – Aktualisieren (nur überprüfen)
Erstellen eines Links zu einer vorhandenen Arbeitsaufgabe WorkItem.WorkItemLinks.Add Arbeitsaufgaben – Aktualisieren (Link hinzufügen)
Hinzufügen eines Kommentars WorkItem.History Arbeitsaufgaben – Aktualisieren (Kommentar hinzufügen)
Erstellen eines Links WorkItem.Links.Add() Arbeitsaufgaben – Aktualisieren (Link hinzufügen)
Anlage hinzufügen WorkItem.Attachments.Add() Arbeitsaufgaben – Aktualisieren (Anlage hinzufügen)
Abfragen von Arbeitsaufgaben mit WIQL WorkItemStore.Query() Wiql - Abfrage von Wiql
Ausführen einer vorhandenen Abfrage zum Abrufen von Arbeitsaufgaben WorkItemStore.Query() Wiql - Abfrage nach ID
Liste der Arbeitsaufgabentypen für Projekt abrufen Kategorie.Arbeitsgegenstandstypen Arbeitsaufgabentypen – Liste
Abrufen der Details zum Typ von Arbeitselement Kategorie.Arbeitsgegenstandstypen Arbeitselement-Typen - Hole
Abrufen der Liste der Felder eines Arbeitselementtyps WorkItemType.FieldDefinitions Feld "Arbeitsaufgabentypen" – Liste
Feldinformationen anzeigen WorkItemType.FieldDefinitions Feld Arbeitselementtypen - Hole

Migration der Authentifizierung

Legacy-Authentifizierung (❌ Ersetzen):

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

Moderne Authentifizierung (✅ empfohlen):

// 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);

Nächste Schritte und Ressourcen

📖 Wichtige Migrationsressourcen

🔧 Codebeispiele und -tools

 Support und Community

Tipp

Starten Sie Ihre Migration: Beginnen Sie mit Authentifizierungsanleitungen , um den richtigen Ansatz auszuwählen, und lesen Sie dann .NET-Clientbibliotheksbeispiele für arbeitsbasierte Codebeispiele.