푸시 및 삭제
NuGet V3 API를 사용하여 패키지를 푸시, 삭제 또는 목록 해제(또는 서버 구현에 따라 목록 해제)할 수 있습니다. 이러한 작업은 서비스 인덱스에 있는 리소스를 기반으로 PackagePublish
합니다.
버전 관리
다음 @type
값이 사용됩니다.
@type 값 | 주의 |
---|---|
PackagePublish/2.0.0 | 초기 릴리스 |
기준 URL
다음 API의 기본 URL은 패키지 원본의 @id
PackagePublish/2.0.0
서비스 인덱스 리소스 속성 값입니다. 아래 설명서의 경우 nuget.org의 URL이 사용됩니다. 서비스 인덱스 값의 @id
자리 표시자로 간주 https://www.nuget.org/api/v2/package
합니다.
이 URL은 프로토콜이 동일하기 때문에 레거시 V2 푸시 엔드포인트와 동일한 위치를 가리킵니다.
HTTP 메서드
PUT
및 POST
DELETE
HTTP 메서드는 이 리소스에서 지원됩니다. 각 엔드포인트에서 지원되는 메서드는 아래를 참조하세요.
패키지 푸시
참고 항목
nuget.org 다음 API를 사용하여 새 패키지 푸시를 지원합니다. 제공된 ID 및 버전이 있는 패키지가 이미 있는 경우 nuget.org 푸시를 거부합니다. 다른 패키지 원본은 기존 패키지 교체를 지원할 수 있습니다.
PUT https://www.nuget.org/api/v2/package
요청 매개 변수
속성 | In | Type | Required | 주의 |
---|---|---|---|---|
X-NuGet-ApiKey | 헤더 | string | 예 | 예를 들어 X-NuGet-ApiKey: {USER_API_KEY} |
API 키는 사용자가 패키지 소스에서 받아 클라이언트에 구성된 불투명 문자열입니다. 특정 문자열 형식은 위임되지 않지만 API 키의 길이는 HTTP 헤더 값에 적합한 크기를 초과해서는 안 됩니다.
요청 본문
요청 본문은 다음 형식으로 제공해야 합니다.
다중 파트 폼 데이터
요청 헤더 Content-Type
이며 multipart/form-data
요청 본문의 첫 번째 항목은 푸시되는 .nupkg의 원시 바이트입니다. 다중 파트 본문의 후속 항목은 무시됩니다. 파일 이름 또는 다중 파트 항목의 다른 헤더는 무시됩니다.
응답
상태 코드 | 의미 |
---|---|
201, 202 | 패키지가 성공적으로 푸시되었습니다. |
400 | 제공된 패키지가 잘못되었습니다. |
409 | 제공된 ID 및 버전이 있는 패키지가 이미 있습니다. |
서버 구현은 패키지가 성공적으로 푸시될 때 반환되는 성공 상태 코드에 따라 다릅니다.
패키지 삭제
nuget.org 패키지 삭제 요청을 "unlist"로 해석합니다. 즉, 패키지의 기존 소비자는 패키지를 계속 사용할 수 있지만 패키지는 더 이상 검색 결과 또는 웹 인터페이스에 표시되지 않습니다. 이 방법에 대한 자세한 내용은 삭제된 패키지 정책을 참조 하세요 . 다른 서버 구현에서는 이 신호를 하드 삭제, 일시 삭제 또는 목록 해제로 자유롭게 해석할 수 있습니다. 예를 들어 NuGet.Server (이전 V2 API만 지원하는 서버 구현)는 구성 옵션에 따라 이 요청을 unlist 또는 hard delete로 처리할 수 있습니다.
DELETE https://www.nuget.org/api/v2/package/{ID}/{VERSION}
요청 매개 변수
속성 | In | Type | Required | 주의 |
---|---|---|---|---|
ID | URL | string | 예 | 삭제할 패키지의 ID입니다. |
VERSION | URL | string | 예 | 삭제할 패키지의 버전 |
X-NuGet-ApiKey | 헤더 | string | 예 | 예를 들어 X-NuGet-ApiKey: {USER_API_KEY} |
응답
상태 코드 | 의미 |
---|---|
204 | 패키지가 삭제되었습니다. |
404 | 제공된 ID 패키지가 없고 VERSION 존재합니다. |
패키지 다시 목록
패키지가 목록에 없는 경우 "다시 목록" 엔드포인트를 사용하여 해당 패키지를 검색 결과에 다시 표시할 수 있습니다. 이 엔드포인트는 삭제(목록 해제) 엔드포인트와 모양이 같지만 메서드 대신 HTTP 메서드를 DELETE
사용합니다POST
.
패키지가 이미 나열된 경우 요청은 여전히 성공합니다.
POST https://www.nuget.org/api/v2/package/{ID}/{VERSION}
요청 매개 변수
속성 | In | Type | Required | 주의 |
---|---|---|---|---|
ID | URL | string | 예 | 다시 목록에 추가할 패키지의 ID입니다. |
VERSION | URL | string | 예 | 다시 목록에 추가할 패키지의 버전입니다. |
X-NuGet-ApiKey | 헤더 | string | 예 | 예를 들어 X-NuGet-ApiKey: {USER_API_KEY} |
응답
상태 코드 | 의미 |
---|---|
200 | 이제 패키지가 나열됩니다. |
404 | 제공된 ID 패키지가 없고 VERSION 존재합니다. |