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

Configure Jobs to be hidden from the delivery pipeline

    XMLWordPrintable

Details

    Description

      It would be cool to be able to configure Jobs to be hidden from the delivery pipeline. I have the problem, that I have multiple Deploy Jobs which are all using the same parameterized MultiJob. The Sub-Tasks of the MultiJob are displayed totally out of order and are not important for the high level pipeline view.

      Attachments

        Issue Links

          Activity

            tommysdk Tommy Tynjä added a comment -

            pskumar448;

            I've now gone through your pull request and found the following problems.

            If I enable delivery pipeline configuration for a job, omit stage and task name but mark the task as hidden, the job will still be visible in the pipeline.

            If the stage and task names are present and the job is marked as hidden, the stage will still be shown even though no jobs for that stage are visible, which is ambiguous and looks weird.

            I'm still not convinced about the feature in general as I don't find the visualisation intuitive, if jobs are hidden. I understand the use cases, but I'm afraid it will cause unnecessary confusion if a hidden job fails or if a hidden job has additional logic to it which should be considered from a pipeline point of view.

            tommysdk Tommy Tynjä added a comment - pskumar448 ; I've now gone through your pull request and found the following problems. If I enable delivery pipeline configuration for a job, omit stage and task name but mark the task as hidden, the job will still be visible in the pipeline. If the stage and task names are present and the job is marked as hidden, the stage will still be shown even though no jobs for that stage are visible, which is ambiguous and looks weird. I'm still not convinced about the feature in general as I don't find the visualisation intuitive, if jobs are hidden. I understand the use cases, but I'm afraid it will cause unnecessary confusion if a hidden job fails or if a hidden job has additional logic to it which should be considered from a pipeline point of view.
            pskumar448 Suresh Kumar added a comment -

            tommysdk
            I know the 2 issues which you have mentioned. I thought I may get some more ideas how to handle this feature in more appropriate way.
            If this is ok means I will fix these issues and move forward adding anything needed.

            Thanks for reviewing and giving feedback. Let me know how to handle this.

            pskumar448 Suresh Kumar added a comment - tommysdk I know the 2 issues which you have mentioned. I thought I may get some more ideas how to handle this feature in more appropriate way. If this is ok means I will fix these issues and move forward adding anything needed. Thanks for reviewing and giving feedback. Let me know how to handle this.
            pskumar448 Suresh Kumar added a comment -

            Hi tommysdk
            Fixed the above 2 problems.
            Merged updates from master, made this up-to date, increased code coverage based on the added logic.

            Review it and let me know feedback.

            pskumar448 Suresh Kumar added a comment - Hi tommysdk Fixed the above 2 problems. Merged updates from master, made this up-to date, increased code coverage based on the added logic. Review it and let me know feedback.
            tommysdk Tommy Tynjä added a comment -

            Thank you for the feature request.

            After trying out the proposed solutions and discussing this among the maintainers, we have decided to decline this feature request. The reason for this is manily because the feature doesn't provide an intuitive visualisation which will cause unnecessary confusion if hidden jobs fail. An intuitive pipeline visualisation is key for this plugin. We also don't think the reasoning for hiding jobs that are generic jobs that are used multiple times from multiple stages is reason enough for this feature. It rather feels like an anti-pattern, that the generic jobs are manually created and / or maintained and for that reason job duplication is desired. If jobs are created with Jenkins Job Builder or JobDSL, that problem should be solved, as generic jobs can be avoided by generating unique jobs from a generic template.

            We are of course open to further discussions if anyone has a good way to address the concerns mentioned.

            tommysdk Tommy Tynjä added a comment - Thank you for the feature request. After trying out the proposed solutions and discussing this among the maintainers, we have decided to decline this feature request. The reason for this is manily because the feature doesn't provide an intuitive visualisation which will cause unnecessary confusion if hidden jobs fail. An intuitive pipeline visualisation is key for this plugin. We also don't think the reasoning for hiding jobs that are generic jobs that are used multiple times from multiple stages is reason enough for this feature. It rather feels like an anti-pattern, that the generic jobs are manually created and / or maintained and for that reason job duplication is desired. If jobs are created with Jenkins Job Builder or JobDSL, that problem should be solved, as generic jobs can be avoided by generating unique jobs from a generic template. We are of course open to further discussions if anyone has a good way to address the concerns mentioned.

            FWIW, I think this is closed a bit unfairly.
            This proposed code change doesn't alter the default behavior, where all the jobs will be shown. It only kicks in when the pipeline is configured to specifically hide jobs.
            I think the use case(s) for it were laid out pretty convincingly, I know that some jobs in my pipelines have no value for the target audience and are therefore distracting/confusing.
            Also, there were some suggestions to ease some of the given concerns - mine was to have a blinking indicator ("hidden job running") on the pipeline instance, when a hidden job is executing in the background. It can be easily adapted to show a status (red/blue) as well as a toggle button to show the hidden jobs if desired. Design-wise, if a job is preferred to be hidden, it probably doesn't matter to the pipeline audience whether it succeeded or failed.
            For my use cases, the jobs I want to hide are not in-between visible jobs, they are side-branches or leaves of the pipeline tree anyway. It would not be making a lot of sense to hide jobs on the pipeline critical path(s) I'd have to agree.

            pmatignon Patrice Matignon added a comment - FWIW, I think this is closed a bit unfairly. This proposed code change doesn't alter the default behavior, where all the jobs will be shown. It only kicks in when the pipeline is configured to specifically hide jobs. I think the use case(s) for it were laid out pretty convincingly, I know that some jobs in my pipelines have no value for the target audience and are therefore distracting/confusing. Also, there were some suggestions to ease some of the given concerns - mine was to have a blinking indicator ("hidden job running") on the pipeline instance, when a hidden job is executing in the background. It can be easily adapted to show a status (red/blue) as well as a toggle button to show the hidden jobs if desired. Design-wise, if a job is preferred to be hidden, it probably doesn't matter to the pipeline audience whether it succeeded or failed. For my use cases, the jobs I want to hide are not in-between visible jobs, they are side-branches or leaves of the pipeline tree anyway. It would not be making a lot of sense to hide jobs on the pipeline critical path(s) I'd have to agree.

            People

              tommysdk Tommy Tynjä
              mapo Marc Popp
              Votes:
              7 Vote for this issue
              Watchers:
              13 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: