-
Improvement
-
Resolution: Fixed
-
Minor
Jenkins adds the plugin names and versions to the XML configuration, e.g. like plugin="groovy@1.27". Analyzing config.xml files it is possible to see what pluins are used by a job.
With workflow this is not possible, since the information what plugin is used, is in the script file. It is probably difficult to analyze the script statically and extract plugin information.
However, when a script is executed, workflow has the needed information. The steps are already logged to builds/<job-id>/workflow/<step-id>.xml.
For a git checkout, via the generic SCM API it logs:
<?xml version='1.0' encoding='UTF-8'?> <org.jenkinsci.plugins.workflow.support.storage.SimpleXStreamFlowNodeStorage_-Tag plugin="workflow-support@1.11"> <node class="org.jenkinsci.plugins.workflow.cps.nodes.StepAtomNode" plugin="workflow-cps@1.11"> <parents class="com.google.common.collect.ImmutableList"> <org.jenkinsci.plugins.workflow.cps.nodes.StepStartNode>5</org.jenkinsci.plugins.workflow.cps.nodes.StepStartNode> </parents> <id>6</id> <descriptorId>org.jenkinsci.plugins.workflow.steps.scm.GenericSCMStep</descriptorId> </node> ...
Improvement:
Each step node contains also the used plugin(s) and version. In the above case it needs to log workflow-scm-step and git.
- is blocking
-
JENKINS-45109 Metasteps fail to display the delegate symbol in console log
-
- Resolved
-
-
JENKINS-34002 Means of declaring a Pipeline's plugin requirements
-
- Open
-
-
JENKINS-29922 Promote delegates of metasteps to top-level functions, deprecate $class
-
- Resolved
-
-
JENKINS-28293 Display more information about Pipeline steps
-
- Resolved
-
-
JENKINS-35420 Realtime junit report to support Pipeline (was: throws ClassCastException when pipeline run)
-
- Resolved
-
- is duplicated by
-
JENKINS-37324 We would like a more meaningful description of a step
-
- Closed
-
- is related to
-
JENKINS-33995 ExecutorStep::labels should be recorded in the FlowNode graph
-
- Open
-
- relates to
-
JENKINS-47428 Problems with the new ArgumentsAction.getResolvedArguments
-
- Open
-
-
JENKINS-47101 Pipeline withCredentials step does not mask step descriptions for variables with the same name as existing system variables
-
- Resolved
-
- links to
Suggested generalization of API: a new Action to be attached to a StepNode which records the step function name and its configuration in the format understood by DescribableModel. Helper methods could try to reconstruct the actual Step object, or produce a list of plugins involved in its definition.
Would lead to more storage being used by the flow graph, but I think it is not too bad, so long as people refrain from putting ten-page shell scripts inline in their Jenkinsfile (anything complex should anyway be moved to a separate file). There are a lot of potential features related to visualization and analysis which could benefit from access to the detailed step definition.