Ok, I took a look at the source and it will definitely not work as is right
now. The plugin in this one case is still assuming AbstractBuild instead of
Run.

On Fri, Oct 5, 2018 at 3:41 PM Slide <[email protected]> wrote:

> Ok, I didn't realize you were doing this from a pipeline job (maybe I
> missed that). I am not sure how it will work with pipeline right now, I
> need to review the code.
>
> On Fri, Oct 5, 2018 at 1:48 PM <[email protected]> wrote:
>
>> Just to add to that:
>>
>> If I do within groovy brackets %> <%
>>
>> I get the following exception:
>> Exception raised during template rendering:
>> org.jenkinsci.plugins.workflow.job.WorkflowRun cannot be cast to
>> hudson.model.AbstractBuild java.lang.ClassCastException:
>> org.jenkinsci.plugins.workflow.job.WorkflowRun cannot be cast to
>> hudson.model.AbstractBuild at
>> hudson.plugins.emailext.plugins.content.EmailExtScript.methodMissing(EmailExtScript.java:69)
>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at
>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
>> at
>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>> at java.lang.reflect.Method.invoke(Method.java:498) at
>> org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:93) at
>> groovy.lang.MetaClassImpl.invokeMissingMethod(MetaClassImpl.java:944) at
>> groovy.lang.MetaClassImpl.invokePropertyOrMissing(MetaClassImpl.java:1267)
>> at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1220) at
>> groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1027) at
>> org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.callCurrent(PogoMetaClassSite.java:69)
>> at
>> org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallCurrent(CallSiteArray.java:52)
>> at
>> org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:154)
>> at
>> org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:166)
>> at SimpleTemplateScript111.run(SimpleTemplateScript111.groovy:31) at
>> groovy.text.SimpleTemplateEngine$SimpleTemplate$1.writeTo(SimpleTemplateEngine.java:168)
>> at
>> groovy.text.SimpleTemplateEngine$SimpleTemplate$1.toString(SimpleTemplateEngine.java:180)
>> at
>> hudson.plugins.emailext.plugins.content.ScriptContent.renderTemplate(ScriptContent.java:151)
>> at
>> hudson.plugins.emailext.plugins.content.ScriptContent.evaluate(ScriptContent.java:82)
>> at
>> org.jenkinsci.plugins.tokenmacro.DataBoundTokenMacro.evaluate(DataBoundTokenMacro.java:208)
>> at org.jenkinsci.plugins.tokenmacro.Parser.processToken(Parser.java:308) at
>> org.jenkinsci.plugins.tokenmacro.Action$KiHW1UeqOdqAwZul.run(Unknown
>> Source) at
>> org.parboiled.matchers.ActionMatcher.match(ActionMatcher.java:96) at
>> org.parboiled.parserunners.BasicParseRunner.match(BasicParseRunner.java:77)
>> at org.parboiled.MatcherContext.runMatcher(MatcherContext.java:351) at
>> org.parboiled.matchers.SequenceMatcher.match(SequenceMatcher.java:46) at
>> org.parboiled.parserunners.BasicParseRunner.match(BasicParseRunner.java:77)
>> at org.parboiled.MatcherContext.runMatcher(MatcherContext.java:351) at
>> org.parboiled.matchers.FirstOfMatcher.match(FirstOfMatcher.java:41) at
>> org.parboiled.parserunners.BasicParseRunner.match(BasicParseRunner.java:77)
>> at org.parboiled.MatcherContext.runMatcher(MatcherContext.java:351) at
>> org.parboiled.matchers.FirstOfMatcher.match(FirstOfMatcher.java:41) at
>> org.parboiled.parserunners.BasicParseRunner.match(BasicParseRunner.java:77)
>> at org.parboiled.MatcherContext.runMatcher(MatcherContext.java:351) at
>> org.parboiled.matchers.ZeroOrMoreMatcher.match(ZeroOrMoreMatcher.java:39)
>> at
>> org.parboiled.parserunners.BasicParseRunner.match(BasicParseRunner.java:77)
>> at org.parboiled.MatcherContext.runMatcher(MatcherContext.java:351) at
>> org.parboiled.matchers.SequenceMatcher.match(SequenceMatcher.java:46) at
>> org.parboiled.parserunners.BasicParseRunner.match(BasicParseRunner.java:77)
>> at org.parboiled.MatcherContext.runMatcher(MatcherContext.java:351) at
>> org.parboiled.parserunners.BasicParseRunner.run(BasicParseRunner.java:72)
>> at
>> org.parboiled.parserunners.ReportingParseRunner.runBasicMatch(ReportingParseRunner.java:86)
>> at
>> org.parboiled.parserunners.ReportingParseRunner.run(ReportingParseRunner.java:66)
>> at
>> org.parboiled.parserunners.AbstractParseRunner.run(AbstractParseRunner.java:81)
>> at
>> org.parboiled.parserunners.AbstractParseRunner.run(AbstractParseRunner.java:76)
>> at org.jenkinsci.plugins.tokenmacro.Parser.process(Parser.java:68) at
>> org.jenkinsci.plugins.tokenmacro.TokenMacro.expand(TokenMacro.java:204) at
>> org.jenkinsci.plugins.tokenmacro.TokenMacro.expandAll(TokenMacro.java:234)
>> at
>> hudson.plugins.emailext.plugins.ContentBuilder.transformText(ContentBuilder.java:80)
>> at
>> hudson.plugins.emailext.ExtendedEmailPublisher.addContent(ExtendedEmailPublisher.java:852)
>> at
>> hudson.plugins.emailext.ExtendedEmailPublisher.createMail(ExtendedEmailPublisher.java:731)
>> at
>> hudson.plugins.emailext.ExtendedEmailPublisher.sendMail(ExtendedEmailPublisher.java:445)
>> at
>> hudson.plugins.emailext.EmailExtStep$EmailExtStepExecution.run(EmailExtStep.java:184)
>> at
>> hudson.plugins.emailext.EmailExtStep$EmailExtStepExecution.run(EmailExtStep.java:129)
>> at
>> org.jenkinsci.plugins.workflow.steps.AbstractSynchronousNonBlockingStepExecution$1$1.call(AbstractSynchronousNonBlockingStepExecution.java:47)
>> at hudson.security.ACL.impersonate(ACL.java:260) at
>> org.jenkinsci.plugins.workflow.steps.AbstractSynchronousNonBlockingStepExecution$1.run(AbstractSynchronousNonBlockingStepExecution.java:44)
>> at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
>> at java.util.concurrent.FutureTask.run(FutureTask.java:266) at
>> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
>> at
>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
>> at java.lang.Thread.run(Thread.java:748)
>>
>> But without groovy brackets it just renders the text
>> "BUILD_LOG_REGEX(regex:".*GIT COMMIT HASH = (.*)",
>> showTruncatedLines:false, substText:"$1")"
>>
>>
>> On Friday, October 5, 2018 at 4:44:56 PM UTC-4, [email protected] wrote:
>>>
>>> Thanks for your fast reply! Couple of questions...
>>>
>>> 1) Should I be putting that in Groovy brackets %> <%?
>>> 2) Am i supposed to escape the $ sign in the subsText clause?
>>>
>>> I'm trying to get it to work but I'm getting exceptions...
>>>
>>> Thanks!
>>>
>>> On Friday, October 5, 2018 at 3:38:39 PM UTC-4, slide wrote:
>>>>
>>>> The general way to look at it is to turn the token syntax into what
>>>> looks like a method call:
>>>>
>>>> ${BUILD_LOG_REGEX, regex=".*GIT COMMIT HASH = (.*)",
>>>> showTruncatedLines=false, substText="$1"}
>>>>
>>>> Becomes:
>>>>
>>>> BUILD_LOG_REGEX(regex:".*GIT COMMIT HASH = (.*)",
>>>> showTruncatedLines:false, substText:"$1")
>>>>
>>>>
>>>>
>>>> On Fri, Oct 5, 2018 at 12:25 PM <[email protected]> wrote:
>>>>
>>>>> I know it's been a few years :) but I have a similar question...
>>>>>
>>>>> How would I use the following Token Macro in a groovy template:
>>>>>
>>>>> Git Commit:  ${BUILD_LOG_REGEX, regex=".*GIT COMMIT HASH = (.*)",
>>>>> showTruncatedLines=false, substText="$1"}
>>>>>
>>>>> It works in a regular template but not groovy...
>>>>>
>>>>> Thanks!
>>>>>
>>>>> On Wednesday, July 17, 2013 at 12:18:40 PM UTC-4, slide wrote:
>>>>>>
>>>>>> One more thing, the email template testing should also work for Jelly
>>>>>> templates, but I HIGHLY recommend using Groovy templates, they are MUCH
>>>>>> better. I wish Jelly would die a horrible death after the amount of time
>>>>>> I've put in to debugging templates :-)
>>>>>>
>>>>>>
>>>>>> On Wed, Jul 17, 2013 at 9:07 AM, Michael Bukosky <[email protected]>
>>>>>> wrote:
>>>>>>
>>>>>>> wow that was a simple fix. I have been racking my brain over this
>>>>>>> for the past few days. Thanks so much for all your help.
>>>>>>>
>>>>>>> For reference here is my final snippet
>>>>>>>
>>>>>>> <dt><font color="#FFFFFF" face="Calibri,Arial"
>>>>>>>> size="2"><strong>Cause</strong></font></dt>
>>>>>>>> <dd><font color="#141414" face="Calibri,Arial"
>>>>>>>> size="2">${build.causes}</font></dd>
>>>>>>>>
>>>>>>>> <dt><font color="#FFFFFF" face="Calibri,Arial"
>>>>>>>> size="2"><strong>Build log extract</strong></font></dt>
>>>>>>>> <dd><font color="#141414" face="Calibri,Arial"
>>>>>>>> size="2">${BUILD_LOG_REGEX(matchedLineHtmlStyle:true)}</font></dd>
>>>>>>>>
>>>>>>>>
>>>>>>>> <dt><font color="#FFFFFF" face="Calibri,Arial"
>>>>>>>> size="2"><strong>Failed Tests</strong></font></dt>
>>>>>>>> <dd><font color="#141414" face="Calibri,Arial"
>>>>>>>> size="2">${FAILED_TESTS()}</font></dd>
>>>>>>>
>>>>>>>
>>>>>>> Mike
>>>>>>>
>>>>>>> On Wednesday, July 17, 2013 11:56:30 AM UTC-4, slide wrote:
>>>>>>>
>>>>>>>> Sorry, one typo in my email, it should be 
>>>>>>>> ${BUILD_LOG_REGEX(matchedLineHtmlStyle:
>>>>>>>> true)}. matchedLineHtmlStyle is not a boolean though, so I'm not sure 
>>>>>>>> why
>>>>>>>> you are using "true" as the value.
>>>>>>>>
>>>>>>>>
>>>>>>>> On Wed, Jul 17, 2013 at 8:55 AM, Slide <[email protected]> wrote:
>>>>>>>>
>>>>>>>>> When using macros in a groovy template, you need to use
>>>>>>>>> ${BUILD_LOG_REGEX(matchedLineHtmlStyle=true)} and
>>>>>>>>> ${FAILED_TESTS()}. Please give that a try. I should also be releasing 
>>>>>>>>> a new
>>>>>>>>> version of email-ext soon, just have some final testing to do.
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> On Wed, Jul 17, 2013 at 8:45 AM, Michael Bukosky <
>>>>>>>>> [email protected]> wrote:
>>>>>>>>>
>>>>>>>>>> Hi,
>>>>>>>>>>
>>>>>>>>>> I am currently trying to write a custom build/failure email for
>>>>>>>>>> the Jenkins - Email-ext plugin. I decided to write the email as a 
>>>>>>>>>> groovy
>>>>>>>>>> template because of the useful 'Email Template Testing' feature
>>>>>>>>>> in Email-ext. I would like to use a combination of groovy script and 
>>>>>>>>>> the
>>>>>>>>>> built in Token Macros. I am having a difficult time trying to figure 
>>>>>>>>>> out if
>>>>>>>>>> I am doing this incorrectly or if it simply is not supported. Here 
>>>>>>>>>> is a
>>>>>>>>>> simple code snippet
>>>>>>>>>>
>>>>>>>>>> ... <truncated>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>> <dt><font color="#FFFFFF" face="Calibri,Arial"
>>>>>>>>>>> size="2"><strong>Cause</strong></font></dt>
>>>>>>>>>>> <dd><font color="#141414" face="Calibri,Arial"
>>>>>>>>>>> size="2">${build.causes}</font></dd>
>>>>>>>>>>>
>>>>>>>>>>> <dt><font color="#FFFFFF" face="Calibri,Arial"
>>>>>>>>>>> size="2"><strong>Build log extract</strong></font></dt>
>>>>>>>>>>> <dd><font color="#141414" face="Calibri,Arial"
>>>>>>>>>>> size="2">${BUILD_LOG_REGEX, matchedLineHtmlStyle=true}</
>>>>>>>>>>> font></dd>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>> <dt><font color="#FFFFFF" face="Calibri,Arial"
>>>>>>>>>>> size="2"><strong>Failed Tests</strong></font></dt>
>>>>>>>>>>
>>>>>>>>>> <dd><font color="#141414" face="Calibri,Arial"
>>>>>>>>>>> size="2">${FAILED_TESTS}</font></dd>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>> ...<truncated>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> After much goggling, I found a few links that support my theory
>>>>>>>>>> that these features are not supported yet.
>>>>>>>>>>
>>>>>>>>>> Token Macro - https://github.com/jenkinsci/token-macro-plugin/
>>>>>>>>>> commit/d3995df361ab9a3aed09f57da0cb6d0fdc67cbfb
>>>>>>>>>> Token Macros via groovy (2.30.3-SNAPSHOT) - https://
>>>>>>>>>> github.com/jenkinsci/email-ext-plugin/commit/
>>>>>>>>>> f168dd561922254652f78f254b1bdfb8152860a8
>>>>>>>>>>
>>>>>>>>>> If this is truly the case, I was wondering if it would be
>>>>>>>>>> possible to use and test the snapshop release. I am a newer user to 
>>>>>>>>>> Jenkins
>>>>>>>>>> and have not used a snapshot before. Does anyone know how to pull the
>>>>>>>>>> (2.30.3-SNAPSHOT) and use it in my local Jenkins?
>>>>>>>>>>
>>>>>>>>>> Thanks for all your help.
>>>>>>>>>>
>>>>>>>>>> Mike
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> --
>>>>>>>>> Website: http://earl-of-code.com
>>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> --
>>>>>>>> Website: http://earl-of-code.com
>>>>>>>>
>>>>>>> --
>>>>>>> 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].
>>>>>>> For more options, visit https://groups.google.com/groups/opt_out.
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> --
>>>>>> Website: http://earl-of-code.com
>>>>>>
>>>>> --
>>>>> 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/3d4db1a4-e2e7-42b9-85d9-0fc4760bb1ef%40googlegroups.com
>>>>> <https://groups.google.com/d/msgid/jenkinsci-users/3d4db1a4-e2e7-42b9-85d9-0fc4760bb1ef%40googlegroups.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/41750d56-8dfb-4284-a638-82bfcaa016bf%40googlegroups.com
>> <https://groups.google.com/d/msgid/jenkinsci-users/41750d56-8dfb-4284-a638-82bfcaa016bf%40googlegroups.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/CAPiUgVe%3D01FOAYbKOL1Bsr05t4YUDYDix_ksJhK1TUn%3Di0nrpg%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to