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

Provide a way to write full-fledged Steps in CPS-transformed Groovy

    Details

    • Similar Issues:

      Description

      A number of things are much easier to write in CPS-transformed Groovy than in Java, but we'd still like to be able to expose that code as an actual Step, not just as a GlobalVariable, so that we can eventually get Snippet Generator support, introspection, etc. So let's have a way to do that. =)

        Attachments

          Issue Links

            Activity

            abayer Andrew Bayer created issue -
            kohsuke Kohsuke Kawaguchi made changes -
            Field Original Value New Value
            Remote Link This issue links to "workflow-step-api-plugin #7 (Web Link)" [ 14671 ]
            Hide
            kohsuke Kohsuke Kawaguchi added a comment -

            master PR that in turn depends on other pending PRs.

            Show
            kohsuke Kohsuke Kawaguchi added a comment - master PR that in turn depends on other pending PRs.
            kohsuke Kohsuke Kawaguchi made changes -
            Remote Link This issue links to "workflow-cps-plugin PR #34 (Web Link)" [ 14672 ]
            jglick Jesse Glick made changes -
            Epic Link JENKINS-35394 [ 171187 ]
            Hide
            jglick Jesse Glick added a comment -

            There seems to be overlap with JENKINS-32731. One of the problems with docker-workflow is that there is no Snippet Generator support beyond a docker global variable beneath which we can put a blob of HTML. Does this change help with that at all, or did we screw up by putting this functionality under the namespace of a global variable rather than doing it all as top-level functions?

            Show
            jglick Jesse Glick added a comment - There seems to be overlap with JENKINS-32731 . One of the problems with docker-workflow is that there is no Snippet Generator support beyond a docker global variable beneath which we can put a blob of HTML. Does this change help with that at all, or did we screw up by putting this functionality under the namespace of a global variable rather than doing it all as top-level functions?
            jglick Jesse Glick made changes -
            Link This issue relates to JENKINS-32731 [ JENKINS-32731 ]
            jglick Jesse Glick made changes -
            Link This issue relates to JENKINS-34650 [ JENKINS-34650 ]
            jglick Jesse Glick made changes -
            Status Open [ 1 ] In Progress [ 3 ]
            jglick Jesse Glick made changes -
            Status In Progress [ 3 ] In Review [ 10005 ]
            jglick Jesse Glick made changes -
            Link This issue relates to JENKINS-28385 [ JENKINS-28385 ]
            jglick Jesse Glick made changes -
            Status In Review [ 10005 ] In Progress [ 3 ]
            abayer Andrew Bayer made changes -
            Link This issue relates to JENKINS-37277 [ JENKINS-37277 ]
            abayer Andrew Bayer made changes -
            Component/s pipeline-general [ 21692 ]
            abayer Andrew Bayer made changes -
            Component/s workflow-plugin [ 18820 ]
            jglick Jesse Glick made changes -
            Component/s workflow-cps-plugin [ 21713 ]
            Component/s pipeline [ 21692 ]
            Hide
            jglick Jesse Glick added a comment -

            Since docker-workflow already defines steps like withDockerRegistry etc., perhaps we would not be losing much by just removing the isAdvanced override and encouraging people to use them directly in place of Docker.groovy. Other than the magic fingerprinting, it does not give you much that you would not get from running these steps plus sh 'docker …' directly. inside could be implemented as a step in Groovy so that the initial conditional docker pull can be durable. withRun could still be offered as a convenience using a step in Groovy like dockerWithRun; the loss of a fluid syntax is IMO compensated by the much better Snippetizer support.

            Show
            jglick Jesse Glick added a comment - Since docker-workflow already defines steps like withDockerRegistry etc., perhaps we would not be losing much by just removing the isAdvanced override and encouraging people to use them directly in place of Docker.groovy . Other than the magic fingerprinting, it does not give you much that you would not get from running these steps plus sh 'docker …' directly. inside could be implemented as a step in Groovy so that the initial conditional docker pull can be durable. withRun could still be offered as a convenience using a step in Groovy like dockerWithRun ; the loss of a fluid syntax is IMO compensated by the much better Snippetizer support.
            jglick Jesse Glick made changes -
            Link This issue is blocking JENKINS-26055 [ JENKINS-26055 ]
            jglick Jesse Glick made changes -
            Link This issue is blocking JENKINS-26635 [ JENKINS-26635 ]
            jglick Jesse Glick made changes -
            Remote Link This issue links to "workflow-cps PR 59 (Web Link)" [ 14955 ]
            jglick Jesse Glick made changes -
            Link This issue is blocking JENKINS-26056 [ JENKINS-26056 ]
            jglick Jesse Glick made changes -
            Link This issue is blocking JENKINS-36932 [ JENKINS-36932 ]
            jglick Jesse Glick made changes -
            Status In Progress [ 3 ] In Review [ 10005 ]
            jglick Jesse Glick made changes -
            Link This issue is blocking JENKINS-26948 [ JENKINS-26948 ]
            bitwiseman Liam Newman made changes -
            Link This issue relates to JENKINS-42360 [ JENKINS-42360 ]
            Hide
            jglick Jesse Glick added a comment -

            This work has been stopped.

            Show
            jglick Jesse Glick added a comment - This work has been stopped.
            jglick Jesse Glick made changes -
            Status In Review [ 10005 ] Resolved [ 5 ]
            Resolution Won't Do [ 10001 ]

              People

              • Assignee:
                kohsuke Kohsuke Kawaguchi
                Reporter:
                abayer Andrew Bayer
              • Votes:
                6 Vote for this issue
                Watchers:
                17 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: