Ошибка 400 при публикации пакетов NuGet в Azure Artifacts: невозможно загрузить индекс службы для источника

Описание:

Я столкнулся с ошибкой при попытке опубликовать пакеты NuGet в канале артефактов Azure с помощью конвейера Azure DevOps. Сообщение об ошибке, которое я получаю, выглядит следующим образом:

   at NuGet.CommandLine.Program.MainCore(String workingDirectory, String[] args)
##[error]The nuget command failed with exit code(1) and error(Unable to load the service index for source https://pkgs.dev.azure.com/<<organization>>/<<feed>>/nuget/v3/index.json.
  Response status code does not indicate success: 400 (Bad Request).

Контекст:

Конфигурация конвейера YAML выглядит следующим образом:

trigger:
  branches:
    include:
      - develop

pool:
  vmImage: 'windows-latest'

variables:
  packageVersion: '1.0.$(Build.BuildId)'

steps:
- task: UseDotNet@2
  inputs:
    packageType: 'sdk'
    version: '8.x'

- script: |
    dotnet restore
  displayName: 'Restore NuGet packages'

- script: |
    dotnet build --configuration Release
  displayName: 'Build project'

- script: |
    dotnet pack --configuration Release --version-suffix $(packageVersion) --output $(Build.ArtifactStagingDirectory)
  displayName: 'Create NuGet package'

- task: PublishBuildArtifacts@1
  inputs:
    PathtoPublish: '$(Build.ArtifactStagingDirectory)'
    ArtifactName: 'drop'
    publishLocation: 'Container'

- task: NuGetCommand@2
  inputs:
    command: 'push'
    packagesToPush: '$(Build.ArtifactStagingDirectory)/*.nupkg'
    publishVstsFeed: 'https://pkgs.dev.azure.com/<<organization>>/<<feed>>/nuget/v3/index.json'
    apiKey: '$(System.AccessToken)'
  displayName: 'Push NuGet package to Azure Artifacts'

Проблема:

Ошибка указывает на то, что запрос к каналу NuGet вернул код состояния 400 (неверный запрос) с сообщением:

Unable to load the service index for source https://pkgs.dev.azure.com/<<organization>>/<<feed>>/nuget/v3/index.json.
Response status code does not indicate success: 400 (Bad Request).

Вопрос:

Как устранить эту ошибку авторизации и успешно опубликовать пакеты NuGet? Существуют ли дополнительные проверки или настройки, которые мне следует просмотреть, чтобы устранить эту проблему?

Заранее благодарим вас за помощь!

Я настроил конвейер YAML в Azure DevOps для восстановления, сборки, упаковки и публикации пакетов NuGet в канале Azure Artifacts. Я ожидал, что задача NuGetCommand@2 успешно отправит пакет в канал без ошибок. Однако процесс завершается с ошибкой 400 Bad Request, что указывает на проблемы с загрузкой индекса службы для указанного URL-адреса канала.


50
1

Ответ:

Решено

Я смог воспроизвести ошибку 400 на основе вашего определения конвейера, в котором, похоже, неправильно использовались свойства задачи NuGetCommand@2.

Вот мой рабочий nuget push шаг для вашего удобства.

- task: NuGetCommand@2
  inputs:
    command: 'push'
    packagesToPush: '$(Build.ArtifactStagingDirectory)/*.nupkg'
    publishVstsFeed: 'OrgScopeFeed-NuGet' # Use the organizational feed name directly
    # apiKey: '$(System.AccessToken)' # apiKey is not a valid property 
  displayName: 'Push NuGet package to Azure Artifacts'