• Icon: Improvement Improvement
    • Resolution: Unresolved
    • Icon: Critical Critical
    • workflow-cps-plugin
    • None

      In Ubuntu, if a user types in a command that isn't yet installed, you get names of packages that you can install to bring that command:

      kohsuke@elf:~$ gnuplot
      The program 'gnuplot' can be found in the following packages:
       * gnuplot-nox
       * gnuplot-qt
       * gnuplot-x11
      Try: sudo apt-get install <selected package>
      

      Jenkins does this kind of things too elsewhere, for example in the form validation — where we expect people to type in a job name, if the specified name doesn't exist, not only do we tell them so but we look for nearest job name and suggest that as "perhaps you meant xyz?".

      Pipeline plugin should do this, too. We now have the list of known pipeline extensions and what steps and variables they bring to the system, so we can do the approximation of this.

      Attention like this makes a big difference in the impression of pipeline to new users, as everyone makes mistakes and how quickly we can get them unstuck is a critical part of the user experience.

          [JENKINS-35309] Missing command/property suggestion

          Jesse Glick added a comment -

          Would be useful. Tricky because it cannot be done purely as a plugin code change; need a backend job indexing StepDescriptor and GlobalVariable from all plugins in the update center, and then somehow publishing this metadata on the update center for eventual download. We do something similar for ToolInstaller but the infrastructure is tied to that use case and would need to be duplicated or generalized.

          Jesse Glick added a comment - Would be useful. Tricky because it cannot be done purely as a plugin code change; need a backend job indexing StepDescriptor and GlobalVariable from all plugins in the update center, and then somehow publishing this metadata on the update center for eventual download. We do something similar for ToolInstaller but the infrastructure is tied to that use case and would need to be duplicated or generalized.

          Michael Neale added a comment -

          If there was some global feed published, even hand maintained at first (for common globals and steps) would that be useful?

          This hugely increases the easy in which people can share Jenkinsfiles around

          Michael Neale added a comment - If there was some global feed published, even hand maintained at first (for common globals and steps) would that be useful? This hugely increases the easy in which people can share Jenkinsfiles around

          Jesse Glick added a comment -

          even hand maintained at first

          -1, waste of time when we will almost certainly need to automate it.

          Jesse Glick added a comment - even hand maintained at first -1, waste of time when we will almost certainly need to automate it.

          Michael Neale added a comment -

          fair enough. Worth doing.

          Michael Neale added a comment - fair enough. Worth doing.

            Unassigned Unassigned
            kohsuke Kohsuke Kawaguchi
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated: