ManualValidation@1 - Manual validation v1 task
Pause a pipeline run to wait for manual interaction. Works only with YAML pipelines.
Syntax
# Manual validation v1
# Pause a pipeline run to wait for manual interaction. Works only with YAML pipelines.
- task: ManualValidation@1
inputs:
notifyUsers: # string. Required. Notify users.
#approvers: # string. Approvers.
#allowApproversToApproveTheirOwnRuns: false # boolean. Allow approvers to approve their own run. Default: false.
#instructions: # string. Instructions.
#onTimeout: 'reject' # 'reject' | 'resume'. On timeout. Default: reject.
Inputs
notifyUsers
- Notify users
string
. Required.
Send a manual validation pending email to a comma separated list of specific users (or groups). You can send an email to a group using the [org name]\group
name syntax.
This task input is required, but you can specify an empty string if you don't want to notify anyone, for example during a test run: notifyUsers: ''
.
approvers
- Approvers
string
.
Specify a comma separated list of users/groups/project teams to act on a manual validation. In absence of input, users with queue build permission will be able to take action.
allowApproversToApproveTheirOwnRuns
- Allow approvers to approve their own run
boolean
. Default value: false
.
If this is true, approver will be able to approve their own run.
Important
The functionality for allowApproversToApproveTheirOwnRuns
is still deploying to Azure DevOps, and is currently not enabled.
instructions
- Instructions
string
.
Specifies the instructions that are shown to the user when resuming or rejecting the manual validation. Based on these instructions, the user will make an informed decision about this manual validation.
onTimeout
- On timeout
string
. Allowed values: reject
, resume
. Default value: reject
.
Automatically rejects or resumes this manual validation after it is pending for the specified timeout, or 30 days, whichever is earlier.
Task control options
All tasks have control options in addition to their task inputs. For more information, see Control options and common task properties.
Output variables
None.
Remarks
Use this task in a YAML pipeline to pause a run within a stage. This is typically executed to perform various manual steps or actions and then the run is resumed or rejected.
Important
This task is only supported in YAML pipelines and can only be used in an agentless job of a YAML pipeline.
The Manual Validation task allows you to pause a pipeline run within a stage, typically to perform some manual steps or actions, and then continue with the pipeline. For example, the user may need to manually validate certain deployment configurations before the pipeline starts a long running computational intensive job.
The Manual Validation task configuration includes an instructions parameter that is used to provide related information or to specify the manual steps the user executes during the pause. You can configure the task to send email notifications to users and user groups when it is awaiting a review and specify the automatic response (reject or resume) after a configurable timeout occurs.
You can specify the timeout value for the task using the optional timeoutInMinutes
parameter, available in the common task properties.
Note
For the task to run completely, the timeoutInMinutes
value of the job (default = 60 minutes
) containing this task should be higher than the timeoutInMinutes
value of the task itself. See default job timeout values.
Tip
You can use variables to specify email addresses in the notifyUsers
parameter.
When the Manual Validation task is activated during a pipeline, it displays a message bar with a link that opens the Manual validation dialog, which contains the instructions. After carrying out the manual steps, the administrator or user can choose to resume the run or reject it. Users with Queue builds permission on the pipeline can resume or reject the run.
Examples
jobs:
- job: waitForValidation
displayName: Wait for external validation
pool: server
timeoutInMinutes: 4320 # job times out in 3 days
steps:
- task: ManualValidation@1
timeoutInMinutes: 1440 # task times out in 1 day
inputs:
notifyUsers: |
test@test.com,
example@example.com
instructions: 'Please validate the build configuration and resume'
onTimeout: 'resume'
This example uses timeoutInMinutes
which is a common task property available in all tasks.
Requirements
Requirement | Description |
---|---|
Pipeline types | YAML, Classic build |
Runs on | Server |
Demands | None |
Capabilities | This task does not satisfy any demands for subsequent tasks in the job. |
Command restrictions | Any |
Settable variables | Any |
Agent version | All supported agent versions. |
Task category | Deploy |