Motivation

      Commonly people want to run particular stages when they match a specific branch name(s). We would like to make this pattern accessible in the editor.

      Declarative allows the use of when to condition the stage execution like:

      stage('second') {
          agent label:'some-node'
          branch "master" 
          when {
              env.BRANCH == 'master'
          }
      }
      

      However, this isn't exactly what we would consider "friendly" for an editor accessible feature (though when will be supported via a text area) and the developer would have to learn the Script syntax to use it correctly.

      Solution

      We would like to formalise the pattern in a way that is more Editor and user friendly with the introduction of branch. Ideally we could tell from BO if the user has skipped via when or via branch.

      Example - match single branch
      This stage would only be executed if master was the name of the current branch.

      stage('deploy to staging') {
          agent label:'some-node'
          when { branch "master" }
          steps {
              sh './deploy_pr.sh'
          }
      }
      

      Example - match branch name pattern
      This stage would only be executed if the branch name started with feature/.

      stage('deploy to staging') {
          agent label:'some-node'
          when { branch "feature/*" }
          steps {
              sh './deploy_pr.sh'
          }
      }
      

      Example - expression
      You can use an expression to achieve the same thing by:

      stage('deploy to staging') {
          agent label:'some-node'
          when {
      	expression {
      		return BRANCH == 'master';
              }
          }
          steps {
              sh './deploy_pr.sh'
          }
      }
      

          [JENKINS-40370] Run stage when branch name matches

          James Dumay added a comment -

          We may also want to do something similar for matching environment variables but I am less bullish on that.

          James Dumay added a comment - We may also want to do something similar for matching environment variables but I am less bullish on that.

          James Dumay added a comment -

          It does raise the question about when not being declarative - are we doing the right thing here?

          James Dumay added a comment - It does raise the question about when not being declarative - are we doing the right thing here?

          Patrick Wolf added a comment -

          I think special classing branch names AND having when is not an option. Redundant features are a PITA to document and cause user confusion, "Why does this exist? Am I doing it right? Should I be using the other method?"

          We do one or the other but not both.

          Patrick Wolf added a comment - I think special classing branch names AND having when is not an option. Redundant features are a PITA to document and cause user confusion, "Why does this exist? Am I doing it right? Should I be using the other method?" We do one or the other but not both.

          James Dumay added a comment -

          hrmpw agreed having two ways of doing this isn't great. Skipping stages with a script within when makes this feature not accessible to our target audience. Any bright ideas abayer?

          James Dumay added a comment - hrmpw agreed having two ways of doing this isn't great. Skipping stages with a script within when makes this feature not accessible to our target audience. Any bright ideas abayer ?

          Andrew Bayer added a comment -

          So I don't like this idea, if for no other reason than it's likely to lead to a slippery slope of "let's add a section for $SPECIFIC_CONDITION too!" and that's non-optimal.

          I see the point of it - it does make things simpler. But I don't think it's really that hard for a user to do the script part themselves. Maybe we have the editor have a list of special case conditions or a free script field? So that if you are going through the editor, you choose when and then Branch is... or whatever, but if you're editing the Jenkinsfile directly, you just get a script box.

          Andrew Bayer added a comment - So I don't like this idea, if for no other reason than it's likely to lead to a slippery slope of "let's add a section for $SPECIFIC_CONDITION too!" and that's non-optimal. I see the point of it - it does make things simpler. But I don't think it's really that hard for a user to do the script part themselves. Maybe we have the editor have a list of special case conditions or a free script field? So that if you are going through the editor, you choose when and then Branch is... or whatever, but if you're editing the Jenkinsfile directly, you just get a script box.

          James Dumay added a comment -

          abayer with your work around it comes back to the model that the editor can understand.... when is just as non-roundtripable as the contents of script.

          Throwing another idea out here: what if the conditions were a pluggable thing that you could even write implementations for in a library? branch and when could be declared and implemented that way..?

          James Dumay added a comment - abayer with your work around it comes back to the model that the editor can understand.... when is just as non-roundtripable as the contents of script . Throwing another idea out here: what if the conditions were a pluggable thing that you could even write implementations for in a library? branch and when could be declared and implemented that way..?

          James Dumay added a comment - - edited

          abayer what about making the block optional?

          stage('deploy to staging') {
              agent label:'some-node'
              when branch "feature/*" 
              steps {
                  sh './deploy_pr.sh'
              }
          }
          

          Means we could even have:

          stage('deploy to staging') {
              agent label:'some-node'
              when environment FOO=bar 
              steps {
                  sh './deploy_pr.sh'
              }
          }
          

          James Dumay added a comment - - edited abayer what about making the block optional? stage( 'deploy to staging' ) { agent label: 'some-node' when branch "feature/*" steps { sh './deploy_pr.sh' } } Means we could even have: stage( 'deploy to staging' ) { agent label: 'some-node' when environment FOO=bar steps { sh './deploy_pr.sh' } }

          Andrew Bayer added a comment -

          That's a pain to implement, to say the least. I deeply regret not having made agent a block for future extensibility, and my attempts to make it speak both the existing form and block form have failed so far. So, no.

          Andrew Bayer added a comment - That's a pain to implement, to say the least. I deeply regret not having made agent a block for future extensibility, and my attempts to make it speak both the existing form and block form have failed so far. So, no.

          Andrew Bayer added a comment -

          So here's what we're proposing now:

          when {
            branch "*/master"
          }
          
          when {
            expression {
               "foo" == "boo"
            }
          }
          

          With possible further extensions as we go.

          Andrew Bayer added a comment - So here's what we're proposing now: when { branch "*/master" } when { expression { "foo" == "boo" } } With possible further extensions as we go.

          rsandell added a comment -

          And should we support

          when {
            branch "*/master"
            expression {
               "foo" == "boo"
            }
          }
          

          ?

          rsandell added a comment - And should we support when { branch "*/master" expression { "foo" == "boo" } } ?

          Patrick Wolf added a comment - - edited

          No. We agreed to put everything within the when block.

          We create special statements for branch and some others but anything special would need to use expression

          Patrick Wolf added a comment - - edited No. We agreed to put everything within the when block. We create special statements for branch and some others but anything special would need to use expression

          just wanted to add my 2cents... and yes you probably not gonna like it... but in the "old world" there is a plugin called "Conditional BuildStep" [1] it uses an other plugin called "Run Condition" [2] which contains all the logic of the different conditions. If you look at these plugins, then you see, that this is really a requirement people have and will wanna have in the "Pipeline Model" too. I think you should really prepare the "when" clause easy to be plugable.

          [1] https://wiki.jenkins-ci.org/display/JENKINS/Conditional+BuildStep+Plugin
          [2] https://wiki.jenkins-ci.org/display/JENKINS/Run+Condition+Plugin

          Dominik Bartholdi added a comment - just wanted to add my 2cents... and yes you probably not gonna like it... but in the "old world" there is a plugin called "Conditional BuildStep" [1] it uses an other plugin called "Run Condition" [2] which contains all the logic of the different conditions. If you look at these plugins, then you see, that this is really a requirement people have and will wanna have in the "Pipeline Model" too. I think you should really prepare the "when" clause easy to be plugable. [1] https://wiki.jenkins-ci.org/display/JENKINS/Conditional+BuildStep+Plugin [2] https://wiki.jenkins-ci.org/display/JENKINS/Run+Condition+Plugin

          rsandell added a comment -

          hrmpw What you said is what my example shows. The difference between my example and the others is that there are more than one conditional within the when block.

          rsandell added a comment - hrmpw What you said is what my example shows. The difference between my example and the others is that there are more than one conditional within the when block.

          Patrick Wolf added a comment -

          rsandell For some reason when I read your comment I read it as:

          branch "*/master"
          when {
            expression {
              "foo" == "boo"
            }
          }
          

          Not sure why I saw it like that.

          Patrick Wolf added a comment - rsandell For some reason when I read your comment I read it as: branch "*/master" when { expression { "foo" == "boo" } } Not sure why I saw it like that.

          Andrew Bayer added a comment -

          imod Strangely enough, rsandell and I are thinking pretty much exactly on those lines. =) Think of the elements inside when (i.e. branch or expression currently) as implementations of an extension point analogous to Run Condition. Since, well, they will be implementations of an extension point. =)

          That said, contributing from outside may end up being hairy depending on how complex they are, given parsing challenges, but we'll see what we can do.

          Andrew Bayer added a comment - imod Strangely enough, rsandell and I are thinking pretty much exactly on those lines. =) Think of the elements inside when (i.e. branch or expression currently) as implementations of an extension point analogous to Run Condition. Since, well, they will be implementations of an extension point. =) That said, contributing from outside may end up being hairy depending on how complex they are, given parsing challenges, but we'll see what we can do.

          Code changed in jenkins
          User: rsandell
          Path:
          pipeline-model-api/src/main/java/org/jenkinsci/plugins/pipeline/modeldefinition/ast/AbstractModelASTCodeBlock.java
          pipeline-model-api/src/main/java/org/jenkinsci/plugins/pipeline/modeldefinition/ast/ModelASTWhen.java
          pipeline-model-api/src/main/java/org/jenkinsci/plugins/pipeline/modeldefinition/ast/ModelASTWhenExpression.java
          pipeline-model-definition/src/main/groovy/org/jenkinsci/plugins/pipeline/modeldefinition/model/Stage.groovy
          pipeline-model-definition/src/main/groovy/org/jenkinsci/plugins/pipeline/modeldefinition/model/StageConditionals.groovy
          pipeline-model-definition/src/main/groovy/org/jenkinsci/plugins/pipeline/modeldefinition/parser/JSONParser.groovy
          pipeline-model-definition/src/main/groovy/org/jenkinsci/plugins/pipeline/modeldefinition/parser/ModelParser.groovy
          pipeline-model-definition/src/main/groovy/org/jenkinsci/plugins/pipeline/modeldefinition/validator/ModelValidatorImpl.groovy
          pipeline-model-definition/src/main/java/org/jenkinsci/plugins/pipeline/modeldefinition/when/DeclarativeStageConditional.java
          pipeline-model-definition/src/main/java/org/jenkinsci/plugins/pipeline/modeldefinition/when/DeclarativeStageConditionalDescriptor.java
          pipeline-model-definition/src/main/java/org/jenkinsci/plugins/pipeline/modeldefinition/when/impl/BranchConditional.java
          pipeline-model-definition/src/main/java/org/jenkinsci/plugins/pipeline/modeldefinition/when/impl/EnvironmentConditional.java
          pipeline-model-definition/src/main/resources/org/jenkinsci/plugins/pipeline/modeldefinition/ClosureModelTranslator.groovy
          pipeline-model-definition/src/main/resources/org/jenkinsci/plugins/pipeline/modeldefinition/Messages.properties
          pipeline-model-definition/src/main/resources/org/jenkinsci/plugins/pipeline/modeldefinition/ModelInterpreter.groovy
          pipeline-model-definition/src/main/resources/org/jenkinsci/plugins/pipeline/modeldefinition/StageConditionalTranslator.groovy
          http://jenkins-ci.org/commit/pipeline-model-definition-plugin/d28a97cfce8b8c611f174a1827d86f4138e53857
          Log:
          JENKINS-40370 Make stage.when more declarative

          SCM/JIRA link daemon added a comment - Code changed in jenkins User: rsandell Path: pipeline-model-api/src/main/java/org/jenkinsci/plugins/pipeline/modeldefinition/ast/AbstractModelASTCodeBlock.java pipeline-model-api/src/main/java/org/jenkinsci/plugins/pipeline/modeldefinition/ast/ModelASTWhen.java pipeline-model-api/src/main/java/org/jenkinsci/plugins/pipeline/modeldefinition/ast/ModelASTWhenExpression.java pipeline-model-definition/src/main/groovy/org/jenkinsci/plugins/pipeline/modeldefinition/model/Stage.groovy pipeline-model-definition/src/main/groovy/org/jenkinsci/plugins/pipeline/modeldefinition/model/StageConditionals.groovy pipeline-model-definition/src/main/groovy/org/jenkinsci/plugins/pipeline/modeldefinition/parser/JSONParser.groovy pipeline-model-definition/src/main/groovy/org/jenkinsci/plugins/pipeline/modeldefinition/parser/ModelParser.groovy pipeline-model-definition/src/main/groovy/org/jenkinsci/plugins/pipeline/modeldefinition/validator/ModelValidatorImpl.groovy pipeline-model-definition/src/main/java/org/jenkinsci/plugins/pipeline/modeldefinition/when/DeclarativeStageConditional.java pipeline-model-definition/src/main/java/org/jenkinsci/plugins/pipeline/modeldefinition/when/DeclarativeStageConditionalDescriptor.java pipeline-model-definition/src/main/java/org/jenkinsci/plugins/pipeline/modeldefinition/when/impl/BranchConditional.java pipeline-model-definition/src/main/java/org/jenkinsci/plugins/pipeline/modeldefinition/when/impl/EnvironmentConditional.java pipeline-model-definition/src/main/resources/org/jenkinsci/plugins/pipeline/modeldefinition/ClosureModelTranslator.groovy pipeline-model-definition/src/main/resources/org/jenkinsci/plugins/pipeline/modeldefinition/Messages.properties pipeline-model-definition/src/main/resources/org/jenkinsci/plugins/pipeline/modeldefinition/ModelInterpreter.groovy pipeline-model-definition/src/main/resources/org/jenkinsci/plugins/pipeline/modeldefinition/StageConditionalTranslator.groovy http://jenkins-ci.org/commit/pipeline-model-definition-plugin/d28a97cfce8b8c611f174a1827d86f4138e53857 Log: JENKINS-40370 Make stage.when more declarative

          Code changed in jenkins
          User: Andrew Bayer
          Path:
          SYNTAX.md
          pipeline-model-api/src/main/java/org/jenkinsci/plugins/pipeline/modeldefinition/ast/ModelASTMethodCall.java
          pipeline-model-api/src/main/java/org/jenkinsci/plugins/pipeline/modeldefinition/ast/ModelASTStep.java
          pipeline-model-api/src/main/resources/org/jenkinsci/plugins/pipeline/modeldefinition/ast/Messages.properties
          pipeline-model-definition/src/main/groovy/org/jenkinsci/plugins/pipeline/modeldefinition/model/conditions/Aborted.groovy
          pipeline-model-definition/src/main/groovy/org/jenkinsci/plugins/pipeline/modeldefinition/model/conditions/Always.groovy
          pipeline-model-definition/src/main/groovy/org/jenkinsci/plugins/pipeline/modeldefinition/model/conditions/Changed.groovy
          pipeline-model-definition/src/main/groovy/org/jenkinsci/plugins/pipeline/modeldefinition/model/conditions/Failure.groovy
          pipeline-model-definition/src/main/groovy/org/jenkinsci/plugins/pipeline/modeldefinition/model/conditions/Success.groovy
          pipeline-model-definition/src/main/groovy/org/jenkinsci/plugins/pipeline/modeldefinition/model/conditions/Unstable.groovy
          pipeline-model-definition/src/main/groovy/org/jenkinsci/plugins/pipeline/modeldefinition/parser/JSONParser.groovy
          pipeline-model-definition/src/main/groovy/org/jenkinsci/plugins/pipeline/modeldefinition/parser/ModelParser.groovy
          pipeline-model-definition/src/main/groovy/org/jenkinsci/plugins/pipeline/modeldefinition/parser/Parser.groovy
          pipeline-model-definition/src/main/groovy/org/jenkinsci/plugins/pipeline/modeldefinition/validator/ModelValidatorImpl.groovy
          pipeline-model-definition/src/main/java/org/jenkinsci/plugins/pipeline/modeldefinition/model/BuildCondition.java
          pipeline-model-definition/src/main/resources/org/jenkinsci/plugins/pipeline/modeldefinition/Messages.properties
          pipeline-model-definition/src/main/resources/org/jenkinsci/plugins/pipeline/modeldefinition/model/conditions/Messages.properties
          pipeline-model-definition/src/test/java/org/jenkinsci/plugins/pipeline/modeldefinition/AbstractModelDefTest.java
          pipeline-model-definition/src/test/java/org/jenkinsci/plugins/pipeline/modeldefinition/DeclarativeLinterCommandTest.java
          pipeline-model-definition/src/test/java/org/jenkinsci/plugins/pipeline/modeldefinition/ValidatorTest.java
          pipeline-model-definition/src/test/java/org/jenkinsci/plugins/pipeline/modeldefinition/WhenStageTest.java
          pipeline-model-definition/src/test/java/org/jenkinsci/plugins/pipeline/modeldefinition/endpoints/ModelConverterActionTest.java
          pipeline-model-definition/src/test/java/org/jenkinsci/plugins/pipeline/modeldefinition/parser/GroovyShellDecoratorImplTest.java
          pipeline-model-definition/src/test/java/org/jenkinsci/plugins/pipeline/modeldefinition/parser/ModelParserTest.java
          http://jenkins-ci.org/commit/pipeline-model-definition-plugin/221d6e800a36ac9980a099f71a7106a54191c97f
          Log:
          Merge branch 'master' into JENKINS-40370

          Conflicts:
          pipeline-model-definition/src/main/groovy/org/jenkinsci/plugins/pipeline/modeldefinition/validator/ModelValidatorImpl.groovy
          pipeline-model-definition/src/main/resources/org/jenkinsci/plugins/pipeline/modeldefinition/Messages.properties

          SCM/JIRA link daemon added a comment - Code changed in jenkins User: Andrew Bayer Path: SYNTAX.md pipeline-model-api/src/main/java/org/jenkinsci/plugins/pipeline/modeldefinition/ast/ModelASTMethodCall.java pipeline-model-api/src/main/java/org/jenkinsci/plugins/pipeline/modeldefinition/ast/ModelASTStep.java pipeline-model-api/src/main/resources/org/jenkinsci/plugins/pipeline/modeldefinition/ast/Messages.properties pipeline-model-definition/src/main/groovy/org/jenkinsci/plugins/pipeline/modeldefinition/model/conditions/Aborted.groovy pipeline-model-definition/src/main/groovy/org/jenkinsci/plugins/pipeline/modeldefinition/model/conditions/Always.groovy pipeline-model-definition/src/main/groovy/org/jenkinsci/plugins/pipeline/modeldefinition/model/conditions/Changed.groovy pipeline-model-definition/src/main/groovy/org/jenkinsci/plugins/pipeline/modeldefinition/model/conditions/Failure.groovy pipeline-model-definition/src/main/groovy/org/jenkinsci/plugins/pipeline/modeldefinition/model/conditions/Success.groovy pipeline-model-definition/src/main/groovy/org/jenkinsci/plugins/pipeline/modeldefinition/model/conditions/Unstable.groovy pipeline-model-definition/src/main/groovy/org/jenkinsci/plugins/pipeline/modeldefinition/parser/JSONParser.groovy pipeline-model-definition/src/main/groovy/org/jenkinsci/plugins/pipeline/modeldefinition/parser/ModelParser.groovy pipeline-model-definition/src/main/groovy/org/jenkinsci/plugins/pipeline/modeldefinition/parser/Parser.groovy pipeline-model-definition/src/main/groovy/org/jenkinsci/plugins/pipeline/modeldefinition/validator/ModelValidatorImpl.groovy pipeline-model-definition/src/main/java/org/jenkinsci/plugins/pipeline/modeldefinition/model/BuildCondition.java pipeline-model-definition/src/main/resources/org/jenkinsci/plugins/pipeline/modeldefinition/Messages.properties pipeline-model-definition/src/main/resources/org/jenkinsci/plugins/pipeline/modeldefinition/model/conditions/Messages.properties pipeline-model-definition/src/test/java/org/jenkinsci/plugins/pipeline/modeldefinition/AbstractModelDefTest.java pipeline-model-definition/src/test/java/org/jenkinsci/plugins/pipeline/modeldefinition/DeclarativeLinterCommandTest.java pipeline-model-definition/src/test/java/org/jenkinsci/plugins/pipeline/modeldefinition/ValidatorTest.java pipeline-model-definition/src/test/java/org/jenkinsci/plugins/pipeline/modeldefinition/WhenStageTest.java pipeline-model-definition/src/test/java/org/jenkinsci/plugins/pipeline/modeldefinition/endpoints/ModelConverterActionTest.java pipeline-model-definition/src/test/java/org/jenkinsci/plugins/pipeline/modeldefinition/parser/GroovyShellDecoratorImplTest.java pipeline-model-definition/src/test/java/org/jenkinsci/plugins/pipeline/modeldefinition/parser/ModelParserTest.java http://jenkins-ci.org/commit/pipeline-model-definition-plugin/221d6e800a36ac9980a099f71a7106a54191c97f Log: Merge branch 'master' into JENKINS-40370 Conflicts: pipeline-model-definition/src/main/groovy/org/jenkinsci/plugins/pipeline/modeldefinition/validator/ModelValidatorImpl.groovy pipeline-model-definition/src/main/resources/org/jenkinsci/plugins/pipeline/modeldefinition/Messages.properties

          Code changed in jenkins
          User: Andrew Bayer
          Path:
          pipeline-model-definition/pom.xml
          pipeline-model-definition/src/test/java/org/jenkinsci/plugins/pipeline/modeldefinition/BasicModelDefTest.java
          pipeline-model-definition/src/test/resources/booleanParamBuildStep.groovy
          http://jenkins-ci.org/commit/pipeline-model-definition-plugin/fb5dfb926469f00ae8c741b8d922a483df4d987f
          Log:
          Merge branch 'master' into JENKINS-40370

          SCM/JIRA link daemon added a comment - Code changed in jenkins User: Andrew Bayer Path: pipeline-model-definition/pom.xml pipeline-model-definition/src/test/java/org/jenkinsci/plugins/pipeline/modeldefinition/BasicModelDefTest.java pipeline-model-definition/src/test/resources/booleanParamBuildStep.groovy http://jenkins-ci.org/commit/pipeline-model-definition-plugin/fb5dfb926469f00ae8c741b8d922a483df4d987f Log: Merge branch 'master' into JENKINS-40370

          Andrew Bayer added a comment -

          Andrew Bayer added a comment - PR is up at https://github.com/jenkinsci/pipeline-model-definition-plugin/pull/78

          Code changed in jenkins
          User: Andrew Bayer
          Path:
          pipeline-model-api/src/main/java/org/jenkinsci/plugins/pipeline/modeldefinition/ast/ModelASTStage.java
          pipeline-model-definition/pom.xml
          pipeline-model-definition/src/main/groovy/org/jenkinsci/plugins/pipeline/modeldefinition/parser/Converter.groovy
          pipeline-model-definition/src/main/java/org/jenkinsci/plugins/pipeline/modeldefinition/parser/GroovyShellDecoratorImpl.java
          pipeline-model-definition/src/test/java/org/jenkinsci/plugins/pipeline/modeldefinition/AbstractModelDefTest.java
          pipeline-model-definition/src/test/java/org/jenkinsci/plugins/pipeline/modeldefinition/BasicModelDefTest.java
          pipeline-model-definition/src/test/resources/json/parallelPipelineQuoteEscaping.json
          pipeline-model-definition/src/test/resources/json/parallelPipelineWithSpaceInBranch.json
          pipeline-model-definition/src/test/resources/libraryAnnotation.groovy
          pipeline-model-definition/src/test/resources/parallelPipelineQuoteEscaping.groovy
          pipeline-model-definition/src/test/resources/parallelPipelineWithSpaceInBranch.groovy
          http://jenkins-ci.org/commit/pipeline-model-definition-plugin/96a34eda839c2436181a9f9889662256d187970f
          Log:
          Merge branch 'master' into JENKINS-40370

          Conflicts:
          pipeline-model-definition/src/test/java/org/jenkinsci/plugins/pipeline/modeldefinition/AbstractModelDefTest.java

          SCM/JIRA link daemon added a comment - Code changed in jenkins User: Andrew Bayer Path: pipeline-model-api/src/main/java/org/jenkinsci/plugins/pipeline/modeldefinition/ast/ModelASTStage.java pipeline-model-definition/pom.xml pipeline-model-definition/src/main/groovy/org/jenkinsci/plugins/pipeline/modeldefinition/parser/Converter.groovy pipeline-model-definition/src/main/java/org/jenkinsci/plugins/pipeline/modeldefinition/parser/GroovyShellDecoratorImpl.java pipeline-model-definition/src/test/java/org/jenkinsci/plugins/pipeline/modeldefinition/AbstractModelDefTest.java pipeline-model-definition/src/test/java/org/jenkinsci/plugins/pipeline/modeldefinition/BasicModelDefTest.java pipeline-model-definition/src/test/resources/json/parallelPipelineQuoteEscaping.json pipeline-model-definition/src/test/resources/json/parallelPipelineWithSpaceInBranch.json pipeline-model-definition/src/test/resources/libraryAnnotation.groovy pipeline-model-definition/src/test/resources/parallelPipelineQuoteEscaping.groovy pipeline-model-definition/src/test/resources/parallelPipelineWithSpaceInBranch.groovy http://jenkins-ci.org/commit/pipeline-model-definition-plugin/96a34eda839c2436181a9f9889662256d187970f Log: Merge branch 'master' into JENKINS-40370 Conflicts: pipeline-model-definition/src/test/java/org/jenkinsci/plugins/pipeline/modeldefinition/AbstractModelDefTest.java

          Code changed in jenkins
          User: Andrew Bayer
          Path:
          SYNTAX.md
          pipeline-model-api/src/main/java/org/jenkinsci/plugins/pipeline/modeldefinition/ast/ModelASTPipelineDef.java
          pipeline-model-api/src/main/java/org/jenkinsci/plugins/pipeline/modeldefinition/ast/ModelASTWrapper.java
          pipeline-model-api/src/main/java/org/jenkinsci/plugins/pipeline/modeldefinition/ast/ModelASTWrappers.java
          pipeline-model-api/src/main/java/org/jenkinsci/plugins/pipeline/modeldefinition/validator/ModelValidator.java
          pipeline-model-api/src/main/resources/ast-schema.json
          pipeline-model-definition/src/main/groovy/org/jenkinsci/plugins/pipeline/modeldefinition/Utils.groovy
          pipeline-model-definition/src/main/groovy/org/jenkinsci/plugins/pipeline/modeldefinition/model/Options.groovy
          pipeline-model-definition/src/main/groovy/org/jenkinsci/plugins/pipeline/modeldefinition/model/Root.groovy
          pipeline-model-definition/src/main/groovy/org/jenkinsci/plugins/pipeline/modeldefinition/model/Wrappers.groovy
          pipeline-model-definition/src/main/groovy/org/jenkinsci/plugins/pipeline/modeldefinition/model/WrappersToMap.groovy
          pipeline-model-definition/src/main/groovy/org/jenkinsci/plugins/pipeline/modeldefinition/parser/JSONParser.groovy
          pipeline-model-definition/src/main/groovy/org/jenkinsci/plugins/pipeline/modeldefinition/parser/ModelParser.groovy
          pipeline-model-definition/src/main/groovy/org/jenkinsci/plugins/pipeline/modeldefinition/validator/ModelValidatorImpl.groovy
          pipeline-model-definition/src/main/resources/org/jenkinsci/plugins/pipeline/modeldefinition/ClosureModelTranslator.groovy
          pipeline-model-definition/src/main/resources/org/jenkinsci/plugins/pipeline/modeldefinition/Messages.properties
          pipeline-model-definition/src/main/resources/org/jenkinsci/plugins/pipeline/modeldefinition/ModelInterpreter.groovy
          pipeline-model-definition/src/main/resources/org/jenkinsci/plugins/pipeline/modeldefinition/OptionsTranslator.groovy
          pipeline-model-definition/src/main/resources/org/jenkinsci/plugins/pipeline/modeldefinition/WrappersToMapTranslator.groovy
          pipeline-model-definition/src/test/java/org/jenkinsci/plugins/pipeline/modeldefinition/AbstractModelDefTest.java
          pipeline-model-definition/src/test/java/org/jenkinsci/plugins/pipeline/modeldefinition/OptionsTest.java
          pipeline-model-definition/src/test/java/org/jenkinsci/plugins/pipeline/modeldefinition/ValidatorTest.java
          pipeline-model-definition/src/test/java/org/jenkinsci/plugins/pipeline/modeldefinition/WrappersTest.java
          pipeline-model-definition/src/test/resources/errors/invalidWrapperType.groovy
          pipeline-model-definition/src/test/resources/json/errors/invalidWrapperType.json
          pipeline-model-definition/src/test/resources/json/multipleWrappers.json
          pipeline-model-definition/src/test/resources/json/simpleWrapper.json
          pipeline-model-definition/src/test/resources/multipleProperties.groovy
          pipeline-model-definition/src/test/resources/multipleWrappers.groovy
          pipeline-model-definition/src/test/resources/simpleWrapper.groovy
          http://jenkins-ci.org/commit/pipeline-model-definition-plugin/729dfabcd270c25f0ceaadfd012c019f8da70e74
          Log:
          Merge branch 'master' into JENKINS-40370

          Conflicts:
          pipeline-model-api/src/main/java/org/jenkinsci/plugins/pipeline/modeldefinition/validator/ModelValidator.java
          pipeline-model-definition/src/main/groovy/org/jenkinsci/plugins/pipeline/modeldefinition/validator/ModelValidatorImpl.groovy
          pipeline-model-definition/src/test/java/org/jenkinsci/plugins/pipeline/modeldefinition/ValidatorTest.java

          SCM/JIRA link daemon added a comment - Code changed in jenkins User: Andrew Bayer Path: SYNTAX.md pipeline-model-api/src/main/java/org/jenkinsci/plugins/pipeline/modeldefinition/ast/ModelASTPipelineDef.java pipeline-model-api/src/main/java/org/jenkinsci/plugins/pipeline/modeldefinition/ast/ModelASTWrapper.java pipeline-model-api/src/main/java/org/jenkinsci/plugins/pipeline/modeldefinition/ast/ModelASTWrappers.java pipeline-model-api/src/main/java/org/jenkinsci/plugins/pipeline/modeldefinition/validator/ModelValidator.java pipeline-model-api/src/main/resources/ast-schema.json pipeline-model-definition/src/main/groovy/org/jenkinsci/plugins/pipeline/modeldefinition/Utils.groovy pipeline-model-definition/src/main/groovy/org/jenkinsci/plugins/pipeline/modeldefinition/model/Options.groovy pipeline-model-definition/src/main/groovy/org/jenkinsci/plugins/pipeline/modeldefinition/model/Root.groovy pipeline-model-definition/src/main/groovy/org/jenkinsci/plugins/pipeline/modeldefinition/model/Wrappers.groovy pipeline-model-definition/src/main/groovy/org/jenkinsci/plugins/pipeline/modeldefinition/model/WrappersToMap.groovy pipeline-model-definition/src/main/groovy/org/jenkinsci/plugins/pipeline/modeldefinition/parser/JSONParser.groovy pipeline-model-definition/src/main/groovy/org/jenkinsci/plugins/pipeline/modeldefinition/parser/ModelParser.groovy pipeline-model-definition/src/main/groovy/org/jenkinsci/plugins/pipeline/modeldefinition/validator/ModelValidatorImpl.groovy pipeline-model-definition/src/main/resources/org/jenkinsci/plugins/pipeline/modeldefinition/ClosureModelTranslator.groovy pipeline-model-definition/src/main/resources/org/jenkinsci/plugins/pipeline/modeldefinition/Messages.properties pipeline-model-definition/src/main/resources/org/jenkinsci/plugins/pipeline/modeldefinition/ModelInterpreter.groovy pipeline-model-definition/src/main/resources/org/jenkinsci/plugins/pipeline/modeldefinition/OptionsTranslator.groovy pipeline-model-definition/src/main/resources/org/jenkinsci/plugins/pipeline/modeldefinition/WrappersToMapTranslator.groovy pipeline-model-definition/src/test/java/org/jenkinsci/plugins/pipeline/modeldefinition/AbstractModelDefTest.java pipeline-model-definition/src/test/java/org/jenkinsci/plugins/pipeline/modeldefinition/OptionsTest.java pipeline-model-definition/src/test/java/org/jenkinsci/plugins/pipeline/modeldefinition/ValidatorTest.java pipeline-model-definition/src/test/java/org/jenkinsci/plugins/pipeline/modeldefinition/WrappersTest.java pipeline-model-definition/src/test/resources/errors/invalidWrapperType.groovy pipeline-model-definition/src/test/resources/json/errors/invalidWrapperType.json pipeline-model-definition/src/test/resources/json/multipleWrappers.json pipeline-model-definition/src/test/resources/json/simpleWrapper.json pipeline-model-definition/src/test/resources/multipleProperties.groovy pipeline-model-definition/src/test/resources/multipleWrappers.groovy pipeline-model-definition/src/test/resources/simpleWrapper.groovy http://jenkins-ci.org/commit/pipeline-model-definition-plugin/729dfabcd270c25f0ceaadfd012c019f8da70e74 Log: Merge branch 'master' into JENKINS-40370 Conflicts: pipeline-model-api/src/main/java/org/jenkinsci/plugins/pipeline/modeldefinition/validator/ModelValidator.java pipeline-model-definition/src/main/groovy/org/jenkinsci/plugins/pipeline/modeldefinition/validator/ModelValidatorImpl.groovy pipeline-model-definition/src/test/java/org/jenkinsci/plugins/pipeline/modeldefinition/ValidatorTest.java

          Code changed in jenkins
          User: Andrew Bayer
          Path:
          SYNTAX.md
          pipeline-model-api/src/main/java/org/jenkinsci/plugins/pipeline/modeldefinition/ast/ModelASTAgent.java
          pipeline-model-api/src/main/java/org/jenkinsci/plugins/pipeline/modeldefinition/ast/ModelASTClosureMap.java
          pipeline-model-api/src/main/java/org/jenkinsci/plugins/pipeline/modeldefinition/validator/ModelValidator.java
          pipeline-model-api/src/main/resources/ast-schema.json
          pipeline-model-declarative-agent/src/main/java/org/jenkinsci/plugins/pipeline/modeldefinition/agent/DeclarativeAgentDescriptor.java
          pipeline-model-definition/src/main/groovy/org/jenkinsci/plugins/pipeline/modeldefinition/model/Agent.groovy
          pipeline-model-definition/src/main/groovy/org/jenkinsci/plugins/pipeline/modeldefinition/model/Root.groovy
          pipeline-model-definition/src/main/groovy/org/jenkinsci/plugins/pipeline/modeldefinition/model/Stage.groovy
          pipeline-model-definition/src/main/groovy/org/jenkinsci/plugins/pipeline/modeldefinition/parser/JSONParser.groovy
          pipeline-model-definition/src/main/groovy/org/jenkinsci/plugins/pipeline/modeldefinition/parser/ModelParser.groovy
          pipeline-model-definition/src/main/groovy/org/jenkinsci/plugins/pipeline/modeldefinition/validator/ModelValidatorImpl.groovy
          pipeline-model-definition/src/main/java/org/jenkinsci/plugins/pipeline/modeldefinition/agent/impl/DockerPipeline.java
          pipeline-model-definition/src/main/java/org/jenkinsci/plugins/pipeline/modeldefinition/agent/impl/DockerPipelineFromDockerfile.java
          pipeline-model-definition/src/main/resources/org/jenkinsci/plugins/pipeline/modeldefinition/ClosureModelTranslator.groovy
          pipeline-model-definition/src/main/resources/org/jenkinsci/plugins/pipeline/modeldefinition/Messages.properties
          pipeline-model-definition/src/main/resources/org/jenkinsci/plugins/pipeline/modeldefinition/ModelInterpreter.groovy
          pipeline-model-definition/src/main/resources/org/jenkinsci/plugins/pipeline/modeldefinition/agent/impl/DockerPipelineFromDockerfileScript.groovy
          pipeline-model-definition/src/main/resources/org/jenkinsci/plugins/pipeline/modeldefinition/agent/impl/DockerPipelineScript.groovy
          pipeline-model-definition/src/main/resources/org/jenkinsci/plugins/pipeline/modeldefinition/config/FolderConfig/help-dockerLabel.html
          pipeline-model-definition/src/main/resources/org/jenkinsci/plugins/pipeline/modeldefinition/config/GlobalConfig/help-dockerLabel.html
          pipeline-model-definition/src/test/java/org/jenkinsci/plugins/pipeline/modeldefinition/AbstractModelDefTest.java
          pipeline-model-definition/src/test/java/org/jenkinsci/plugins/pipeline/modeldefinition/AgentTest.java
          pipeline-model-definition/src/test/java/org/jenkinsci/plugins/pipeline/modeldefinition/BasicModelDefTest.java
          pipeline-model-definition/src/test/java/org/jenkinsci/plugins/pipeline/modeldefinition/DurabilityTest.java
          pipeline-model-definition/src/test/java/org/jenkinsci/plugins/pipeline/modeldefinition/ValidatorTest.java
          pipeline-model-definition/src/test/resources/agentDocker.groovy
          pipeline-model-definition/src/test/resources/agentDockerEnvSpecLabel.groovy
          pipeline-model-definition/src/test/resources/agentDockerEnvTest.groovy
          pipeline-model-definition/src/test/resources/agentDockerWithEmptyDockerArgs.groovy
          pipeline-model-definition/src/test/resources/agentDockerWithNullDockerArgs.groovy
          pipeline-model-definition/src/test/resources/agentLabel.groovy
          pipeline-model-definition/src/test/resources/agentTypeOrdering.groovy
          pipeline-model-definition/src/test/resources/buildPluginParentPOM.groovy
          pipeline-model-definition/src/test/resources/dockerGlobalVariable.groovy
          pipeline-model-definition/src/test/resources/dockerGlobalVariableInScript.groovy
          pipeline-model-definition/src/test/resources/environmentInStage.groovy
          pipeline-model-definition/src/test/resources/errors/agentMissingRequiredParam.groovy
          pipeline-model-definition/src/test/resources/errors/agentUnknownParamForType.groovy
          pipeline-model-definition/src/test/resources/errors/duplicateEnvironment.groovy
          pipeline-model-definition/src/test/resources/errors/emptyEnvironment.groovy
          pipeline-model-definition/src/test/resources/errors/globalLibraryNonStepBody.groovy
          pipeline-model-definition/src/test/resources/errors/globalLibraryObjectMethodCall.groovy
          pipeline-model-definition/src/test/resources/errors/invalidMetaStepSyntax.groovy
          pipeline-model-definition/src/test/resources/errors/multipleAgentTypes.groovy
          pipeline-model-definition/src/test/resources/errors/notInstalledToolVersion.groovy
          pipeline-model-definition/src/test/resources/errors/perStageConfigEmptySteps.groovy
          pipeline-model-definition/src/test/resources/errors/perStageConfigMissingSteps.groovy
          pipeline-model-definition/src/test/resources/errors/perStageConfigUnknownSection.groovy
          pipeline-model-definition/src/test/resources/errors/unknownAgentType.groovy
          pipeline-model-definition/src/test/resources/errors/unlistedToolType.groovy
          pipeline-model-definition/src/test/resources/failureBeforeStages.groovy
          pipeline-model-definition/src/test/resources/fromAlternateDockerfile.groovy
          pipeline-model-definition/src/test/resources/fromDockerfile.groovy
          pipeline-model-definition/src/test/resources/fromDockerfileNoArgs.groovy
          pipeline-model-definition/src/test/resources/globalLibrarySuccess.groovy
          pipeline-model-definition/src/test/resources/globalLibrarySuccessInScript.groovy
          pipeline-model-definition/src/test/resources/json/agentAny.json
          pipeline-model-definition/src/test/resources/json/agentDocker.json
          pipeline-model-definition/src/test/resources/json/agentLabel.json
          pipeline-model-definition/src/test/resources/json/agentNoneWithNode.json
          pipeline-model-definition/src/test/resources/json/agentTypeOrdering.json
          pipeline-model-definition/src/test/resources/json/basicWhen.json
          pipeline-model-definition/src/test/resources/json/environmentInStage.json
          pipeline-model-definition/src/test/resources/json/errors/agentMissingRequiredParam.json
          pipeline-model-definition/src/test/resources/json/errors/agentUnknownParamForType.json
          pipeline-model-definition/src/test/resources/json/errors/emptyEnvironment.json
          pipeline-model-definition/src/test/resources/json/errors/emptyJobProperties.json
          pipeline-model-definition/src/test/resources/json/errors/emptyParallel.json
          pipeline-model-definition/src/test/resources/json/errors/emptyParameters.json
          pipeline-model-definition/src/test/resources/json/errors/emptyPostBuild.json
          pipeline-model-definition/src/test/resources/json/errors/emptyStages.json
          pipeline-model-definition/src/test/resources/json/errors/emptyTriggers.json
          pipeline-model-definition/src/test/resources/json/errors/invalidBuildCondition.json
          pipeline-model-definition/src/test/resources/json/errors/invalidParameterTypeMethodCall.json
          pipeline-model-definition/src/test/resources/json/errors/invalidWrapperType.json
          pipeline-model-definition/src/test/resources/json/errors/malformed.json
          pipeline-model-definition/src/test/resources/json/errors/missingAgent.json
          pipeline-model-definition/src/test/resources/json/errors/missingRequiredMethodCallArg.json
          pipeline-model-definition/src/test/resources/json/errors/missingRequiredStepParameters.json
          pipeline-model-definition/src/test/resources/json/errors/missingStages.json
          pipeline-model-definition/src/test/resources/json/errors/mixedMethodArgs.json
          pipeline-model-definition/src/test/resources/json/errors/notInstalledToolType.json
          pipeline-model-definition/src/test/resources/json/errors/notInstalledToolVersion.json
          pipeline-model-definition/src/test/resources/json/errors/notificationsSectionRemoved.json
          pipeline-model-definition/src/test/resources/json/errors/perStageConfigEmptySteps.json
          pipeline-model-definition/src/test/resources/json/errors/perStageConfigMissingSteps.json
          pipeline-model-definition/src/test/resources/json/errors/perStageConfigUnknownSection.json
          pipeline-model-definition/src/test/resources/json/errors/rejectParallelMixedInSteps.json
          pipeline-model-definition/src/test/resources/json/errors/rejectPropertiesStepInMethodCall.json
          pipeline-model-definition/src/test/resources/json/errors/rejectStageInSteps.json
          pipeline-model-definition/src/test/resources/json/errors/stageWithoutName.json
          pipeline-model-definition/src/test/resources/json/errors/unknownAgentType.json
          pipeline-model-definition/src/test/resources/json/errors/unknownBareAgentType.json
          pipeline-model-definition/src/test/resources/json/errors/unknownStepParameter.json
          pipeline-model-definition/src/test/resources/json/errors/unlistedToolType.json
          pipeline-model-definition/src/test/resources/json/errors/wrongParameterNameMethodCall.json
          pipeline-model-definition/src/test/resources/json/globalLibrarySuccess.json
          pipeline-model-definition/src/test/resources/json/legacyMetaStepSyntax.json
          pipeline-model-definition/src/test/resources/json/metaStepSyntax.json
          pipeline-model-definition/src/test/resources/json/multipleVariablesForAgent.json
          pipeline-model-definition/src/test/resources/json/multipleWrappers.json
          pipeline-model-definition/src/test/resources/json/parallelPipeline.json
          pipeline-model-definition/src/test/resources/json/parallelPipelineQuoteEscaping.json
          pipeline-model-definition/src/test/resources/json/parallelPipelineWithFailFast.json
          pipeline-model-definition/src/test/resources/json/parallelPipelineWithSpaceInBranch.json
          pipeline-model-definition/src/test/resources/json/perStageConfigAgent.json
          pipeline-model-definition/src/test/resources/json/simpleEnvironment.json
          pipeline-model-definition/src/test/resources/json/simpleJobProperties.json
          pipeline-model-definition/src/test/resources/json/simpleParameters.json
          pipeline-model-definition/src/test/resources/json/simplePipeline.json
          pipeline-model-definition/src/test/resources/json/simplePostBuild.json
          pipeline-model-definition/src/test/resources/json/simpleScript.json
          pipeline-model-definition/src/test/resources/json/simpleTools.json
          pipeline-model-definition/src/test/resources/json/simpleTriggers.json
          pipeline-model-definition/src/test/resources/json/simpleWrapper.json
          pipeline-model-definition/src/test/resources/json/skippedWhen.json
          pipeline-model-definition/src/test/resources/json/stringsNeedingEscapeLogic.json
          pipeline-model-definition/src/test/resources/json/toolsInStage.json
          pipeline-model-definition/src/test/resources/json/twoStagePipeline.json
          pipeline-model-definition/src/test/resources/json/validStepParameters.json
          pipeline-model-definition/src/test/resources/legacyMetaStepSyntax.groovy
          pipeline-model-definition/src/test/resources/libraryObjectInScript.groovy
          pipeline-model-definition/src/test/resources/libraryObjectOutsideScript.groovy
          pipeline-model-definition/src/test/resources/metaStepSyntax.groovy
          pipeline-model-definition/src/test/resources/multipleVariablesForAgent.groovy
          pipeline-model-definition/src/test/resources/noCheckoutScmInWrongContext.groovy
          pipeline-model-definition/src/test/resources/nonLiteralEnvironment.groovy
          pipeline-model-definition/src/test/resources/perStageConfigAgent.groovy
          pipeline-model-definition/src/test/resources/postStage/localAll.groovy
          pipeline-model-definition/src/test/resources/simpleEnvironment.groovy
          pipeline-model-definition/src/test/resources/simpleTools.groovy
          pipeline-model-definition/src/test/resources/toolsInStage.groovy
          pipeline-model-definition/src/test/resources/when/simpleWhen.groovy
          pipeline-model-definition/src/test/resources/when/whenEmpty.groovy
          pipeline-model-definition/src/test/resources/when/whenException.groovy
          http://jenkins-ci.org/commit/pipeline-model-definition-plugin/528818f7948d6f5fd1cfa38fb5b102dbb37ecac5
          Log:
          Merge branch 'master' into JENKINS-40370

          Conflicts:
          pipeline-model-definition/src/main/resources/org/jenkinsci/plugins/pipeline/modeldefinition/Messages.properties
          pipeline-model-definition/src/main/resources/org/jenkinsci/plugins/pipeline/modeldefinition/agent/impl/DockerPipelineFromDockerfileScript.groovy
          pipeline-model-definition/src/main/resources/org/jenkinsci/plugins/pipeline/modeldefinition/agent/impl/DockerPipelineScript.groovy

          SCM/JIRA link daemon added a comment - Code changed in jenkins User: Andrew Bayer Path: SYNTAX.md pipeline-model-api/src/main/java/org/jenkinsci/plugins/pipeline/modeldefinition/ast/ModelASTAgent.java pipeline-model-api/src/main/java/org/jenkinsci/plugins/pipeline/modeldefinition/ast/ModelASTClosureMap.java pipeline-model-api/src/main/java/org/jenkinsci/plugins/pipeline/modeldefinition/validator/ModelValidator.java pipeline-model-api/src/main/resources/ast-schema.json pipeline-model-declarative-agent/src/main/java/org/jenkinsci/plugins/pipeline/modeldefinition/agent/DeclarativeAgentDescriptor.java pipeline-model-definition/src/main/groovy/org/jenkinsci/plugins/pipeline/modeldefinition/model/Agent.groovy pipeline-model-definition/src/main/groovy/org/jenkinsci/plugins/pipeline/modeldefinition/model/Root.groovy pipeline-model-definition/src/main/groovy/org/jenkinsci/plugins/pipeline/modeldefinition/model/Stage.groovy pipeline-model-definition/src/main/groovy/org/jenkinsci/plugins/pipeline/modeldefinition/parser/JSONParser.groovy pipeline-model-definition/src/main/groovy/org/jenkinsci/plugins/pipeline/modeldefinition/parser/ModelParser.groovy pipeline-model-definition/src/main/groovy/org/jenkinsci/plugins/pipeline/modeldefinition/validator/ModelValidatorImpl.groovy pipeline-model-definition/src/main/java/org/jenkinsci/plugins/pipeline/modeldefinition/agent/impl/DockerPipeline.java pipeline-model-definition/src/main/java/org/jenkinsci/plugins/pipeline/modeldefinition/agent/impl/DockerPipelineFromDockerfile.java pipeline-model-definition/src/main/resources/org/jenkinsci/plugins/pipeline/modeldefinition/ClosureModelTranslator.groovy pipeline-model-definition/src/main/resources/org/jenkinsci/plugins/pipeline/modeldefinition/Messages.properties pipeline-model-definition/src/main/resources/org/jenkinsci/plugins/pipeline/modeldefinition/ModelInterpreter.groovy pipeline-model-definition/src/main/resources/org/jenkinsci/plugins/pipeline/modeldefinition/agent/impl/DockerPipelineFromDockerfileScript.groovy pipeline-model-definition/src/main/resources/org/jenkinsci/plugins/pipeline/modeldefinition/agent/impl/DockerPipelineScript.groovy pipeline-model-definition/src/main/resources/org/jenkinsci/plugins/pipeline/modeldefinition/config/FolderConfig/help-dockerLabel.html pipeline-model-definition/src/main/resources/org/jenkinsci/plugins/pipeline/modeldefinition/config/GlobalConfig/help-dockerLabel.html pipeline-model-definition/src/test/java/org/jenkinsci/plugins/pipeline/modeldefinition/AbstractModelDefTest.java pipeline-model-definition/src/test/java/org/jenkinsci/plugins/pipeline/modeldefinition/AgentTest.java pipeline-model-definition/src/test/java/org/jenkinsci/plugins/pipeline/modeldefinition/BasicModelDefTest.java pipeline-model-definition/src/test/java/org/jenkinsci/plugins/pipeline/modeldefinition/DurabilityTest.java pipeline-model-definition/src/test/java/org/jenkinsci/plugins/pipeline/modeldefinition/ValidatorTest.java pipeline-model-definition/src/test/resources/agentDocker.groovy pipeline-model-definition/src/test/resources/agentDockerEnvSpecLabel.groovy pipeline-model-definition/src/test/resources/agentDockerEnvTest.groovy pipeline-model-definition/src/test/resources/agentDockerWithEmptyDockerArgs.groovy pipeline-model-definition/src/test/resources/agentDockerWithNullDockerArgs.groovy pipeline-model-definition/src/test/resources/agentLabel.groovy pipeline-model-definition/src/test/resources/agentTypeOrdering.groovy pipeline-model-definition/src/test/resources/buildPluginParentPOM.groovy pipeline-model-definition/src/test/resources/dockerGlobalVariable.groovy pipeline-model-definition/src/test/resources/dockerGlobalVariableInScript.groovy pipeline-model-definition/src/test/resources/environmentInStage.groovy pipeline-model-definition/src/test/resources/errors/agentMissingRequiredParam.groovy pipeline-model-definition/src/test/resources/errors/agentUnknownParamForType.groovy pipeline-model-definition/src/test/resources/errors/duplicateEnvironment.groovy pipeline-model-definition/src/test/resources/errors/emptyEnvironment.groovy pipeline-model-definition/src/test/resources/errors/globalLibraryNonStepBody.groovy pipeline-model-definition/src/test/resources/errors/globalLibraryObjectMethodCall.groovy pipeline-model-definition/src/test/resources/errors/invalidMetaStepSyntax.groovy pipeline-model-definition/src/test/resources/errors/multipleAgentTypes.groovy pipeline-model-definition/src/test/resources/errors/notInstalledToolVersion.groovy pipeline-model-definition/src/test/resources/errors/perStageConfigEmptySteps.groovy pipeline-model-definition/src/test/resources/errors/perStageConfigMissingSteps.groovy pipeline-model-definition/src/test/resources/errors/perStageConfigUnknownSection.groovy pipeline-model-definition/src/test/resources/errors/unknownAgentType.groovy pipeline-model-definition/src/test/resources/errors/unlistedToolType.groovy pipeline-model-definition/src/test/resources/failureBeforeStages.groovy pipeline-model-definition/src/test/resources/fromAlternateDockerfile.groovy pipeline-model-definition/src/test/resources/fromDockerfile.groovy pipeline-model-definition/src/test/resources/fromDockerfileNoArgs.groovy pipeline-model-definition/src/test/resources/globalLibrarySuccess.groovy pipeline-model-definition/src/test/resources/globalLibrarySuccessInScript.groovy pipeline-model-definition/src/test/resources/json/agentAny.json pipeline-model-definition/src/test/resources/json/agentDocker.json pipeline-model-definition/src/test/resources/json/agentLabel.json pipeline-model-definition/src/test/resources/json/agentNoneWithNode.json pipeline-model-definition/src/test/resources/json/agentTypeOrdering.json pipeline-model-definition/src/test/resources/json/basicWhen.json pipeline-model-definition/src/test/resources/json/environmentInStage.json pipeline-model-definition/src/test/resources/json/errors/agentMissingRequiredParam.json pipeline-model-definition/src/test/resources/json/errors/agentUnknownParamForType.json pipeline-model-definition/src/test/resources/json/errors/emptyEnvironment.json pipeline-model-definition/src/test/resources/json/errors/emptyJobProperties.json pipeline-model-definition/src/test/resources/json/errors/emptyParallel.json pipeline-model-definition/src/test/resources/json/errors/emptyParameters.json pipeline-model-definition/src/test/resources/json/errors/emptyPostBuild.json pipeline-model-definition/src/test/resources/json/errors/emptyStages.json pipeline-model-definition/src/test/resources/json/errors/emptyTriggers.json pipeline-model-definition/src/test/resources/json/errors/invalidBuildCondition.json pipeline-model-definition/src/test/resources/json/errors/invalidParameterTypeMethodCall.json pipeline-model-definition/src/test/resources/json/errors/invalidWrapperType.json pipeline-model-definition/src/test/resources/json/errors/malformed.json pipeline-model-definition/src/test/resources/json/errors/missingAgent.json pipeline-model-definition/src/test/resources/json/errors/missingRequiredMethodCallArg.json pipeline-model-definition/src/test/resources/json/errors/missingRequiredStepParameters.json pipeline-model-definition/src/test/resources/json/errors/missingStages.json pipeline-model-definition/src/test/resources/json/errors/mixedMethodArgs.json pipeline-model-definition/src/test/resources/json/errors/notInstalledToolType.json pipeline-model-definition/src/test/resources/json/errors/notInstalledToolVersion.json pipeline-model-definition/src/test/resources/json/errors/notificationsSectionRemoved.json pipeline-model-definition/src/test/resources/json/errors/perStageConfigEmptySteps.json pipeline-model-definition/src/test/resources/json/errors/perStageConfigMissingSteps.json pipeline-model-definition/src/test/resources/json/errors/perStageConfigUnknownSection.json pipeline-model-definition/src/test/resources/json/errors/rejectParallelMixedInSteps.json pipeline-model-definition/src/test/resources/json/errors/rejectPropertiesStepInMethodCall.json pipeline-model-definition/src/test/resources/json/errors/rejectStageInSteps.json pipeline-model-definition/src/test/resources/json/errors/stageWithoutName.json pipeline-model-definition/src/test/resources/json/errors/unknownAgentType.json pipeline-model-definition/src/test/resources/json/errors/unknownBareAgentType.json pipeline-model-definition/src/test/resources/json/errors/unknownStepParameter.json pipeline-model-definition/src/test/resources/json/errors/unlistedToolType.json pipeline-model-definition/src/test/resources/json/errors/wrongParameterNameMethodCall.json pipeline-model-definition/src/test/resources/json/globalLibrarySuccess.json pipeline-model-definition/src/test/resources/json/legacyMetaStepSyntax.json pipeline-model-definition/src/test/resources/json/metaStepSyntax.json pipeline-model-definition/src/test/resources/json/multipleVariablesForAgent.json pipeline-model-definition/src/test/resources/json/multipleWrappers.json pipeline-model-definition/src/test/resources/json/parallelPipeline.json pipeline-model-definition/src/test/resources/json/parallelPipelineQuoteEscaping.json pipeline-model-definition/src/test/resources/json/parallelPipelineWithFailFast.json pipeline-model-definition/src/test/resources/json/parallelPipelineWithSpaceInBranch.json pipeline-model-definition/src/test/resources/json/perStageConfigAgent.json pipeline-model-definition/src/test/resources/json/simpleEnvironment.json pipeline-model-definition/src/test/resources/json/simpleJobProperties.json pipeline-model-definition/src/test/resources/json/simpleParameters.json pipeline-model-definition/src/test/resources/json/simplePipeline.json pipeline-model-definition/src/test/resources/json/simplePostBuild.json pipeline-model-definition/src/test/resources/json/simpleScript.json pipeline-model-definition/src/test/resources/json/simpleTools.json pipeline-model-definition/src/test/resources/json/simpleTriggers.json pipeline-model-definition/src/test/resources/json/simpleWrapper.json pipeline-model-definition/src/test/resources/json/skippedWhen.json pipeline-model-definition/src/test/resources/json/stringsNeedingEscapeLogic.json pipeline-model-definition/src/test/resources/json/toolsInStage.json pipeline-model-definition/src/test/resources/json/twoStagePipeline.json pipeline-model-definition/src/test/resources/json/validStepParameters.json pipeline-model-definition/src/test/resources/legacyMetaStepSyntax.groovy pipeline-model-definition/src/test/resources/libraryObjectInScript.groovy pipeline-model-definition/src/test/resources/libraryObjectOutsideScript.groovy pipeline-model-definition/src/test/resources/metaStepSyntax.groovy pipeline-model-definition/src/test/resources/multipleVariablesForAgent.groovy pipeline-model-definition/src/test/resources/noCheckoutScmInWrongContext.groovy pipeline-model-definition/src/test/resources/nonLiteralEnvironment.groovy pipeline-model-definition/src/test/resources/perStageConfigAgent.groovy pipeline-model-definition/src/test/resources/postStage/localAll.groovy pipeline-model-definition/src/test/resources/simpleEnvironment.groovy pipeline-model-definition/src/test/resources/simpleTools.groovy pipeline-model-definition/src/test/resources/toolsInStage.groovy pipeline-model-definition/src/test/resources/when/simpleWhen.groovy pipeline-model-definition/src/test/resources/when/whenEmpty.groovy pipeline-model-definition/src/test/resources/when/whenException.groovy http://jenkins-ci.org/commit/pipeline-model-definition-plugin/528818f7948d6f5fd1cfa38fb5b102dbb37ecac5 Log: Merge branch 'master' into JENKINS-40370 Conflicts: pipeline-model-definition/src/main/resources/org/jenkinsci/plugins/pipeline/modeldefinition/Messages.properties pipeline-model-definition/src/main/resources/org/jenkinsci/plugins/pipeline/modeldefinition/agent/impl/DockerPipelineFromDockerfileScript.groovy pipeline-model-definition/src/main/resources/org/jenkinsci/plugins/pipeline/modeldefinition/agent/impl/DockerPipelineScript.groovy

          Code changed in jenkins
          User: Andrew Bayer
          Path:
          SYNTAX.md
          pipeline-model-api/src/main/java/org/jenkinsci/plugins/pipeline/modeldefinition/ast/AbstractModelASTCodeBlock.java
          pipeline-model-api/src/main/java/org/jenkinsci/plugins/pipeline/modeldefinition/ast/ModelASTWhen.java
          pipeline-model-api/src/main/java/org/jenkinsci/plugins/pipeline/modeldefinition/ast/ModelASTWhenExpression.java
          pipeline-model-api/src/main/java/org/jenkinsci/plugins/pipeline/modeldefinition/validator/ModelValidator.java
          pipeline-model-api/src/main/resources/ast-schema.json
          pipeline-model-declarative-agent/src/main/java/org/jenkinsci/plugins/pipeline/modeldefinition/agent/DeclarativeAgent.java
          pipeline-model-declarative-agent/src/main/java/org/jenkinsci/plugins/pipeline/modeldefinition/agent/DeclarativeAgentDescriptor.java
          pipeline-model-declarative-agent/src/main/java/org/jenkinsci/plugins/pipeline/modeldefinition/agent/DeclarativeAgentScript.java
          pipeline-model-declarative-agent/src/main/java/org/jenkinsci/plugins/pipeline/modeldefinition/withscript/WithScriptDescribable.java
          pipeline-model-declarative-agent/src/main/java/org/jenkinsci/plugins/pipeline/modeldefinition/withscript/WithScriptDescriptor.java
          pipeline-model-declarative-agent/src/main/java/org/jenkinsci/plugins/pipeline/modeldefinition/withscript/WithScriptScript.java
          pipeline-model-definition/src/main/groovy/org/jenkinsci/plugins/pipeline/modeldefinition/Utils.groovy
          pipeline-model-definition/src/main/groovy/org/jenkinsci/plugins/pipeline/modeldefinition/model/Stage.groovy
          pipeline-model-definition/src/main/groovy/org/jenkinsci/plugins/pipeline/modeldefinition/model/StageConditionals.groovy
          pipeline-model-definition/src/main/groovy/org/jenkinsci/plugins/pipeline/modeldefinition/parser/JSONParser.groovy
          pipeline-model-definition/src/main/groovy/org/jenkinsci/plugins/pipeline/modeldefinition/parser/ModelParser.groovy
          pipeline-model-definition/src/main/groovy/org/jenkinsci/plugins/pipeline/modeldefinition/validator/ModelValidatorImpl.groovy
          pipeline-model-definition/src/main/java/org/jenkinsci/plugins/pipeline/modeldefinition/agent/impl/Any.java
          pipeline-model-definition/src/main/java/org/jenkinsci/plugins/pipeline/modeldefinition/agent/impl/DockerPipeline.java
          pipeline-model-definition/src/main/java/org/jenkinsci/plugins/pipeline/modeldefinition/agent/impl/DockerPipelineFromDockerfile.java
          pipeline-model-definition/src/main/java/org/jenkinsci/plugins/pipeline/modeldefinition/agent/impl/Label.java
          pipeline-model-definition/src/main/java/org/jenkinsci/plugins/pipeline/modeldefinition/agent/impl/None.java
          pipeline-model-definition/src/main/java/org/jenkinsci/plugins/pipeline/modeldefinition/when/DeclarativeStageConditional.java
          pipeline-model-definition/src/main/java/org/jenkinsci/plugins/pipeline/modeldefinition/when/DeclarativeStageConditionalDescriptor.java
          pipeline-model-definition/src/main/java/org/jenkinsci/plugins/pipeline/modeldefinition/when/DeclarativeStageConditionalScript.java
          pipeline-model-definition/src/main/java/org/jenkinsci/plugins/pipeline/modeldefinition/when/impl/BranchConditional.java
          pipeline-model-definition/src/main/java/org/jenkinsci/plugins/pipeline/modeldefinition/when/impl/EnvironmentConditional.java
          pipeline-model-definition/src/main/java/org/jenkinsci/plugins/pipeline/modeldefinition/when/impl/ExpressionConditional.java
          pipeline-model-definition/src/main/resources/org/jenkinsci/plugins/pipeline/modeldefinition/ClosureModelTranslator.groovy
          pipeline-model-definition/src/main/resources/org/jenkinsci/plugins/pipeline/modeldefinition/Messages.properties
          pipeline-model-definition/src/main/resources/org/jenkinsci/plugins/pipeline/modeldefinition/MethodsToListTranslator.groovy
          pipeline-model-definition/src/main/resources/org/jenkinsci/plugins/pipeline/modeldefinition/ModelInterpreter.groovy
          pipeline-model-definition/src/main/resources/org/jenkinsci/plugins/pipeline/modeldefinition/OptionsTranslator.groovy
          pipeline-model-definition/src/main/resources/org/jenkinsci/plugins/pipeline/modeldefinition/StageConditionalTranslator.groovy
          pipeline-model-definition/src/main/resources/org/jenkinsci/plugins/pipeline/modeldefinition/agent/impl/AnyScript.groovy
          pipeline-model-definition/src/main/resources/org/jenkinsci/plugins/pipeline/modeldefinition/agent/impl/DockerPipelineFromDockerfileScript.groovy
          pipeline-model-definition/src/main/resources/org/jenkinsci/plugins/pipeline/modeldefinition/agent/impl/DockerPipelineScript.groovy
          pipeline-model-definition/src/main/resources/org/jenkinsci/plugins/pipeline/modeldefinition/agent/impl/LabelScript.groovy
          pipeline-model-definition/src/main/resources/org/jenkinsci/plugins/pipeline/modeldefinition/agent/impl/NoneScript.groovy
          pipeline-model-definition/src/main/resources/org/jenkinsci/plugins/pipeline/modeldefinition/when/impl/BranchConditionalScript.groovy
          pipeline-model-definition/src/main/resources/org/jenkinsci/plugins/pipeline/modeldefinition/when/impl/EnvironmentConditionalScript.groovy
          pipeline-model-definition/src/main/resources/org/jenkinsci/plugins/pipeline/modeldefinition/when/impl/ExpressionConditionalScript.groovy
          pipeline-model-definition/src/test/java/org/jenkinsci/plugins/pipeline/modeldefinition/AbstractModelDefTest.java
          pipeline-model-definition/src/test/java/org/jenkinsci/plugins/pipeline/modeldefinition/BasicModelDefTest.java
          pipeline-model-definition/src/test/java/org/jenkinsci/plugins/pipeline/modeldefinition/ValidatorTest.java
          pipeline-model-definition/src/test/java/org/jenkinsci/plugins/pipeline/modeldefinition/agent/impl/LabelAndOtherFieldAgent.java
          pipeline-model-definition/src/test/resources/basicWhen.groovy
          pipeline-model-definition/src/test/resources/booleanParamBuildStep.groovy
          pipeline-model-definition/src/test/resources/errors/emptyWhen.groovy
          pipeline-model-definition/src/test/resources/errors/unknownWhenConditional.groovy
          pipeline-model-definition/src/test/resources/errors/whenInvalidParameterType.groovy
          pipeline-model-definition/src/test/resources/errors/whenMissingRequiredParameter.groovy
          pipeline-model-definition/src/test/resources/errors/whenUnknownParameter.groovy
          pipeline-model-definition/src/test/resources/json/basicWhen.json
          pipeline-model-definition/src/test/resources/json/errors/emptyWhen.json
          pipeline-model-definition/src/test/resources/json/errors/unknownWhenConditional.json
          pipeline-model-definition/src/test/resources/json/errors/whenInvalidParameterType.json
          pipeline-model-definition/src/test/resources/json/errors/whenMissingRequiredParameter.json
          pipeline-model-definition/src/test/resources/json/errors/whenUnknownParameter.json
          pipeline-model-definition/src/test/resources/json/skippedWhen.json
          pipeline-model-definition/src/test/resources/json/whenBranch.json
          pipeline-model-definition/src/test/resources/json/whenEnv.json
          pipeline-model-definition/src/test/resources/org/jenkinsci/plugins/pipeline/modeldefinition/agent/impl/LabelAndOtherFieldAgentScript.groovy
          pipeline-model-definition/src/test/resources/skippedWhen.groovy
          pipeline-model-definition/src/test/resources/when/simpleWhen.groovy
          pipeline-model-definition/src/test/resources/when/whenException.groovy
          pipeline-model-definition/src/test/resources/whenBranch.groovy
          pipeline-model-definition/src/test/resources/whenEnv.groovy
          http://jenkins-ci.org/commit/pipeline-model-definition-plugin/cf217be38d68c3ef7dda7e80539ce10a3c4cf8f6
          Log:
          Merge pull request #78 from jenkinsci/JENKINS-40370

          JENKINS-40370 Make stage.when more declarative

          Compare: https://github.com/jenkinsci/pipeline-model-definition-plugin/compare/1e1452409af4...cf217be38d68

          SCM/JIRA link daemon added a comment - Code changed in jenkins User: Andrew Bayer Path: SYNTAX.md pipeline-model-api/src/main/java/org/jenkinsci/plugins/pipeline/modeldefinition/ast/AbstractModelASTCodeBlock.java pipeline-model-api/src/main/java/org/jenkinsci/plugins/pipeline/modeldefinition/ast/ModelASTWhen.java pipeline-model-api/src/main/java/org/jenkinsci/plugins/pipeline/modeldefinition/ast/ModelASTWhenExpression.java pipeline-model-api/src/main/java/org/jenkinsci/plugins/pipeline/modeldefinition/validator/ModelValidator.java pipeline-model-api/src/main/resources/ast-schema.json pipeline-model-declarative-agent/src/main/java/org/jenkinsci/plugins/pipeline/modeldefinition/agent/DeclarativeAgent.java pipeline-model-declarative-agent/src/main/java/org/jenkinsci/plugins/pipeline/modeldefinition/agent/DeclarativeAgentDescriptor.java pipeline-model-declarative-agent/src/main/java/org/jenkinsci/plugins/pipeline/modeldefinition/agent/DeclarativeAgentScript.java pipeline-model-declarative-agent/src/main/java/org/jenkinsci/plugins/pipeline/modeldefinition/withscript/WithScriptDescribable.java pipeline-model-declarative-agent/src/main/java/org/jenkinsci/plugins/pipeline/modeldefinition/withscript/WithScriptDescriptor.java pipeline-model-declarative-agent/src/main/java/org/jenkinsci/plugins/pipeline/modeldefinition/withscript/WithScriptScript.java pipeline-model-definition/src/main/groovy/org/jenkinsci/plugins/pipeline/modeldefinition/Utils.groovy pipeline-model-definition/src/main/groovy/org/jenkinsci/plugins/pipeline/modeldefinition/model/Stage.groovy pipeline-model-definition/src/main/groovy/org/jenkinsci/plugins/pipeline/modeldefinition/model/StageConditionals.groovy pipeline-model-definition/src/main/groovy/org/jenkinsci/plugins/pipeline/modeldefinition/parser/JSONParser.groovy pipeline-model-definition/src/main/groovy/org/jenkinsci/plugins/pipeline/modeldefinition/parser/ModelParser.groovy pipeline-model-definition/src/main/groovy/org/jenkinsci/plugins/pipeline/modeldefinition/validator/ModelValidatorImpl.groovy pipeline-model-definition/src/main/java/org/jenkinsci/plugins/pipeline/modeldefinition/agent/impl/Any.java pipeline-model-definition/src/main/java/org/jenkinsci/plugins/pipeline/modeldefinition/agent/impl/DockerPipeline.java pipeline-model-definition/src/main/java/org/jenkinsci/plugins/pipeline/modeldefinition/agent/impl/DockerPipelineFromDockerfile.java pipeline-model-definition/src/main/java/org/jenkinsci/plugins/pipeline/modeldefinition/agent/impl/Label.java pipeline-model-definition/src/main/java/org/jenkinsci/plugins/pipeline/modeldefinition/agent/impl/None.java pipeline-model-definition/src/main/java/org/jenkinsci/plugins/pipeline/modeldefinition/when/DeclarativeStageConditional.java pipeline-model-definition/src/main/java/org/jenkinsci/plugins/pipeline/modeldefinition/when/DeclarativeStageConditionalDescriptor.java pipeline-model-definition/src/main/java/org/jenkinsci/plugins/pipeline/modeldefinition/when/DeclarativeStageConditionalScript.java pipeline-model-definition/src/main/java/org/jenkinsci/plugins/pipeline/modeldefinition/when/impl/BranchConditional.java pipeline-model-definition/src/main/java/org/jenkinsci/plugins/pipeline/modeldefinition/when/impl/EnvironmentConditional.java pipeline-model-definition/src/main/java/org/jenkinsci/plugins/pipeline/modeldefinition/when/impl/ExpressionConditional.java pipeline-model-definition/src/main/resources/org/jenkinsci/plugins/pipeline/modeldefinition/ClosureModelTranslator.groovy pipeline-model-definition/src/main/resources/org/jenkinsci/plugins/pipeline/modeldefinition/Messages.properties pipeline-model-definition/src/main/resources/org/jenkinsci/plugins/pipeline/modeldefinition/MethodsToListTranslator.groovy pipeline-model-definition/src/main/resources/org/jenkinsci/plugins/pipeline/modeldefinition/ModelInterpreter.groovy pipeline-model-definition/src/main/resources/org/jenkinsci/plugins/pipeline/modeldefinition/OptionsTranslator.groovy pipeline-model-definition/src/main/resources/org/jenkinsci/plugins/pipeline/modeldefinition/StageConditionalTranslator.groovy pipeline-model-definition/src/main/resources/org/jenkinsci/plugins/pipeline/modeldefinition/agent/impl/AnyScript.groovy pipeline-model-definition/src/main/resources/org/jenkinsci/plugins/pipeline/modeldefinition/agent/impl/DockerPipelineFromDockerfileScript.groovy pipeline-model-definition/src/main/resources/org/jenkinsci/plugins/pipeline/modeldefinition/agent/impl/DockerPipelineScript.groovy pipeline-model-definition/src/main/resources/org/jenkinsci/plugins/pipeline/modeldefinition/agent/impl/LabelScript.groovy pipeline-model-definition/src/main/resources/org/jenkinsci/plugins/pipeline/modeldefinition/agent/impl/NoneScript.groovy pipeline-model-definition/src/main/resources/org/jenkinsci/plugins/pipeline/modeldefinition/when/impl/BranchConditionalScript.groovy pipeline-model-definition/src/main/resources/org/jenkinsci/plugins/pipeline/modeldefinition/when/impl/EnvironmentConditionalScript.groovy pipeline-model-definition/src/main/resources/org/jenkinsci/plugins/pipeline/modeldefinition/when/impl/ExpressionConditionalScript.groovy pipeline-model-definition/src/test/java/org/jenkinsci/plugins/pipeline/modeldefinition/AbstractModelDefTest.java pipeline-model-definition/src/test/java/org/jenkinsci/plugins/pipeline/modeldefinition/BasicModelDefTest.java pipeline-model-definition/src/test/java/org/jenkinsci/plugins/pipeline/modeldefinition/ValidatorTest.java pipeline-model-definition/src/test/java/org/jenkinsci/plugins/pipeline/modeldefinition/agent/impl/LabelAndOtherFieldAgent.java pipeline-model-definition/src/test/resources/basicWhen.groovy pipeline-model-definition/src/test/resources/booleanParamBuildStep.groovy pipeline-model-definition/src/test/resources/errors/emptyWhen.groovy pipeline-model-definition/src/test/resources/errors/unknownWhenConditional.groovy pipeline-model-definition/src/test/resources/errors/whenInvalidParameterType.groovy pipeline-model-definition/src/test/resources/errors/whenMissingRequiredParameter.groovy pipeline-model-definition/src/test/resources/errors/whenUnknownParameter.groovy pipeline-model-definition/src/test/resources/json/basicWhen.json pipeline-model-definition/src/test/resources/json/errors/emptyWhen.json pipeline-model-definition/src/test/resources/json/errors/unknownWhenConditional.json pipeline-model-definition/src/test/resources/json/errors/whenInvalidParameterType.json pipeline-model-definition/src/test/resources/json/errors/whenMissingRequiredParameter.json pipeline-model-definition/src/test/resources/json/errors/whenUnknownParameter.json pipeline-model-definition/src/test/resources/json/skippedWhen.json pipeline-model-definition/src/test/resources/json/whenBranch.json pipeline-model-definition/src/test/resources/json/whenEnv.json pipeline-model-definition/src/test/resources/org/jenkinsci/plugins/pipeline/modeldefinition/agent/impl/LabelAndOtherFieldAgentScript.groovy pipeline-model-definition/src/test/resources/skippedWhen.groovy pipeline-model-definition/src/test/resources/when/simpleWhen.groovy pipeline-model-definition/src/test/resources/when/whenException.groovy pipeline-model-definition/src/test/resources/whenBranch.groovy pipeline-model-definition/src/test/resources/whenEnv.groovy http://jenkins-ci.org/commit/pipeline-model-definition-plugin/cf217be38d68c3ef7dda7e80539ce10a3c4cf8f6 Log: Merge pull request #78 from jenkinsci/ JENKINS-40370 JENKINS-40370 Make stage.when more declarative Compare: https://github.com/jenkinsci/pipeline-model-definition-plugin/compare/1e1452409af4...cf217be38d68

          Liam Newman added a comment -

          Bulk closing resolved issues.

          Liam Newman added a comment - Bulk closing resolved issues.

            rsandell rsandell
            jamesdumay James Dumay
            Votes:
            0 Vote for this issue
            Watchers:
            8 Start watching this issue

              Created:
              Updated:
              Resolved: