-
Story
-
Resolution: Fixed
-
Major
-
None
-
-
atlantic, arctic, tasman, frank
In Scope
- User clicks "Add Step" and the dialog appears showing a list of steps
- Clicking "Use Step" adds a the step to the end of the step list
- User can see the form for the step in the editor
- List of available steps is driven by the API provided by
JENKINS-38584 - An extension point for a step editor to plug into
- Implement for at least 2 different steps (so we know what a step editor form looks like)
- User can click on a step after it has been added and edit contents (via its editor, unless it is "unsupported" type see https://issues.jenkins-ci.org/browse/JENKINS-38590)
Out of Scope
- Adding a step which doesn't have an editor (handled in another ticket)
Some more details:
A chunk of steps in the model/json looks like this:
"steps": [ { "name": "sh", "arguments": { "value": "cat /usr/local/apache2/conf/extra/httpd-userdir.conf" } }, { "name": "sh", "arguments": { "value": "echo \"The answer is 42\"" } } ]
(referring to https://github.com/jenkinsci/pipeline-model-definition-plugin/blob/master/src/test/resources/json/agentDocker.json - details may change a bit).
Note that each step object has a name (which can be looked up to see if there is an editor for it). In this case it is the most common sh step - the arguments here is a simple object which has a "value" of the script.
This AST/model is formally defined here: https://github.com/jenkinsci/pipeline-model-definition-plugin/blob/master/src/main/resources/ast-schema.json. This is an example of a "named argument" - there are few ways arguments for steps can be expressed but this is most common (and fairly simple).
Different steps may have different representations: one of namedArgumentList, positionalArgumentList or singleArgument.
- blocks
-
JENKINS-38587 User can add and edit a block scoped step
- Resolved
- is blocked by
-
JENKINS-39371 Dialog component
- Resolved
-
JENKINS-38584 REST API for fetching available steps
- Resolved