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.

Reply via email to