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

Cannot remove properties from Jenkinsfile for Pipeline from SCM

      In Pipeline Multibranch (and in general for Pipeline from SCM), when removing properties from a Jenkinsfile the properties of the branch job are not updated.

      Example

      1) I create a Jenkinsfile with Triggers:

      properties([pipelineTriggers([[$class: 'TimerTrigger', spec: 'H * * * *']])])
      
      node {
           ...
      }
      

      After branch indexing, the trigger is correctly set for the job

      2) Now I want to remove this trigger. I remove the properties step:

      node {
           ...
      }
      

      I trigger a branch indexing

      Expected result: My job configuration has no trigger
      Actual result: The trigger is still there


      Workaround

      So pipeline updates the properties only if the properties step is set in the Jenkinsfile. There is therefore a workaround.

      In this particular scenario, if I want to get rid of the trigger, I need to update to something like this first:

      properties([pipelineTriggers([])])
      // or also `properties([])`
      
      node {
        ...
      }
      

          [JENKINS-41875] Cannot remove properties from Jenkinsfile for Pipeline from SCM

          Allan BURDAJEWICZ created issue -
          Allan BURDAJEWICZ made changes -
          Issue Type Original: New Feature [ 2 ] New: Bug [ 1 ]
          Allan BURDAJEWICZ made changes -
          Summary Original: Cannot remove properties from Pipeline Multibranch job New: Cannot remove properties from Jenkins for Pipeline Multibranch
          Allan BURDAJEWICZ made changes -
          Summary Original: Cannot remove properties from Jenkins for Pipeline Multibranch New: Cannot remove properties from Jenkinsfile for Pipeline Multibranch
          Allan BURDAJEWICZ made changes -
          Description Original: In Pipeline Multibranch, when removing _properties_ from a Jenkinsfile the properties of the branch job are not updated.

          h3. Example

          1) I create a Jenkinsfile with Triggers:

          {code}
          properties([pipelineTriggers([[$class: 'TimerTrigger', spec: 'H * * * *']])])

          node {
               ...
          }
          {code}

          After branch indexing, the trigger is correctly set for the job

          2) Now I want to remove this trigger. I remove the properties step:

          {code}
          node {
               ...
          }
          {code}

          I trigger a branch indexing

          +Expected result:+ My job configuration has no trigger
          +Actual result:+ *The trigger is still there*

          ----

          h3. Workaround

          So pipeline updates the properties only if the _properties_ step is set in the Jenkinsfile. There is therefore a workaround.

          In this particular scenario, if I want to get rid of the trigger, I need to update to something like this first:

          {code}
          properties([pipelineTriggers([])])
          // or also `properties([])`

          node {
            ...
          }
          {code}
          New: In Pipeline Multibranch (and in general for Pipeline from SCM), when removing _properties_ from a Jenkinsfile the properties of the branch job are not updated.

          h3. Example

          1) I create a Jenkinsfile with Triggers:

          {code}
          properties([pipelineTriggers([[$class: 'TimerTrigger', spec: 'H * * * *']])])

          node {
               ...
          }
          {code}

          After branch indexing, the trigger is correctly set for the job

          2) Now I want to remove this trigger. I remove the properties step:

          {code}
          node {
               ...
          }
          {code}

          I trigger a branch indexing

          +Expected result:+ My job configuration has no trigger
          +Actual result:+ *The trigger is still there*

          ----

          h3. Workaround

          So pipeline updates the properties only if the _properties_ step is set in the Jenkinsfile. There is therefore a workaround.

          In this particular scenario, if I want to get rid of the trigger, I need to update to something like this first:

          {code}
          properties([pipelineTriggers([])])
          // or also `properties([])`

          node {
            ...
          }
          {code}
          Allan BURDAJEWICZ made changes -
          Summary Original: Cannot remove properties from Jenkinsfile for Pipeline Multibranch New: Cannot remove properties from Jenkinsfile for Pipeline from SCM
          Jesse Glick made changes -
          Resolution New: Not A Defect [ 7 ]
          Status Original: Open [ 1 ] New: Resolved [ 5 ]
          Jesse Glick made changes -
          Link New: This issue relates to JENKINS-44848 [ JENKINS-44848 ]
          CloudBees Inc. made changes -
          Remote Link New: This issue links to "CloudBees Internal OSS-1956 (Web Link)" [ 18496 ]

            Unassigned Unassigned
            allan_burdajewicz Allan BURDAJEWICZ
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: