409:使用REST API复制Artifactory中的工件时发生冲突错误

时间:2018-05-24 04:59:37

标签: powershell artifactory http-status-code-409

我正在尝试从PowerShell中的Artifactory中的同一存储库中制作工件的副本。以下是我用来实现此目的的代码。我正在接受 执行此代码时出现"Invoke-RestMethod: The remote server returned an error: (409) Conflict."错误。

Invoke-RestMethod -Uri

" http://server/artifactory/api/copy/repoName/Package1.nupkg?to=/repoName/Package2.nupkg" -Method POST -UseDefaultCredentials

任何帮助表示赞赏!

1 个答案:

答案 0 :(得分:1)

在尝试使用文件夹时遇到此问题。 如果您也是这种情况,请先尝试对文件夹路径进行PUT操作,并确保对此调用和对副本进行POST都通过身份验证:

$token = [System.Convert]::ToBase64String([System.Text.Encoding]::ASCII.GetBytes("$user:$apikey"));

# Create path first
Invoke-WebRequest -Uri "https://server/artifactory/targetRepo/targetPath" `
    -Method PUT `
    -Headers @{ 'Authorization' = "Basic $($token)"}

# Copy item
Invoke-WebRequest -Uri "http://server/artifactory/api/copy/repoName/path/Package1.nupkg?to=/targetRepo/targetPath/Package2.nupkg" `
    -Method POST `
    -Headers @{ 'Authorization' = "Basic $($token)"}