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 - das Verständnis der grundlegenden Muster und Konzepte ist entscheidend für eine erfolgreiche Implementierung.
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.
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.
Azure DevOps Services
Bei Azure DevOps Services ist instancedev.azure.com/{organization} und collection ist DefaultCollection, 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
Azure DevOps Server
Wenn Sie Azure DevOps Server verwenden, ist instance{server:port}. Der Standardport für eine nicht-SSL-Verbindung ist 8080.
Die Standardauflistung ist DefaultCollection, Aber Sie können jede Sammlung verwenden.
Beispiele:
- SSL:
https://{server}/DefaultCollection/_apis/projects?api-version=7.2 - Nicht-SSL:
http://{server}:8080/DefaultCollection/_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
Die Microsoft Entra ID-Authentifizierung ist der empfohlene Ansatz für Produktionsanwendungen. Implementierungsbeispiele und vollständige Authentifizierungsanleitungen finden Sie unter REST-API-Beispiele und Authentifizierungsanleitungen.
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": "TeamFoundationVersionControlprojects"
}
],
"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 | Arbeitsaufgabe erstellen/aktualisieren |
| 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 versionsiert, 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 der Microsoft Entra ID-Authentifizierung
- Authentifizierungsleitfaden – Detaillierte Authentifizierungsoptionen
- REST-API-Versionsverwaltung – API-Lebenszyklusinformationen
- OAuth 2.0 – Details zur OAuth-Implementierung