Per Push Übertragen und Löschen

Es ist möglich, Pakete mithilfe der NuGet V3-API zu übertragen, zu löschen (oder die Liste aufzuheben, je nach Serverimplementierung). Diese Vorgänge basieren auf der im Dienstindex gefundenen Ressource PackagePublish.

Versionsverwaltung

Der folgende @type Wert wird verwendet:

Wert vom Typ @type Hinweise
PackagePublish/2.0.0 Erstrelease

Basis-URL

Die Basis-URL für die folgenden APIs ist der Wert der @id Eigenschaft der PackagePublish/2.0.0 Ressource im Dienstindex der Paketquelle. Für die nachstehende Dokumentation wird die URL von nuget.org verwendet. Betrachten Sie https://www.nuget.org/api/v2/package als Platzhalter für den @id-Wert im Dienstindex.

Beachten Sie, dass diese URL auf denselben Speicherort wie der ältere V2-Pushendpunkt verweist, da das Protokoll identisch ist.

HTTP-Methoden

Die HTTP-Methoden PUT, POST und DELETE werden von dieser Ressource unterstützt. Welche Methoden für jeden Endpunkt unterstützt werden, finden Sie unten.

Pushen eines Pakets

Hinweis

nuget.org verfügt über zusätzliche Anforderungen für die Interaktion mit dem Pushendpunkt.

nuget.org unterstützt das Pushen neuer Pakete mithilfe der folgenden API. Wenn das Paket mit der angegebenen ID und Version bereits vorhanden ist, lehnt nuget.org den Push ab. Andere Paketquellen unterstützen möglicherweise das Ersetzen eines vorhandenen Pakets.

PUT https://www.nuget.org/api/v2/package

Anforderungsparameter

Name Geben Sie in type Erforderlich Hinweise
X-NuGet-ApiKey Header Zeichenfolge ja Beispiel: X-NuGet-ApiKey: {USER_API_KEY}

Der API-Schlüssel ist eine undurchsichtige Zeichenfolge, die vom Benutzer aus der Paketquelle abgerufen und in den Client konfiguriert wurde. Es ist kein bestimmtes Zeichenfolgenformat vorgeschrieben, aber die Länge des API-Schlüssels darf keine angemessene Größe für HTTP-Headerwerte überschreiten.

Anforderungstext

Verwenden Sie das folgende JSON-Format im Anforderungstext:

Mehrteilige Formulardaten

Der Anforderungsheader Content-Type ist multipart/form-data und der erste Artikel im Anforderungstext die unformatierten Bytes der nupkg-Datei, die pusht wird. Nachfolgende Artikel im mehrteiligen Text werden ignoriert. Der Dateiname oder andere Header der mehrteiligen Artikel werden ignoriert.

Antwort

Statuscode Bedeutung
201, 202 Das Paket wurde erfolgreich verschoben
400 Das bereitgestellte Paket ist ungültig
409 Ein Paket mit der bereitgestellten ID und Version ist bereits vorhanden

Serverimplementierungen variieren vom Erfolgsstatuscode, der zurückgegeben wird, wenn ein Paket erfolgreich pusht wird.

Löschen von Paketen

nuget.org interpretiert die Paketlöschanforderung als "Unlist". Dies bedeutet, dass das Paket weiterhin für vorhandene Verbraucher des Pakets verfügbar ist, aber das Paket nicht mehr in Suchergebnissen oder in der Weboberfläche angezeigt wird. Weitere Informationen zu dieser Vorgehensweise finden Sie in der Richtlinie "Gelöschte Pakete" . Andere Serverimplementierungen können dieses Signal als endgültig löschen, vorläufig löschen oder nicht auflisten. NuGet.Server (eine Serverimplementierung, die nur die ältere V2-API unterstützt) unterstützt z. B. die Behandlung dieser Anforderung als eine Nichtliste oder eine endgültige Löschung basierend auf einer Konfigurationsoption.

DELETE https://www.nuget.org/api/v2/package/{ID}/{VERSION}

Anforderungsparameter

Name Geben Sie in type Erforderlich Hinweise
Kennung URL Zeichenfolge ja Name/ID des zu löschenden Pakets
VERSION URL Zeichenfolge ja Version des zu löschenden Pakets
X-NuGet-ApiKey Header Zeichenfolge ja Beispiel: X-NuGet-ApiKey: {USER_API_KEY}

Antwort

Statuscode Bedeutung
204 Das Paket wurde gelöscht
404 Kein Paket mit dem bereitgestellten ID und VERSION vorhanden

Entfernen eines Pakets

Wenn ein Paket nicht aufgelistet ist, ist es möglich, das Paket mithilfe des Endpunkts "erneut auflisten" in suchergebnissen sichtbar zu machen. Dieser Endpunkt hat dieselbe Form wie der Löschendpunkt (Unlist), verwendet aber die POST HTTP-Methode anstelle der DELETE Methode.

Wenn das Paket bereits aufgeführt ist, ist die Anforderung weiterhin erfolgreich.

POST https://www.nuget.org/api/v2/package/{ID}/{VERSION}

Anforderungsparameter

Name Geben Sie in type Erforderlich Hinweise
Kennung URL Zeichenfolge ja Die ID des Zulistungspakets
VERSION URL Zeichenfolge ja Die Version des Pakets, die neu gelistet werden soll
X-NuGet-ApiKey Header Zeichenfolge ja Beispiel: X-NuGet-ApiKey: {USER_API_KEY}

Antwort

Statuscode Bedeutung
200 Das Paket ist jetzt aufgeführt
404 Kein Paket mit dem bereitgestellten ID und VERSION vorhanden