Setup Declarative Script currentBuild.ChangeSets

1,627 views
Skip to first unread message

Joaquin Henriquez

unread,
Jul 26, 2017, 11:56:01 AM7/26/17
to jenkins...@googlegroups.com

Hi Guys

 

Does somebody has an example on the currentBuild.ChangeSets?

Jenkins 2.60.2

 

On the Jelly emailext template (seems on the forEach changeSet.logs there is nothing).

Do I need to put anything on the declarative script before? On my file it is under post,success

 

    <div class="content">

    <!-- CHANGE SET -->

      <j:set var="changeSet" value="${build.changeSets}" />

      <j:if test="${changeSet!=null}">

        <j:set var="hadChanges" value="false" />

        <a href="${rooturl}${build.url}/changes">

          <h1>Changes</h1>

        </a>

        <j:forEach var="cs" items="${changeSet.logs}" varStatus="loop">

          <j:set var="hadChanges" value="true" />

          <h2>${cs.msgAnnotated}</h2>

          <p>by <em>${cs.author}</em></p>

          <table>

            <j:forEach var="p" items="${cs.affectedFiles}">

              <tr>

                <td width="10%">${spc}${p.editType.name}</td>

                <td>

                  <tt>${p.path}</tt>

                </td>

              </tr>

            </j:forEach>

          </table>

        </j:forEach>

        <j:if test="${!hadChanges}">

          <p>No Changes</p>

        </j:if>

        <br />

      </j:if>

    </div>

 

 

 

No Changes

 

 

Slide

unread,
Jul 26, 2017, 12:26:16 PM7/26/17
to jenkins...@googlegroups.com
getChangeSets (build.changeSets) returns a list of hudson.scm.ChangeLogSet<? extends hudson.scm.ChangeLogSet.Entry>, which means you need an inner loop to iterate over each entry of each ChangeLogSet.

--
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 jenkinsci-use...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/jenkinsci-users/67680dbae74547958c3aac472cca59a7%40BSKEXCH2013HYPV.mwrinfosecurity.com.
For more options, visit https://groups.google.com/d/optout.

Joe Cavanaugh

unread,
Jul 26, 2017, 3:39:56 PM7/26/17
to Jenkins Users, joaquin....@countercept.com
I've used a modified version of the scripts found on https://support.cloudbees.com/hc/en-us/articles/217630098-How-to-access-Changelogs-in-a-Pipeline-Job- to great success by putting them as @NonCPS on the bottom of my declarative pipeline. Just recently I have moved the script to a global library that is now referenced in each corresponding job.
Reply all
Reply to author
Forward
0 new messages