I'm wondering if Azure Pipelines support interactive user input during execution. Specifically, can user input be utilized in next stage of the pipeline? Any insights or examples would be appreciated.
I've tried ManualIntervention & ManualValidation tasks in Azure pipeline, which should actually prompt user for inputs, but it's not. These are the possible ways listed official Microsoft page. Ref:https://learn.microsoft.com/en-us/azure/devops/pipelines/release/approvals/?view=azure-devops&tabs=yaml
As others are suggesting, there is no built in way to parse variables in during a pipeline run, only variables created in yaml/code can be parsed to subsequent steps/jobs/stages.
To achieve something like you are describing, you can add approver gates on the stages that force a user with the correct privileges to click an approve button before the stage commences. There are several ways to include approvers on your pipeline runs. See here.
Before an approver clicks the approve button, then can modify variables stored in a third party vault, such as an Azure Key Vault. Once the stage begins, it will grab the updated variables.
To achieve this, you will need multiple stages in your yaml. You can get the pipeline to automatically wait for an approver at any stage by including a deployment job that has an approver gate on it. To configure this:
Pipelines -> Environmentsin Azure DevOpsApprovals and checkstab, and add a mandatory reviewerThis will force your pipeline to wait for approval in the middle of a run:
At this point, if any variables need to be edited, the approver can manually go into an Azure Key Vault and modify any variable values. This can easily be done by anyone with the correct RBAC roles by clicking on the variables.
You can then include pipeline steps to retrieve, then save those KeyVault variables as pipeline variable.