web-dev-qa-db-ja.com

ユーザーには、このアクションを完了する権限がありません。 「AddPackage」が必要です

エラーが発生します:

User XXX lacks permission to complete this action. You need to have 'AddPackage'

nugetパッケージをAzure DevOpsアーティファクトにプッシュしようとしたとき。私は管理者ですこれがステージです:

  - stage:
    displayName: 'Release'
    condition: succeeded()
    jobs:
      - job: 'Publish'
        displayName: 'Publish nuGet Package'
        steps:
          - download: current
            artifact: $(PIPELINE_ARTIFACT_NAME)
            displayName: 'Download pipeline artifact'
          - script: ls $(PATH_PIPELINE_ARTIFACT_NAME)
            displayName: 'Display contents of downloaded articacts path'
          - task: NuGetAuthenticate@0
            displayName: 'Authenticate in NuGet feed'
          - script: dotnet nuget Push $(PATH_PIPELINE_ARTIFACT_NAME)/**/*.nupkg --source $(NUGET_FEED) --api-key $(NUGET_API_KEY)
            displayName: 'Uploads nuGet packages'

そして正確なエラー:

error: Response status code does not indicate success: 403 (Forbidden - User '4a2eb786-540d-4690-a12b-013aec2c86e5' lacks permission to complete this action. You need to have 'AddPackage'. (DevOps Activity ID: XXXXXXX-6DF9-4A98-8A4E-42C556C6FC56)).
##[error]Bash exited with code '1'.
Finishing: Uploads nuGet packages

GitリポジトリはGitHubにあります。誰がユーザーと見なされているのかわからないが、変更する他の権限がわからない

4
diegosasw

素晴らしい発見! ...メニューでプロジェクトスコープのビルドを許可すると、うまくいきました。

ただし、パッケージをAzure PipelinesからAzure Artifactsフィードにまったくプッシュできるようにするには、dotnetビルドの前のdotnet復元ステップと最後にdotnet Pushのターゲットフィードと同じフィードを追加する必要がありました。 https://docs.Microsoft.com/en-us/Azure/devops/artifacts/nuget/dotnet-exe?view=Azure-devops

1
Martin H