Dude. You're the man! That would be awesome to get the tokens working in
pipeline.

Thanks!

On Mon, Oct 8, 2018 at 1:57 PM Slide <[email protected]> wrote:

> The default templates have some information about getting info from
> changesets and so forth, you could look at those:
>
>
> https://github.com/jenkinsci/email-ext-plugin/blob/master/src/main/resources/hudson/plugins/emailext/templates/groovy-html.template#L88
>
>
> https://github.com/jenkinsci/email-ext-plugin/blob/master/src/main/resources/hudson/plugins/emailext/templates/groovy-html.template#L101
>
> I also opened a PR to the plugin to allow the tokens to work in groovy
> scripts:
>
> https://github.com/jenkinsci/email-ext-plugin/pull/173
>
>
>
> On Sun, Oct 7, 2018 at 9:03 PM Elisha Greenwald <[email protected]>
> wrote:
>
>> Thanks so much for looking. Really appreciate it. Any idea how to get the
>> git commit hash some other way? I've tried a bunch to no avail...
>>
>> On Sun, Oct 7, 2018, 11:26 PM Slide <[email protected]> wrote:
>>
>>> 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
>>> <https://groups.google.com/d/msgid/jenkinsci-users/CAPiUgVe%3D01FOAYbKOL1Bsr05t4YUDYDix_ksJhK1TUn%3Di0nrpg%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/CAGJdAxVp6sHnEmro4f3uUTMiautJO_7XkaXNAQHXJN9fE10Jfw%40mail.gmail.com
>> <https://groups.google.com/d/msgid/jenkinsci-users/CAGJdAxVp6sHnEmro4f3uUTMiautJO_7XkaXNAQHXJN9fE10Jfw%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/CAPiUgVfuJOtFS8jSXmrxqO_3ceYY4p0T2PfcERkfAyEnSUvwzQ%40mail.gmail.com
> <https://groups.google.com/d/msgid/jenkinsci-users/CAPiUgVfuJOtFS8jSXmrxqO_3ceYY4p0T2PfcERkfAyEnSUvwzQ%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/CAGJdAxU1z%3D6Z-nHS0WYy8U%3D-BPRmKdJUJQmf%2B4fw66_cAKtPZw%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to