We want to change wrappers from:

      pipeline {
          agent none
          wrappers {
              timeout(time: 5, unit: 'MINUTES')
              colorize()
          }
          stages {
              stage("foo") {
                  steps {
                      echo "hello"
                  }
              }
          }
      }
      

      To look like this:

      pipeline {
          agent none
          options {
            timeout(time: 5, unit: 'MINUTES')
            colorize()
          }
          stages {
              stage("foo") {
                  steps {
                      echo "hello"
                  }
              }
          }
      }
      

          [JENKINS-40462] Wrappers in options

          James Dumay created issue -
          James Dumay made changes -
          Description Original: We don't want to have

          {code}
          pipeline {
              agent none
              wrappers {
                  timeout(time: 5, unit: 'MINUTES')
                  colorize()
              }
              stages {
                  stage("foo") {
                      steps {
                          echo "hello"
                      }
                  }
              }
          }
          {code}

          To:
          {code}
          pipeline {
              agent none
              options {
                timeout(time: 5, unit: 'MINUTES')
                colorize()
              }
              stages {
                  stage("foo") {
                      steps {
                          echo "hello"
                      }
                  }
              }
          }
          {code}
          New: We want to change wrappers from:
          {code}
          pipeline {
              agent none
              wrappers {
                  timeout(time: 5, unit: 'MINUTES')
                  colorize()
              }
              stages {
                  stage("foo") {
                      steps {
                          echo "hello"
                      }
                  }
              }
          }
          {code}

          To look like this:
          {code}
          pipeline {
              agent none
              options {
                timeout(time: 5, unit: 'MINUTES')
                colorize()
              }
              stages {
                  stage("foo") {
                      steps {
                          echo "hello"
                      }
                  }
              }
          }
          {code}
          Andrew Bayer made changes -
          Status Original: Open [ 1 ] New: In Progress [ 3 ]

          Andrew Bayer added a comment - PR up at https://github.com/jenkinsci/pipeline-model-definition-plugin/pull/72 , building on https://github.com/jenkinsci/pipeline-model-definition-plugin/pull/70
          Andrew Bayer made changes -
          Remote Link New: This issue links to "PR #72 (Web Link)" [ 15140 ]
          Andrew Bayer made changes -
          Status Original: In Progress [ 3 ] New: In Review [ 10005 ]

          rsandell added a comment -

          So what is the motivation behind this change?
          Some build wrappers actually do stuff and would perhaps seem awkward to put into an options section, like xvfb and JiraReleaseNotes for example.

          rsandell added a comment - So what is the motivation behind this change? Some build wrappers actually do stuff and would perhaps seem awkward to put into an options section, like xvfb and JiraReleaseNotes for example.

          Andrew Bayer added a comment -

          I'll let jamesdumay speak to that. =) But fwiw, xvfb, for example, isn't a valid candidate for wrappers already, since it requires a node context.

          Andrew Bayer added a comment - I'll let jamesdumay speak to that. =) But fwiw, xvfb , for example, isn't a valid candidate for wrappers already, since it requires a node context.

          James Dumay added a comment -

          James Dumay added a comment - rsandell https://github.com/jenkinsci/pipeline-model-definition-plugin/pull/67#issuecomment-266619706

          Code changed in jenkins
          User: Andrew Bayer
          Path:
          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/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/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/0bc6a85050c48bf43ca3d4ef05d8ab9da3a81c3e
          Log:
          [FIXED JENKINS-40462] Move wrappers into options

          This depends on
          https://github.com/jenkinsci/pipeline-model-definition-plugin/pull/70
          so shouldn't be merged until that's in.

          I'm not a huge fan of the hoops we have to jump through to support
          wrappers in the same section as Describables, so I may tweak this.

          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/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/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/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/0bc6a85050c48bf43ca3d4ef05d8ab9da3a81c3e Log: [FIXED JENKINS-40462] Move wrappers into options This depends on https://github.com/jenkinsci/pipeline-model-definition-plugin/pull/70 so shouldn't be merged until that's in. I'm not a huge fan of the hoops we have to jump through to support wrappers in the same section as Describables, so I may tweak this.

            abayer Andrew Bayer
            jamesdumay James Dumay
            Votes:
            0 Vote for this issue
            Watchers:
            5 Start watching this issue

              Created:
              Updated:
              Resolved: