dmitryserbin / azdev-release-orchestrator

Azure DevOps extension to manage and orchestrate release pipelines
MIT License
23 stars 12 forks source link

V3 task with parameters fails Contribution/HierarchyQuery API call #74

Closed nickwheeler-wwt closed 1 year ago

nickwheeler-wwt commented 2 years ago

Hello,

I'm having an issue implementing the V3 task with parameters specifically within an integrated project (my repos/pipelines are in the same azdo project). Without parameters, my child target pipeline triggers successfully and everything works wonderfully. With parameters, the call to get the target pipelines parameters times out after 10 attempts with the same message:

2022-05-11T16:17:31.754Z release-orchestrator:Retry:retryAsync Error: Unable to retrieve <policy> (63) run parameters
    at BuildWebApiRetry.getRunParameters (/home/vsts/work/_tasks/releaseorchestrator_5d38d46b-4c0a-4c14-8f0c-04df59e4dc27/3.0.1592/extensions/buildwebapiretry/buildwebapiretry.js:74:19)
    at process._tickCallback (internal/process/next_tick.js:68:7)
2022-05-11T16:17:41.764Z release-orchestrator:ApiClient:post Making <[https://dev.azure.com/<redacted>//_apis/Contribution/HierarchyQuery/project/<redacted>](https://dev.azure.com/<redacted>//_apis/Contribution/HierarchyQuery/project/<redacted>) API <POST> call
2022-05-11T16:17:41.874Z release-orchestrator:BuildWebApiRetry: { dataProviderExceptions:
   { 'ms.vss-build-web.pipeline-run-parameters-data-provider':
      { exceptionType: 'ResourceValidationException',
        message:
         'The repository policy in project <redacted> could not be retrieved. Verify the name and credentials being used.',
        stackTrace: null } },
  dataProviderSharedData:
   { _featureFlags: { 'Build2.DisableRunTimeVariableEdit': false } },
  dataProviders:
   { 'ms.vss-web.component-data': {},
     'ms.vss-web.shared-data': null } }

After 10 tries:

##[error]Failed retrying <getRunParameters> for <10> times. Error: Unable to retrieve <policy> (63) run parameters

Here is the code block from pipeline:

  - stage: policyPipe
    displayName: Initiate Policy Pipeline
    condition: |
      and(
        eq(variables['Build.Reason'], 'Manual'),
        eq('${{ parameters.initateAllPipes }}', 'true')
      )
    jobs:
    - job:
      steps:
      - task: releaseorchestrator@3
        displayName: Kickoff pipeline 
        inputs:
          projectName: $(System.TeamProject)
          definitionName: policy
          branchName: ${{ parameters.policyRefName }}
          strategy: new
          parameters: applyTerraform=${{ parameters.applyTerraform }}

Verified that our build service has all the requisite permissions per your v3 docs. Again, everything works like a charm without parameters specified.

nickwheeler-wwt commented 2 years ago

I should note that I can execute the same call for ms.vss-build-web.pipeline-run-parameters-data-provider targeting the same branch on my target kickoff repo and get a good return with the parameters block containing the parameter I am expecting to see.

dmitryserbin commented 2 years ago

Thanks for reporting this. Let me take a look and get back to you soon.

dmitryserbin commented 2 years ago

It looks a lot like permissions issue. I'm assuming you're running Orchestrator with integrated endpoint i.e. using build service credentials. Could you pls double check permissions going to project > pipelines > all > ... > manage security?

You should see your project build service user in the list - check whether it got all the right permissions assigned? You need at least:

Queue builds Allow
Queue builds Allow
Stop builds Allow
View build pipeline Allow
View builds Allow

Maybe it needs something else like manage build queue, update build information or edit build quality

fogartyp commented 1 year ago

Seeing the same issue.

Set up an ADO project to develop a POC using the Release Orchestrator V3. Receiving the following time-out error when attempting to use parameters.

##[error]Failed retrying <getRunParameters> for <10> times. Error: Unable to retrieve <pipeline1> (1) run parameters

Single Project two repos/pipelines.

Controller Project/Pipeline

trigger:
- main

pool:
  vmImage: ubuntu-latest

steps:
- task: releaseorchestrator@3
  displayName: Release Orchestrator
  inputs:
    projectName: dotnet
    definitionName: dotnet
    strategy: new
    parameters: |
      MyParameter=MyRemoteValue

Target Project/Pipeline

parameters:
- name: MyParameter
  type: string
  default: 'MyLocalValue'

trigger:
- master

pool:
  vmImage: ubuntu-latest

variables:
  buildConfiguration: 'Release'

stages:
  - stage: 'Echo'
    displayName: 'Echo'
    jobs:
      - job: 'Echo'
        steps:
        - script: echo ${{ parameters.MyParameter }}
  - stage: Dotnet
    displayName: 'Dotnet'
    jobs:
      - job: 'Dotnet'
        steps:
        - script: dotnet build --configuration $(buildConfiguration)

Followed the instructions above setting top (all) level permissions for the Build Service user. Went ahead and gave all perms.

dotnet Build Service (xyzabc)
Administer build permissions - Allow
Delete build pipeline - Allow
Delete builds - Allow
Destroy builds - Allow
Edit build pipeline - Allow
Edit build quality - Allow
Manage build qualities - Allow
Manage build queue - Allow
Override check-in validation by build - Allow
Queue builds - Allow
Retain indefinitely - Allow
Stop builds - Allow
Update build information - Allow
View build pipeline - Allow
View builds - Allow

As @nickwheeler-wwt experienced, without parameters the Orchestrator (Controller) pipeline succeeds. Additionally, the Dotnet (Target) pipeline presents the parameter at runtime if executed manually.

Thank you.

dmitryserbin commented 1 year ago

This is odd. Must be a permission thing. I will try to reproduce this behaviour, really curious to see what's going on here.

dmitryserbin commented 1 year ago

I cannot reproduce the problem in my environment. Could you please run the Orchestrator job in debug mode (set DEBUG=release-orchestrator:* pipeline variable) and share some logs?

Also, please confirm you're using dev.azure.com, and not Azure DevOps Server.

fogartyp commented 1 year ago

I can confirm I am using dev.azure.com

Permissions for the Project Collection Build Service Accounts are allowed at the root level security config in pipelines.

[projectName]Project Collection Build Service Accounts 
Administer build permissions - Allow
Delete build pipeline - Allow
Delete builds - Allow
Destroy builds - Allow
Edit build pipeline - Allow
Edit build quality - Allow
Manage build qualities - Allow
Manage build queue - Allow
Override check-in validation by build - Allow
Queue builds - Allow
Retain indefinitely - Allow
Stop builds - Allow
Update build information - Allow
View build pipeline - Allow
View builds - Allow

DEBUG Output

2022-10-31T15:37:54.2752069Z ##[section]Starting: Release Orchestrator
2022-10-31T15:37:54.2760196Z ==============================================================================
2022-10-31T15:37:54.2760806Z Task         : Release Orchestrator
2022-10-31T15:37:54.2761075Z Description  : Manage and orchestrate Azure DevOps pipelines
2022-10-31T15:37:54.2761318Z Version      : 3.0.1846
2022-10-31T15:37:54.2761522Z Author       : Dmitry Serbin
2022-10-31T15:37:54.2761908Z Help         : For aditional information and support please refer to <https://github.com/dmitryserbin/azdev-release-orchestrator> project repository
2022-10-31T15:37:54.2762366Z ==============================================================================
2022-10-31T15:37:54.8739458Z 2022-10-31T15:37:54.873Z release-orchestrator:TaskHelper:getEndpoint { url: 'https://dev.azure.com/projectName/',
2022-10-31T15:37:54.8740255Z   token:
2022-10-31T15:37:54.8745697Z    '***' }
2022-10-31T15:37:54.8773393Z 2022-10-31T15:37:54.876Z release-orchestrator:TaskHelper:readDetails { endpointName: 'Project Collection Build Service',
2022-10-31T15:37:54.8776128Z   projectName: 'dotnet',
2022-10-31T15:37:54.8776717Z   releaseName: '20221031.5',
2022-10-31T15:37:54.8777264Z   requesterName: 'MyFirstName MyLastName',
2022-10-31T15:37:54.8777876Z   requesterId: 'xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxxxxxx' }
2022-10-31T15:37:54.8793206Z 2022-10-31T15:37:54.877Z release-orchestrator:TaskHelper:getParameters { strategy: 'New',
2022-10-31T15:37:54.8796301Z   projectName: 'dotnet',
2022-10-31T15:37:54.8796880Z   definitionName: 'donet',
2022-10-31T15:37:54.8797860Z   stages: [],
2022-10-31T15:37:54.8798458Z   parameters: { MyParameter: 'MyRemoteValue' },
2022-10-31T15:37:54.8798787Z   filters:
2022-10-31T15:37:54.8799229Z    { buildNumber: '',
2022-10-31T15:37:54.8799669Z      branchName: '',
2022-10-31T15:37:54.8800220Z      buildResult: '',
2022-10-31T15:37:54.8800511Z      buildTags: [],
2022-10-31T15:37:54.8800773Z      pipelineResources: {},
2022-10-31T15:37:54.8801224Z      repositoryResources: {} },
2022-10-31T15:37:54.8802036Z   settings:
2022-10-31T15:37:54.8802335Z    { updateInterval: 5000,
2022-10-31T15:37:54.8802654Z      stageStartAttempts: 10,
2022-10-31T15:37:54.8802956Z      stageStartInterval: 60000,
2022-10-31T15:37:54.8803278Z      approvalInterval: 60000,
2022-10-31T15:37:54.8803575Z      approvalAttempts: 10,
2022-10-31T15:37:54.8803878Z      cancelFailedCheckpoint: false,
2022-10-31T15:37:54.8804210Z      proceedSkippedStages: false,
2022-10-31T15:37:54.8804510Z      skipTracking: false },
2022-10-31T15:37:54.8804786Z   details:
2022-10-31T15:37:54.8805387Z    { endpointName: 'Project Collection Build Service',
2022-10-31T15:37:54.8805913Z      projectName: 'dotnet',
2022-10-31T15:37:54.8806990Z      releaseName: '20221031.5',
2022-10-31T15:37:54.8807658Z      requesterName: 'MyFirstName MyLastName',
2022-10-31T15:37:54.8808950Z      requesterId: 'xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxxxxxx' } }
2022-10-31T15:37:54.8809812Z 2022-10-31T15:37:54.877Z release-orchestrator:ApiFactory { allowRetries: true, maxRetries: 100, socketTimeout: 30000 }
2022-10-31T15:37:54.8810713Z 2022-10-31T15:37:54.878Z release-orchestrator:ApiFactory Initializing Azure DevOps Web API
2022-10-31T15:37:54.8835856Z 2022-10-31T15:37:54.882Z release-orchestrator:ApiFactory:createCoreApi Initializing Azure DevOps Core API
2022-10-31T15:37:55.1991322Z 2022-10-31T15:37:55.193Z release-orchestrator:ApiFactory:createBuildApi Initializing Azure DevOps Build API
2022-10-31T15:37:55.1997575Z 2022-10-31T15:37:55.194Z release-orchestrator:ApiFactory:createApiClient Initializing Azure DevOps API client
2022-10-31T15:37:55.2000928Z 2022-10-31T15:37:55.194Z release-orchestrator:ApiFactory:createPipelinesApi Initializing Azure DevOps Pipelines API
2022-10-31T15:37:55.2003094Z 2022-10-31T15:37:55.194Z release-orchestrator:ApiFactory:createApiClient Initializing Azure DevOps API client
2022-10-31T15:37:55.2005557Z 2022-10-31T15:37:55.194Z release-orchestrator:ApiFactory:createBuildWebApi Initializing Azure DevOps Run API
2022-10-31T15:37:55.2007634Z 2022-10-31T15:37:55.194Z release-orchestrator:ApiFactory:createApiClient Initializing Azure DevOps API client
2022-10-31T15:37:55.2010648Z 2022-10-31T15:37:55.195Z release-orchestrator:ApiFactory:createBuildApi Initializing Azure DevOps Build API
2022-10-31T15:37:55.2012956Z 2022-10-31T15:37:55.195Z release-orchestrator:ApiFactory:createApiClient Initializing Azure DevOps API client
2022-10-31T15:37:55.2015012Z 2022-10-31T15:37:55.195Z release-orchestrator:ApiFactory:createPipelinesApi Initializing Azure DevOps Pipelines API
2022-10-31T15:37:55.2016878Z 2022-10-31T15:37:55.195Z release-orchestrator:ApiFactory:createApiClient Initializing Azure DevOps API client
2022-10-31T15:37:55.2018695Z 2022-10-31T15:37:55.195Z release-orchestrator:ApiFactory:createBuildWebApi Initializing Azure DevOps Run API
2022-10-31T15:37:55.2020371Z 2022-10-31T15:37:55.195Z release-orchestrator:ApiFactory:createApiClient Initializing Azure DevOps API client
2022-10-31T15:37:55.2023358Z 2022-10-31T15:37:55.197Z release-orchestrator:Retry:retryable Executing <getProject> with <10> retries
2022-10-31T15:37:55.5366699Z 2022-10-31T15:37:55.536Z release-orchestrator:ProjectSelector:getProject { id: 'xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxxxxxx',
2022-10-31T15:37:55.5368631Z   name: 'dotnet',
2022-10-31T15:37:55.5399736Z   url:
2022-10-31T15:37:55.5401553Z    'https://dev.azure.com/projectName/_apis/projects/xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxxxxxx',
2022-10-31T15:37:55.5403049Z   state: 'wellFormed',
2022-10-31T15:37:55.5403980Z   revision: 22,
2022-10-31T15:37:55.5404832Z   _links:
2022-10-31T15:37:55.5405403Z    { self:
2022-10-31T15:37:55.5406567Z       { href:
2022-10-31T15:37:55.5407741Z          'https://dev.azure.com/projectName/_apis/projects/xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxxxxxx' },
2022-10-31T15:37:55.5408657Z      collection:
2022-10-31T15:37:55.5410431Z       { href:
2022-10-31T15:37:55.5411698Z          'https://dev.azure.com/projectName/_apis/projectCollections/d3d8ec65-442e-48b7-8324-fccca0fb79a3' },
2022-10-31T15:37:55.5413632Z      web: { href: 'https://dev.azure.com/projectName/dotnet' } },
2022-10-31T15:37:55.5415142Z   visibility: 0,
2022-10-31T15:37:55.5415480Z   defaultTeam:
2022-10-31T15:37:55.5416115Z    { id: 'xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxxxxxx',
2022-10-31T15:37:55.5416620Z      name: 'dotnet Team',
2022-10-31T15:37:55.5417008Z      url:
2022-10-31T15:37:55.5417819Z       'https://dev.azure.com/projectName/_apis/projects/xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxxxxxx/teams/xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxxxxxx' },
2022-10-31T15:37:55.5418633Z   lastUpdateTime: 2022-10-27T14:43:02.803Z }
2022-10-31T15:37:55.5419423Z 2022-10-31T15:37:55.537Z release-orchestrator:Retry:retryable Executing <getDefinitions> with <10> retries
2022-10-31T15:37:55.6748944Z 2022-10-31T15:37:55.674Z release-orchestrator:DefinitionSelector:getDefinition [ 'donet (1)' ]
2022-10-31T15:37:55.6750026Z 2022-10-31T15:37:55.674Z release-orchestrator:Retry:retryable Executing <getDefinition> with <10> retries
2022-10-31T15:37:55.7521576Z 2022-10-31T15:37:55.751Z release-orchestrator:DefinitionSelector:getDefinition { triggers:
2022-10-31T15:37:55.7522114Z    [ { branchFilters: [],
2022-10-31T15:37:55.7522384Z        pathFilters: [],
2022-10-31T15:37:55.7522631Z        settingsSourceType: 2,
2022-10-31T15:37:55.7522907Z        batchChanges: false,
2022-10-31T15:37:55.7523185Z        maxConcurrentBuildsPerBranch: 1,
2022-10-31T15:37:55.7523454Z        triggerType: 2 } ],
2022-10-31T15:37:55.7523941Z   properties: {},
2022-10-31T15:37:55.7524168Z   tags: [],
2022-10-31T15:37:55.7524400Z   _links:
2022-10-31T15:37:55.7524614Z    { self:
2022-10-31T15:37:55.7524824Z       { href:
2022-10-31T15:37:55.7525611Z          'https://dev.azure.com/projectName/xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxxxxxx/_apis/build/Definitions/1?revision=4' },
2022-10-31T15:37:55.7526065Z      web:
2022-10-31T15:37:55.7526299Z       { href:
2022-10-31T15:37:55.7526983Z          'https://dev.azure.com/projectName/xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxxxxxx/_build/definition?definitionId=1' },
2022-10-31T15:37:55.9340999Z      editor:
2022-10-31T15:37:55.9341205Z       { href:
2022-10-31T15:37:55.9342571Z          'https://dev.azure.com/projectName/xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxxxxxx/_build/designer?id=1&_a=edit-build-definition' },
2022-10-31T15:37:55.9343453Z      badge:
2022-10-31T15:37:55.9343673Z       { href:
2022-10-31T15:37:55.9344496Z          'https://dev.azure.com/projectName/xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxxxxxx/_apis/build/status/1' } },
2022-10-31T15:37:55.9345084Z   comment: 'Update variables',
2022-10-31T15:37:55.9345484Z   jobAuthorizationScope: 1,
2022-10-31T15:37:55.9345769Z   jobTimeoutInMinutes: 60,
2022-10-31T15:37:55.9346146Z   jobCancelTimeoutInMinutes: 5,
2022-10-31T15:37:55.9346986Z   process: { yamlFilename: 'azure-pipelines.yml', type: 2 },
2022-10-31T15:37:55.9347434Z   repository:
2022-10-31T15:37:55.9347670Z    { properties:
2022-10-31T15:37:55.9347922Z       { cloneUrl:
2022-10-31T15:37:55.9348474Z          'https://projectName@dev.azure.com/projectName/donet/_git/donet',
2022-10-31T15:37:55.9349329Z         fullName: 'donet',
2022-10-31T15:37:55.9349798Z         defaultBranch: 'refs/heads/master',
2022-10-31T15:37:55.9350240Z         isFork: 'False',
2022-10-31T15:37:55.9350907Z         safeRepository: 'xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxxxxxx',
2022-10-31T15:37:55.9351403Z         reportBuildStatus: 'true',
2022-10-31T15:37:55.9351956Z         fetchDepth: '1' },
2022-10-31T15:37:55.9352452Z      id: 'xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxxxxxx',
2022-10-31T15:37:55.9352902Z      type: 'TfsGit',
2022-10-31T15:37:55.9353559Z      name: 'dotnet',
2022-10-31T15:37:55.9353795Z      url:
2022-10-31T15:37:55.9354354Z       'https://projectName@dev.azure.com/projectName/dotnet/_git/dotnet',
2022-10-31T15:37:55.9354918Z      defaultBranch: 'refs/heads/master',
2022-10-31T15:37:55.9355207Z      clean: null,
2022-10-31T15:37:55.9355489Z      checkoutSubmodules: false },
2022-10-31T15:37:55.9355754Z   quality: 1,
2022-10-31T15:37:55.9356014Z   authoredBy:
2022-10-31T15:37:55.9356455Z    { displayName: 'MyFirstName MyLastName',
2022-10-31T15:37:55.9356723Z      url:
2022-10-31T15:37:55.9357704Z       'https://spsprodcus5.vssps.visualstudio.com/xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxxxxxx/_apis/Identities/xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxxxxxx',
2022-10-31T15:37:55.9358192Z      _links: { avatar: [Object] },
2022-10-31T15:37:55.9358680Z      id: 'xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxxxxxx',
2022-10-31T15:37:55.9359167Z      uniqueName: 'projectName@gmail.com',
2022-10-31T15:37:55.9359459Z      imageUrl:
2022-10-31T15:37:55.9360117Z       'https://dev.azure.com/projectName/_apis/GraphProfile/MemberAvatars/msa.xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx',
2022-10-31T15:37:55.9360838Z      descriptor: 'msa.xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx' },
2022-10-31T15:37:55.9361183Z   drafts: [],
2022-10-31T15:37:55.9361386Z   queue:
2022-10-31T15:37:55.9361634Z    { _links: { self: [Object] },
2022-10-31T15:37:55.9361865Z      id: 9,
2022-10-31T15:37:55.9362470Z      url: 'https://dev.azure.com/projectName/_apis/build/Queues/9',
2022-10-31T15:37:55.9362796Z      pool: null },
2022-10-31T15:37:55.9362990Z   id: 1,
2022-10-31T15:37:55.9363329Z   name: 'donet',
2022-10-31T15:37:55.9363531Z   url:
2022-10-31T15:37:55.9364107Z    'https://dev.azure.com/projectName/xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxxxxxx/_apis/build/Definitions/1?revision=4',
2022-10-31T15:37:55.9365103Z   uri: 'vstfs:///Build/Definition/1',
2022-10-31T15:37:55.9365510Z   path: '\\',
2022-10-31T15:37:55.9365755Z   type: 2,
2022-10-31T15:37:55.9365988Z   queueStatus: 0,
2022-10-31T15:37:55.9366229Z   revision: 4,
2022-10-31T15:37:55.9366722Z   createdDate: 2022-10-27T15:46:50.530Z,
2022-10-31T15:37:55.9367024Z   project:
2022-10-31T15:37:55.9367495Z    { id: 'xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxxxxxx',
2022-10-31T15:37:55.9367964Z      name: 'dotnet',
2022-10-31T15:37:55.9368199Z      url:
2022-10-31T15:37:55.9369050Z       'https://dev.azure.com/projectName/_apis/projects/xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxxxxxx',
2022-10-31T15:37:55.9369715Z      state: 'wellFormed',
2022-10-31T15:37:55.9369968Z      revision: 22,
2022-10-31T15:37:55.9370182Z      visibility: 0,
2022-10-31T15:37:55.9370613Z      lastUpdateTime: 2022-10-27T14:43:02.803Z } }
2022-10-31T15:37:55.9371760Z 2022-10-31T15:37:55.755Z release-orchestrator:FilterCreator:createResourcesFilter { repositories: {}, pipelines: {} }
2022-10-31T15:37:55.9372557Z 2022-10-31T15:37:55.756Z release-orchestrator:Retry:retryable Executing <getRunParameters> with <10> retries
2022-10-31T15:37:55.9373839Z 2022-10-31T15:37:55.756Z release-orchestrator:ApiClient:post Making <https://dev.azure.com/projectName//_apis/Contribution/HierarchyQuery/project/xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxxxxxx> API <POST> call
2022-10-31T15:37:55.9374935Z 2022-10-31T15:37:55.907Z release-orchestrator:ApiClient:post Response status code <200> received
2022-10-31T15:37:55.9376038Z 2022-10-31T15:37:55.908Z release-orchestrator:BuildWebApiRetry: { dataProviderExceptions:
2022-10-31T15:37:55.9376952Z    { 'ms.vss-build-web.pipeline-run-parameters-data-provider':
2022-10-31T15:37:55.9377568Z       { exceptionType: 'ResourceValidationException',
2022-10-31T15:37:55.9377880Z         message:
2022-10-31T15:37:55.9378635Z          'The repository dotnet in project xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxxxxxx could not be retrieved. Verify the name and credentials being used.',
2022-10-31T15:37:55.9379582Z         stackTrace: null } },
2022-10-31T15:37:55.9379828Z   dataProviderSharedData:
2022-10-31T15:37:55.9380060Z    { _featureFlags:
2022-10-31T15:37:55.9380478Z       { 'Build2.DisableRunTimeVariableEdit': true,
2022-10-31T15:37:55.9381082Z         'Build2.FilterOutSystemVariables': true } },
2022-10-31T15:37:55.9381494Z   dataProviders:
2022-10-31T15:37:55.9383265Z    { 'ms.vss-web.component-data': {},
2022-10-31T15:37:55.9383798Z      'ms.vss-web.shared-data': null } }
2022-10-31T15:37:55.9384552Z 2022-10-31T15:37:55.908Z release-orchestrator:Retry:retryAsync Retrying <getRunParameters> (exception) in <10> seconds
2022-10-31T15:37:55.9385657Z 2022-10-31T15:37:55.909Z release-orchestrator:Retry:retryAsync Error: Unable to retrieve <donet> (1) run parameters
2022-10-31T15:37:55.9386870Z     at BuildWebApiRetry.getRunParameters ('/home/vsts/work/_tasks/releaseorchestrator_5d38d46b-4c0a-4c14-8f0c-04df59e4dc27/3.0.1846/extensions/buildwebapiretry/buildwebapiretry.js:74:19')
2022-10-31T15:37:55.9387701Z     at process._tickCallback (internal/process/next_tick.js:68:7)
2022-10-31T15:37:55.9388122Z Starting <dotnet> project <donet> (1) pipeline deployment
2022-10-31T15:37:55.9388497Z Creating new <donet> (1) pipeline release
2022-10-31T15:37:55.9389023Z ┌─────────────┬───────────────────┬──────────────────────┐
2022-10-31T15:37:55.9389517Z │ Branch name │ Pipeline resource │ Repository resources │
2022-10-31T15:37:55.9390074Z ├─────────────┼───────────────────┼──────────────────────┤
2022-10-31T15:37:55.9390703Z │ -           │ -                 │ -                    │
2022-10-31T15:37:55.9391234Z └─────────────┴───────────────────┴──────────────────────┘
2022-10-31T15:37:55.9391518Z Overridding <1> pipeline <donet> parameters
2022-10-31T15:37:55.9391915Z ┌─────────────┬───────────────┐
2022-10-31T15:37:55.9392274Z │ Name        │ Value         │
2022-10-31T15:37:55.9392631Z ├─────────────┼───────────────┤
2022-10-31T15:37:55.9393129Z │ MyParameter │ M***********e │
2022-10-31T15:37:55.9393530Z └─────────────┴───────────────┘
2022-10-31T15:38:05.9198459Z 2022-10-31T15:38:05.919Z release-orchestrator:ApiClient:post Making <https://dev.azure.com/projectName//_apis/Contribution/HierarchyQuery/project/xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxxxxxx> API <POST> call
2022-10-31T15:38:06.0557140Z 2022-10-31T15:38:06.055Z release-orchestrator:ApiClient:post Response status code <200> received
2022-10-31T15:38:06.0558109Z 2022-10-31T15:38:06.055Z release-orchestrator:BuildWebApiRetry: { dataProviderExceptions:
2022-10-31T15:38:06.0559305Z    { 'ms.vss-build-web.pipeline-run-parameters-data-provider':
2022-10-31T15:38:06.0560140Z       { exceptionType: 'ResourceValidationException',
2022-10-31T15:38:06.0562049Z         message:
2022-10-31T15:38:06.0562922Z          'The repository dotnet in project xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxxxxxx could not be retrieved. Verify the name and credentials being used.',
2022-10-31T15:38:06.0563470Z         stackTrace: null } },
2022-10-31T15:38:06.0563748Z   dataProviderSharedData:
2022-10-31T15:38:06.0564034Z    { _featureFlags:
2022-10-31T15:38:06.0564523Z       { 'Build2.DisableRunTimeVariableEdit': true,
2022-10-31T15:38:06.0565076Z         'Build2.FilterOutSystemVariables': true } },
2022-10-31T15:38:06.0565387Z   dataProviders:
2022-10-31T15:38:06.0565823Z    { 'ms.vss-web.component-data': {},
2022-10-31T15:38:06.0566316Z      'ms.vss-web.shared-data': null } }
2022-10-31T15:38:06.0567162Z 2022-10-31T15:38:06.055Z release-orchestrator:Retry:retryAsync Retrying <getRunParameters> (exception) in <10> seconds
2022-10-31T15:38:06.0568116Z 2022-10-31T15:38:06.055Z release-orchestrator:Retry:retryAsync Error: Unable to retrieve <donet> (1) run parameters
2022-10-31T15:38:06.0569494Z     at BuildWebApiRetry.getRunParameters ('/home/vsts/work/_tasks/releaseorchestrator_5d38d46b-4c0a-4c14-8f0c-04df59e4dc27/3.0.1846/extensions/buildwebapiretry/buildwebapiretry.js:74:19')
2022-10-31T15:38:06.0570273Z     at process._tickCallback (internal/process/next_tick.js:68:7)
fogartyp commented 1 year ago

After reading the blog post here, I was able to successfully run the v3 Release Orchestrator task.

The change was that I ran the v3 Release Orchestrator task from within an ADO Release pipeline instead of a non-release Pipeline backed by an ADO Git repo.

Previously I created a git repo in ADO with an azure-pipelines.yml file as posted above. Next, I created an ADO Pipeline from that yaml file. When trying to run the Orchestrator Pipeline the error was encountered.

I'm not sure if Release Pipelines and non-Release Pipelines are both to work but only the former worked for me.

If only Release Pipelines are expected I re-read the documentation and did not find any direction to use one over the other.

Thank you for your help :-)

dmitryserbin commented 1 year ago

Thanks for the update @fogartyp. V3 should work fine running from both classic and YAML pipelines, you don't need to use classic pipelines only for that. I will try to reproduce this problem again, it must be something to do with project setup or permissions that I'm missing out.

dmitryserbin commented 1 year ago

I think I managed to reproduce it and found the root cause. Try switching this OFF in your Org > Pipelines > Settings

image

fogartyp commented 1 year ago

Changing this setting fix my issue.

Had to disable the Org level setting which allowed me to then disable it at the project level.

I would consider this issue closed. Thank you!

dmitryserbin commented 1 year ago

Glad to hear that. Docs updated, I'm closing this issue