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

Add ability SKIP stage in script pipeline

    Details

    • Similar Issues:

      Description

      I try to improve visualization for pipeline.

      I want skip stage and mark skip stage as skip.

      But using Skripted Pipeline i must approve signature.

       

      staticMethod org.jenkinsci.plugins.pipeline.modeldefinition.Utils markStageSkippedForConditional java.lang.String

       

      Using it: 

      import org.jenkinsci.plugins.pipeline.modeldefinition.Utils
      map_dev = ["dev", "qa", "stage" ,"perf"]
      
      prodPromoter = null
      
      map_dev.each {
       stage("${it}") {
        try{
         prodPromoter = input(message: "Deploy ${it}")
        } catch(e){
         Utils.markStageSkippedForConditional("${it}")
        }
       }
      }
      

       

       I now that i can using Declarative Pipeline like this:

       

      when {
       expression {
         try {
          devPromoter = input(message: "Deploy")
         } catch(e) {
           return false
         }
        }
       }
       steps { }
      

       BUT, Could you please just add Utils.markStageSkippedForConditional to @whitelist ?

      Because Scripted pipleine more readable and flexible for me... 

       

      Thank you for advance!

        Attachments

          Issue Links

            Activity

            Hide
            amdokamal S. Panchenko added a comment - - edited

            I do agree with this proposal. In addition to, there is another reason. This should prevent against the error:

            "Scripts not permitted to use staticMethod org.jenkinsci.plugins.pipeline.modeldefinition.Utils markStageSkippedForConditional java.lang.String. Administrators can decide whether to approve or reject this signature.

            For another, this may duplicate JENKINS-37781

            Show
            amdokamal S. Panchenko added a comment - - edited I do agree with this proposal. In addition to, there is another reason. This should prevent against the error: "Scripts not permitted to use staticMethod org.jenkinsci.plugins.pipeline.modeldefinition.Utils markStageSkippedForConditional java.lang.String. Administrators can decide whether to approve or reject this signature. For another, this may duplicate JENKINS-37781
            Hide
            gabloe Gabriel Loewen added a comment -

            It would be great to have this feature, or at least whitelist markStageSkippedForConditional so that the method is allowed in groovy sandbox. I am trying to bring my codebase into compliance with groovy script security, but I am finding it incredibly difficult as there are features that I need to support in scripted pipeline that are only supported securely in declarative pipelines, such as markStageSkippedForConditional.

            Show
            gabloe Gabriel Loewen added a comment - It would be great to have this feature, or at least whitelist markStageSkippedForConditional so that the method is allowed in groovy sandbox. I am trying to bring my codebase into compliance with groovy script security, but I am finding it incredibly difficult as there are features that I need to support in scripted pipeline that are only supported securely in declarative pipelines, such as markStageSkippedForConditional.
            Show
            v2v Victor Martinez added a comment - PR:  https://github.com/jenkinsci/pipeline-model-definition-plugin/pull/346

              People

              • Assignee:
                v2v Victor Martinez
                Reporter:
                alexandr_semak Alexandr Semak
              • Votes:
                4 Vote for this issue
                Watchers:
                7 Start watching this issue

                Dates

                • Created:
                  Updated: