Use this job to request workflow execution approval.
Refer to the Manage workflows for more information.
| Input name | Data type | Required? | Description |
|---|---|---|---|
|
String, Boolean, Choice, Number |
No |
The input parameters for workflow approvers. Valid parameter types: These approval parameter input values can be accessed in subsequent jobs using the outputs context. For example, to return:
|
|
String |
No |
A list of users whose participation in the workflow approval process is requested. The Approval rules and notifications are as follows:
|
|
String |
Yes |
The value must be the path to the Manual approval custom job yaml file: |
|
String |
No |
When set to true, it prevents the user who started the workflow from participating in the approval. Default value is |
|
String |
Yes |
Use to add instructions for approvers. This text will appear:
|
|
Integer |
No |
The amount of time approvers have to respond to the approval request. The default value is |
In your YAML file, add:
apiVersion: automation.cloudbees.io/v1alpha1
kind: workflow
name: Workflow example
on:
workflow_dispatch:
jobs:
build:
steps:
- uses: docker://alpine:3.23.2
name: Say hello
kind: test
shell: sh
run: |
echo "hello world"
needs: build-approval
build-approval:
with:
approvers: ""
disallowLaunchByUser: false
instructions: "Please provide inputs"
approvalInputs: |
string-value:
type: string
retry-count:
type: number
boolean:
type: boolean
default: false
Picklist:
type: choice
options:
- abc
- xyz
timeout-minutes: 4320
delegates: cloudbees-io/manual-approval/custom-job.yml@v1
use-approval-parameters:
needs:
- build-approval
steps:
- uses: docker://alpine:3.23.2
name: Echo inputs
shell: sh
run: |
echo "string-value: ${{ fromJSON(needs.build-approval.outputs.approvalInputValues).string-value }}"
echo "retry-count: ${{ fromJSON(needs.build-approval.outputs.approvalInputValues).retry-count }}"
echo "boolean: ${{ fromJSON(needs.build-approval.outputs.approvalInputValues).boolean }}"
echo "Picklist: ${{ fromJSON(needs.build-approval.outputs.approvalInputValues).Picklist }}"
echo "\
Comments:
${{ fromJSON(needs.build-approval.outputs.approvalInputValues).string-value }}"|
Note
|
For more information |
This code is made available under the MIT license.
-
Learn more about Manual approval.
-
Learn about the CloudBees platform.