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

The 'Build Triggers' button is missing from the sidebar on pipeline jobs

    • Icon: Bug Bug
    • Resolution: Unresolved
    • Icon: Minor Minor
    • workflow-job-plugin
    • Jenkins: 2.359
      OS: Ubuntu 20.04.4
      Java: openjdk version "11.0.15"
      Browser: Chrome 103.0.5060.114

      Following the new design for configuration page added on https://issues.jenkins.io/browse/JENKINS-68282

      The 'Build Triggers' button appears on the sidebar for freestyle jobs but missing for pipeline jobs.

      freestyle job

      pipeline job

       

      PS> I'm not sure what's the required component for UI/UX bugs

      /cc janfaracik 

          [JENKINS-69057] The 'Build Triggers' button is missing from the sidebar on pipeline jobs

          Jan Faracik added a comment - - edited

          Hey, thanks for raising đź‘Ť 

           

          From what I can see, the issue is caused by Workflow-Job using a custom 'Build Triggers' component rather than the built in Jenkins one, this is then being inserted into wrong row set by Jenkins (these should be two separate containers for the sidebar logic to work).

          There's a few potential solutions I can think of - 

          1. Use the standard Jenkins component

             From what I can see the two components are the same (at the very least they have the same UI), I'm not too sure why the component was duplicated but there could be a totally valid reason for doing so.

           

          2. If we can't use the standard Jenkins component, try and reorganise the `configure-entries.jelly` in Workflow-Job to separate the containers

             This should work, although it'll depend on how Jenkins imports the entries into the config screen (I'm not too sure of how this process works/Jenkins forms can be very complicated)

           

          3. Update Jenkins core to handle the section being in the wrong place

             Least ideal solution as it'd be a workaround to the problem, but it would work.

           

          Would be great to get some input on this jglick 

           

          Cheers

          Jan Faracik added a comment - - edited Hey, thanks for raising đź‘Ť    From what I can see, the issue is caused by Workflow-Job using a custom 'Build Triggers' component rather than the built in Jenkins one, this is then being inserted into wrong row set by Jenkins (these should be two separate containers for the sidebar logic to work). There's a few potential solutions I can think of -  1. Use the standard Jenkins component     From what I can see the two components are the same (at the very least they have the same UI), I'm not too sure why the component was duplicated but there could be a totally valid reason for doing so.   2. If we can't use the standard Jenkins component, try and reorganise the `configure-entries.jelly` in Workflow-Job to separate the containers     This should work, although it'll depend on how Jenkins imports the entries into the config screen (I'm not too sure of how this process works/Jenkins forms can be very complicated)   3. Update Jenkins core to handle the section being in the wrong place     Least ideal solution as it'd be a workaround to the problem, but it would work.   Would be great to get some input on this jglick     Cheers

          Jesse Glick added a comment -

          Where in WorkflowJob/configure-entries.jelly do you see a “custom 'Build Triggers' component”?

          I am not familiar with whatever changes were made in the GUI in core, or what the rules are for (CSS?) containers here, but certainly if they caused a critical section of configuration UI for Pipeline jobs to disappear, then that needs to be fixed ASAP by whatever means necessary.

          Or is this only about the sidebar link, and the actual configuration options are displayed normally?

          Jesse Glick added a comment - Where in WorkflowJob/configure-entries.jelly do you see a “custom 'Build Triggers' component”? I am not familiar with whatever changes were made in the GUI in core, or what the rules are for (CSS?) containers here, but certainly if they caused a critical section of configuration UI for Pipeline jobs to disappear, then that needs to be fixed ASAP by whatever means necessary. Or is this only about the sidebar link, and the actual configuration options are displayed normally?

          Alexander Brandes added a comment - - edited

          From what I can see the two components are the same (at the very least they have the same UI), I'm not too sure why the component was duplicated but there could be a totally valid reason for doing so.

          It's not the first time that core ui code appears as (almost) duplicate in pipeline plugins and causes regressions, to name a recent one, the misalignment of build status icons caused by the pipeline stage view plugin duplicating the code from core, instead of using the API.
          Last time, the issue was resolved by getting a rid of the duplicated code in the plugin and using the API provided by core, which would be the 1st approach.

          This may be resolved in the same way again, unless there is a compelling reason to duplicate the code (last time there was not).

          Alexander Brandes added a comment - - edited From what I can see the two components are the same (at the very least they have the same UI), I'm not too sure why the component was duplicated but there could be a totally valid reason for doing so. It's not the first time that core ui code appears as (almost) duplicate in pipeline plugins and causes regressions, to name a recent one, the misalignment of build status icons caused by the pipeline stage view plugin duplicating the code from core, instead of using the API. Last time, the issue was resolved by getting a rid of the duplicated code in the plugin and using the API provided by core, which would be the 1st approach. This may be resolved in the same way again, unless there is a compelling reason to duplicate the code (last time there was not).

          Jesse Glick added a comment -

          Probably you are referring to config-trigger.jelly? I see that core got icon="symbol-trigger" which is not in PipelineTriggersJobProperty/config.jelly. Comparing the two, the core version includes BuildAuthorizationToken/config.jelly which in workflow-job is included instead in WorkflowJob/configure-entries.jelly (and should not be in PipelineTriggersJobProperty; arguably all this functionality should be moved to the build-token-root plugin). Also core is missing field="triggers". If these things were fixed on the core side, it would be possible for workflow-job to use <p:config-trigger/>, undoing the duplication introduced in https://github.com/jenkinsci/workflow-job-plugin/pull/9.

          Jesse Glick added a comment - Probably you are referring to config-trigger.jelly ? I see that core got icon="symbol-trigger" which is not in PipelineTriggersJobProperty/config.jelly . Comparing the two, the core version includes BuildAuthorizationToken/config.jelly which in workflow-job is included instead in WorkflowJob/configure-entries.jelly (and should not be in PipelineTriggersJobProperty ; arguably all this functionality should be moved to the build-token-root plugin). Also core is missing field="triggers" . If these things were fixed on the core side, it would be possible for workflow-job to use <p:config-trigger/> , undoing the duplication introduced in https://github.com/jenkinsci/workflow-job-plugin/pull/9 .

          Beni Peled added a comment -

          Any update?
          I wish I can try to fix it but I'm not familiar with this area, can anyone take a look?

          Beni Peled added a comment - Any update? I wish I can try to fix it but I'm not familiar with this area, can anyone take a look?

            Unassigned Unassigned
            benipeled Beni Peled
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

              Created:
              Updated: