-
Story
-
Resolution: Fixed
-
Critical
-
-
frank, christmas
In Scope
- Step should show the "waiting for input" indicator.
- Input form should be shown where the log is usually shown.
- When the user clicks "Submit" the form disappears and the log for that step is shown (Note: progress via karaoke should resume at this point)
- User cannot submit the form unless they have filled in all values.
- We will need to show a form validation message if the user tries to submit the form with empty values.
- The confirmation button label is "Continue"
- The button in the header is "Abort" which aborts the run.
- See https://issues.jenkins-ci.org/browse/JENKINS-35899 for details on the visual design of this and screen shots
Before vivek left he was able to merge the first tranche of support for input.
This is described in this closed PR here: https://github.com/jenkinsci/blueocean-plugin/pull/645 (with a sample pipeline, that will return states waiting for input)
Creating the following pipeline and calling it "paused"
node { stage("parallelStage"){ parallel left : { echo "running" def branchInput = input message: 'Please input branch to test against', parameters: [[$class: 'StringParameterDefinition', defaultValue: 'master', description: '', name: 'branch']] echo "BRANCH NAME: ${branchInput}" }, right : { sh 'sleep 100000' } } }
Run it - and then go to the following URL:
http://localhost:8080/jenkins/blue/rest/organizations/jenkins/pipelines/paused/runs/1/steps/
And you will see:
{ "_class": "io.jenkins.blueocean.rest.impl.pipeline.PipelineStepImpl", "_links": {}, "actions": [], "displayName": "Wait for interactive input", "durationInMillis": 124735, "id": "12", "input": { "_class": "io.jenkins.blueocean.rest.impl.pipeline.InputStepImpl", "_links": { "self": { "_class": "io.jenkins.blueocean.rest.hal.Link", "href": "/blue/rest/organizations/jenkins/pipelines/paused/runs/1/steps/12/input/" } }, "id": "C51b52435b43a326d5d4f92c290a64d5", "message": "Please input branch to test against", "ok": "Proceed", "parameters": [ { "_class": "hudson.model.StringParameterDefinition", "defaultParameterValue": { "_class": "hudson.model.StringParameterValue", "name": "branch", "value": "master" }, "description": "", "name": "branch", "type": "StringParameterDefinition" } ], "submitter": null }, "result": "UNKNOWN", "startTime": "2016-12-13T15:32:28.343+1100", "state": "PAUSED" }
We can come up with more canonical examples of all input types once familiar with the api:
GET /jenkins/blue/rest/organizations/jenkins/pipelines/pipeline1/runs/1/ should report state==PAUSED, result==UNKNOWN
GET /jenkins/blue/rest/organizations/jenkins/pipelines/pipeline1/runs/1/nodes/ should report state==PAUSED, result==UNKNOWN for nodes parallelStage and right.
GET /jenkins/blue/rest/organizations/jenkins/pipelines/pipeline1/runs/1/steps/ should report state==PAUSED, result==UNKNOWN for step id 12
When you drill into a step for a paused node you can see the input required:
Has an input value of:
"input": { "_class": "io.jenkins.blueocean.rest.impl.pipeline.InputStepImpl", "_links": { "self": { "_class": "io.jenkins.blueocean.rest.hal.Link", "href": "/blue/rest/organizations/jenkins/pipelines/paused/runs/1/nodes/6/steps/12/input/" } }, "id": "C51b52435b43a326d5d4f92c290a64d5", "message": "Please input branch to test against", "ok": "Proceed", "parameters": [ { "_class": "hudson.model.StringParameterDefinition", "defaultParameterValue": { "_class": "hudson.model.StringParameterValue", "name": "branch", "value": "master" }, "description": "", "name": "branch", "type": "StringParameterDefinition" } ], "submitter": null }
which is what the form is rendered from.
- is blocked by
-
JENKINS-35795 API(s) for acknowledging request for user input in a pipeline
- Resolved
-
JENKINS-38491 Add new "waitingForInput" status to API for runs, dag and steps
- Resolved
-
JENKINS-39371 Dialog component
- Resolved
-
JENKINS-39563 Basic form components
- Resolved
-
JENKINS-40587 API for submitting step input form
- Resolved
-
JENKINS-35899 Form to capture user input when pipeline is waiting for user input
- Closed
- is duplicated by
-
JENKINS-39395 Input cannot be approved on Blue Ocean pipeline UI
- Closed