Yep!  That's the ticket.   Thannks again Daniel!

On Fri, Dec 1, 2017 at 2:06 PM Peter Berghold <[email protected]>
wrote:

> 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/CAArvnv0Jz4AsdLQdtVPj0jg-eu0tX_f%2Bucv%3Dxt8PgK8K9myunw%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to