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!

          [JENKINS-54322] Add ability SKIP stage in script pipeline

          Alexandr Semak created issue -
          Alexandr Semak made changes -
          Description Original: 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.

           
          {code:java}
          staticMethod org.jenkinsci.plugins.pipeline.modeldefinition.Utils markStageSkippedForConditional java.lang.String{code}
           

          Using it: 
          {code:java}
          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}")
            }
           }
          }
          {code}
           

           I now that i can using Declarative Pipeline like this:

           
          {code:java}
          when {
           expression {
             try {
              devPromoter = input(message: "Deploy")
             } catch(e) {
               return false
             }
            }
           }
           steps { }
          {code}
           BUT, can you just add Utils.markStageSkippedForConditional to @whitelist ?

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

           

          Thank you for advance!
          New: 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.

           
          {code:java}
          staticMethod org.jenkinsci.plugins.pipeline.modeldefinition.Utils markStageSkippedForConditional java.lang.String{code}
           

          Using it: 
          {code:java}
          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}")
            }
           }
          }
          {code}
           

           I now that i can using Declarative Pipeline like this:

           
          {code:java}
          when {
           expression {
             try {
              devPromoter = input(message: "Deploy")
             } catch(e) {
               return false
             }
            }
           }
           steps { }
          {code}
           BUT, Could you please just add Utils.markStageSkippedForConditional to @whitelist ?

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

           

          Thank you for advance!
          Alexandr Semak made changes -
          Labels Original: Script jekins pipleine New: Script jenkins pipeline
          Andrew Bayer made changes -
          Component/s New: pipeline-stage-step-plugin [ 21709 ]
          Component/s Original: pipeline [ 21692 ]

          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

          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
          S. Panchenko made changes -
          Link New: This issue relates to JENKINS-47286 [ JENKINS-47286 ]

          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.

          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.
          Victor Martinez made changes -
          Assignee New: Victor Martinez [ v2v ]
          Victor Martinez made changes -
          Status Original: Open [ 1 ] New: In Progress [ 3 ]
          Victor Martinez made changes -
          Status Original: In Progress [ 3 ] New: In Review [ 10005 ]

            v2v Victor Martinez
            alexandr_semak Alexandr Semak
            Votes:
            7 Vote for this issue
            Watchers:
            12 Start watching this issue

              Created:
              Updated:
              Resolved: