Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Azure DevOps Services | Azure DevOps Server | Azure DevOps Server 2022
Azure DevOps REST-APIs bieten leistungsstarken programmgesteuerten Zugriff auf Arbeitsaufgaben, Repositorys, Builds, Versionen und vieles mehr. Ganz gleich, ob Sie benutzerdefinierte Integrationen erstellen, Workflows automatisieren oder Azure-DevOps-Funktionen erweitern, es ist entscheidend, die grundlegenden Muster und Konzepte zu verstehen, die für eine erfolgreiche Implementierung unerlässlich sind.
Tipp
Sind Sie bereit, mit dem Programmieren zu beginnen? Springen Sie zu REST-API-Beispielen für vollständige Arbeitsbeispiele mit modernen Authentifizierungsmustern.
In diesem Artikel werden die grundlegenden Konzepte und Muster für Azure DevOps REST-APIs behandelt. Praktische Implementierungsbeispiele finden Sie unter REST-API-Beispiele.
Tipp
Sie können KI verwenden, um diese Aufgabe zu unterstützen weiter unten in diesem Artikel, oder lesen Sie Enable AI-Unterstützung bei Azure DevOps MCP Server, um zu beginnen.
URL-Struktur
Die APIs folgen einem allgemeinen Muster, wie im folgenden Beispiel gezeigt:
VERB https://{instance}/{collection}/{team-project}/_apis/{area}/{resource}?api-version={version}
Tipp
Während sich APIs entwickeln, empfehlen wir, eine API-Version in jede Anforderung aufzunehmen. Diese Übung kann Ihnen helfen, unerwartete Änderungen in der API zu vermeiden, die zu Ausfällen führen könnten.
Für Azure DevOps Services ist instancedev.azure.com/{organization} und collectionDefaultCollection, sodass das Muster wie im folgenden Beispiel aussieht:
VERB https://dev.azure.com/{organization}/_apis/{area}/{resource}?api-version={version}
Beispiel-Endpunkt:
GET https://dev.azure.com/{organization}/_apis/projects?api-version=7.2
Authentifizierung
Azure DevOps REST-APIs unterstützen mehrere Authentifizierungsmethoden:
- Microsoft Entra ID – Empfohlen für Produktionsanwendungen
- Persönliche Zugriffstoken (PATs) – Einfache Authentifizierung für Skripts und Tests
- OAuth 2.0 – Für Nicht-Microsoft-Anwendungen
- Service Principals – Für automatisierte Szenarien
Wichtig
Erwägen Sie die Verwendung der sichereren Microsoft Entra Token gegenüber höherer Gefahr personalen Zugriffstoken. Weitere Informationen finden Sie unter Reduzieren der PAT-Verwendung. Überprüfen Sie die Authentifizierungsanleitungen , um den richtigen Authentifizierungsmechanismus für Ihre Anforderungen auszuwählen.
Antwortformat
Azure DevOps REST-APIs geben in der Regel JSON-Antworten zurück. Hier ist eine Beispielantwortstruktur:
{
"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": "Team Foundation Version Control projects"
}
],
"count": 1
}
Die Antwort ist JSON, was sie in der Regel von den REST-APIs zurückholen, obwohl es einige Ausnahmen gibt, wie Git-Blobs.
Tipp
Vollständige Arbeitsbeispiele, die zeigen, wie diese Antworten analysiert werden, finden Sie unter REST-API-Beispiele.
HTTP-Methoden und -Vorgänge
Azure DevOps REST-APIs verwenden standardmäßige HTTP-Methoden:
| Methode | Verwendet für ... | Beispiel |
|---|---|---|
| GET | Abrufen einer Ressource oder Liste von Ressourcen | Abrufen von Projekten, Arbeitsaufgaben |
| POST | Erstellen einer Ressource oder Abrufen von Ressourcen mithilfe erweiterter Abfragen | Erstellen von Arbeitsaufgaben, Abfragen von Arbeitsaufgaben |
| PUT | Erstellen oder Vollständigen Ersetzen einer Ressource | Ersetzen einer Builddefinition, Aktualisieren einer Richtlinie |
| PATCH | Aktualisieren bestimmter Felder einer Ressource | Aktualisieren von Arbeitsaufgabenfeldern |
| Löschen | Eine Ressource löschen | Arbeitsaufgabe löschen |
Tipp
Praktische Beispiele für jede HTTP-Methode mit vollständigen Codebeispielen finden Sie unter REST-API-Beispiele.
Header und Inhalt von Anfragen
Wenn Sie einen Anforderungstext (in der Regel mit POST, PUT und PATCH) bereitstellen, fügen Sie entsprechende Header ein:
Content-Type: application/json
Verwenden Sie für PATCH-Operationen bei Arbeitselementen Folgendes:
Content-Type: application/json-patch+json
HTTP-Methode überschreiben
Einige Webproxys unterstützen möglicherweise nur die HTTP-Verben GET und POST, aber nicht modernere HTTP-Verben wie PATCH und DELETE.
Wenn Ihre Aufrufe möglicherweise eine dieser Proxys durchlaufen, können Sie das tatsächliche Verb mithilfe einer POST-Methode senden, mit einem Header, um die Methode außer Kraft zu setzen.
Sie können z. B. eine Arbeitsaufgabe aktualisieren (PATCH _apis/wit/workitems/3), aber Möglicherweise müssen Sie einen Proxy durchlaufen, der nur GET oder POST zulässt.
Sie können das richtige Verb (PATCH in diesem Fall) als HTTP-Anforderungsheaderparameter übergeben und POST als tatsächliche HTTP-Methode verwenden.
POST https://dev.azure.com/fabrikam-fiber-inc/_apis/wit/workitems/3
X-HTTP-Method-Override: PATCH
{
(PATCH request body)
}
Antwortcodes
Das Verständnis von HTTP-Antwortcodes hilft Ihnen bei der richtigen Behandlung von API-Antworten:
| Antwort | Bedeutung | Hinweise |
|---|---|---|
| 200 | Erfolg | Der Antworttext enthält angeforderte Daten. |
| 201 | Erstellt | Ressource erfolgreich erstellt |
| 204 | Erfolg | Kein Antwortkörper (häufig bei DELETE-Operationen) |
| 400 | Ungültige Anforderung | Ungültige Parameter oder Anforderungstext |
| 401 | Nicht autorisiert | Authentifizierung fehlgeschlagen oder fehlend |
| 403 | Verboten | Der Benutzer hat keine Berechtigung für den Vorgang. |
| 404 | Nicht gefunden | Ressource ist nicht vorhanden oder keine Berechtigung zum Ansehen. |
| 409 | Konflikt | Anforderungskonflikte mit dem aktuellen Ressourcenstatus |
API-Versionsverwaltung
Azure DevOps REST-APIs sind versionsgesichert, um sicherzustellen, dass Anwendungen weiterhin funktionieren, während APIs weiterentwickelt werden.
Leitlinien
- Geben Sie immer die API-Version mit jeder Anforderung an (erforderlich)
- Formatieren von API-Versionen als:
{major}.{minor}oder{major}.{minor}-{stage}(z. B7.2. ,7.2-preview) - Verwenden Sie bestimmte Vorschaurevisionen, wenn verfügbar:
7.2-preview.1,7.2-preview.2 - Upgrade auf veröffentlichte Versionen, wenn Vorschau-APIs veraltet sind
Verwendung
Geben Sie die API-Version als URL-Abfrageparameter an:
GET https://dev.azure.com/{organization}/_apis/projects?api-version=7.2
Oder im Header der Anfrage:
Accept: application/json;api-version=7.2
Unterstützte Versionen finden Sie unter REST-API-Versionsverwaltung.
Weitere Ressourcen
Praktische Implementierungsanleitungen und vollständige Codebeispiele finden Sie unter:
- REST-API-Beispiele – Vollständige Beispiele mit Microsoft Entra ID Authentifizierung
- Authentifizierungsleitfaden – Detaillierte Authentifizierungsoptionen
- REST-API-Versionsverwaltung – API-Lebenszyklusinformationen
- OAuth 2.0 – Details zur OAuth-Implementierung
Verwenden von KI zum Erstellen von REST-API-Aufrufen
Wenn Sie den Azure DevOps MCP Server mit Ihrem KI-Agent im Agentmodus verbunden haben, können Sie Anweisungen in natürlicher Sprache verwenden, um REST-API-Aufrufe zu generieren und zu beheben.
| Aufgabe | Beispielaufforderung |
|---|---|
| Erstellen einer GET-Anforderung | Show me how to construct a GET request to list all projects in my Azure DevOps organization using the REST API |
| Erstellen eines POST-Anfragetexts | Generate the JSON-patch body for creating a work item using the Azure DevOps REST API |
| Behandeln der Authentifizierung | Write C# code to call the Azure DevOps REST API with a Bearer token from Microsoft Entra ID |
| Erkunden von API-Bereichen | What Azure DevOps REST API endpoints are available for managing Git pull requests? |
| Analysieren von API-Antworten | Show me how to deserialize an Azure DevOps REST API response into C# objects and handle pagination with continuation tokens |
| Debug-API-Fehler | I'm getting a 400 error when calling the Azure DevOps work item update API — help me understand the correct PATCH format |
Hinweis
Der Agentmodus und der MCP-Server verwenden natürliche Sprache, sodass Sie diese Eingabeaufforderungen anpassen oder Nachverfolgungsfragen stellen können, um die Ergebnisse zu verfeinern.