going to give it a shot Daniel. Thank!
On Fri, Dec 1, 2017 at 1:56 PM Daniel Butler <[email protected]>
wrote:
> This is my preferred as it’s nice and explicit:
>
> class MyClass implements Serializable {
>
>
>
> def ctx
>
>
>
> MyClass(ctx) {
>
> this.ctx=ctx
>
> }
>
>
>
> def bark(){
>
> ctx.sh 'echo WOOF!'
>
> }
>
> }
>
>
>
>
>
> You’d then construct it:
> def mc = new MyClass(this)
>
>
>
> If you remove the class definition so you end up with a groovy file of
> methods you end up with class with the same name as the groovy file. Inside
> the class you can call pipeline steps and access the global variables like
> it’s a pipeline script. However I don’t think you can have anything other
> than a no-arg constructor.
>
>
>
>
>
> Regards,
>
> Daniel.
>
>
>
> *From: *Peter Berghold <[email protected]>
> *Sent: *01 December 2017 18:02
> *To: *Jenkins Users <[email protected]>
> *Subject: *Define a class inside a groovy pipeline?
>
>
>
> So I was playing around and tried something. Here's a class I defined:
>
>
>
> class MyClass implements Serializable {
>
>
>
> MyClass() {
>
> }
>
>
>
> def bark(){
>
> sh 'echo WOOF!'
>
> }
>
> }
>
>
>
> and so I instantiate it
>
>
>
> def mc = new MyClass()
>
>
>
> and I access my method
>
>
>
> mc.bark()
>
>
>
> and I get
>
>
>
> hudson.remoting.ProxyException: groovy.lang.MissingMethodException: No
> signature of method: MyClass.sh() is applicable for argument types:
> (java.lang.String) values: [echo WOOF!]
>
>
>
> So my question is: if I want to access what I perceive as normal pipeline
> functions from inside a class how do I do it? What magic foo do I have to
> use?
>
>
>
> --
> You received this message because you are subscribed to the Google Groups
> "Jenkins Users" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/jenkinsci-users/CAArvnv0Dgkh-CnjYebNBzHji9pOpBZGDLhnioKD87w4-7BWn4w%40mail.gmail.com
> <https://groups.google.com/d/msgid/jenkinsci-users/CAArvnv0Dgkh-CnjYebNBzHji9pOpBZGDLhnioKD87w4-7BWn4w%40mail.gmail.com?utm_medium=email&utm_source=footer>
> .
> For more options, visit https://groups.google.com/d/optout.
>
>
>
> --
> You received this message because you are subscribed to the Google Groups
> "Jenkins Users" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/jenkinsci-users/5a21a5b5.06aadf0a.a3b73.5f40%40mx.google.com
> <https://groups.google.com/d/msgid/jenkinsci-users/5a21a5b5.06aadf0a.a3b73.5f40%40mx.google.com?utm_medium=email&utm_source=footer>
> .
> For more options, visit https://groups.google.com/d/optout.
>
--
You received this message because you are subscribed to the Google Groups
"Jenkins Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/jenkinsci-users/CAArvnv3AhMEEL8iZgCgPavG6uyQyQ5pWRF_0S3%2BsQOSggVC35g%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.