Uploaded image for project: 'Jenkins'
  1. Jenkins
  2. JENKINS-45101

Display meaningful summaries for metasteps


      JENKINS-37324 provided some of the infrastructure for displaying useful summaries of steps in visualizations like Blue Ocean, but mainly focused on sh steps and the like, and stopped short of providing useful summaries for some other commonly used steps. For example, you will still see General SCM or General Build Step, which are not helpful.

      Problems include:

      • Blue Ocean apparently does not check StepDescriptor.isMetaStep so as to display, for example, Fingerprinter.DescriptorImpl.displayName Record fingerprints of files to track usage in place of CoreStep.DescriptorImpl.displayName General Build Step when given¬†fingerprint '*.jar'. Compare Snippetizer.QuasiDescriptor.
      • CoreStep, CoreWrapperStep, and GenericSCMStep should override argumentsToString to pass their delegate. (Originally automatic handling of metasteps was planned, but then dropped. Anyway pending JENKINS-37227 this would not yet work for GenericSCMStep.)
      • The default argumentsToString only handles steps passed a single argument, so even after handling metastep delegation, a call like archiveArtifacts artifacts: 'x.txt', fingerprint: true would not be described. It would be more sensible to check DescribableModel.getSoleRequiredParameter. Thus that step would be described as x.txt as a user would probably expect given a quasi-step description of Archive the artifacts.
      • Some build steps like JavadocArchiver still lack a @Symbol and @DataBoundSetter hygiene, but these are solvable on a case-by-case basis in plugins.

            jglick Jesse Glick
            jglick Jesse Glick
            0 Vote for this issue
            4 Start watching this issue