Показать изменения с файлами в уведомлении TeamCity 5.1 - PullRequest
2 голосов
/ 21 апреля 2010

Я хотел бы включить список измененных файлов в уведомление по электронной почте TeamCity 5.1, которое отправляется моей команде после успешной или неудачной сборки. Я просмотрел документацию Настройка уведомлений в TeamCity 5.1 и посмотрел файлы шаблонов .ftl, найденные в папке config \ _notifications \ email, но я не нашел список доступных переменных шаблона или альтернативных образцы шаблонов. Мне удалось включить список измененных файлов в предыдущих версиях TeamCity (я думаю, что это упоминалось как «Изменения с файлами»), но мне не повезло с TeamCity 5.1. Есть идеи?

Ответы [ 2 ]

7 голосов
/ 14 декабря 2011

Мне удалось заставить это работать в TeamCity 6, поэтому я не знаю, работает ли он на 5.1 или нет, но вот что я сделал, основываясь на чтении примера из справочной документации.

Отредактировано common.ftl для добавления

<#macro build_changes_files bean>
  <#-- @ftlvariable name="buildType" type="jetbrains.buildServer.serverSide.SBuildType" -->
  <#-- @ftlvariable name="bean" type="jetbrains.buildServer.notification.impl.ChangesBean" -->
  <#-- @ftlvariable name="webLinks" type="jetbrains.buildServer.serverSide.WebLinks" -->
  <div>
    <#assign modNum=bean.modificationsNumber/>
    <#if (modNum > 0)>
      <hr>
      <div>
        <#assign changesLink><a href='${webLinks.getViewChangesUrl(bean.build)}'>${modNum} change<@plural modNum/></a></#assign>
        Changes included (${changesLink})<#if bean.changesClipped>,
        only ${bean.modifications?size} are shown</#if>.
      </div>
      <#list bean.modifications as mod>
        <#assign pers><#if mod.personal>(personal build)</#if></#assign>
        <#assign description=mod.description/>
        <#if description?length == 0><#assign description='&lt;no comment&gt;'/></#if>
        <div>
          <#assign modLink><a href='${webLinks.getChangeFilesUrl(mod.id, mod.personal)}'>${mod.changes?size} file<@plural mod.changes?size/></a></#assign>
          Change ${mod.displayVersion} ${pers} by ${mod.userName} (${modLink}):
          <i>${description?trim}</i>.
          <br>
          <br>
          <b>Files:</b>
          <br>
          <ul>
          <#list mod.getFilteredChanges(buildType) as change>
            <li>${change.getRelativeFileName()} - ${change.getChangeTypeName()}
            </li>
          </#list>
          </ul>
        </div>
      </#list>
    </#if>
  </div>
</#macro>

Затем в * build_started.ftl * (или любом другом подходящем файле FTL), где я хотел перечислить измененные файлы, которые я поместил:

<@common.build_changes_files var.changesBean/>
0 голосов
/ 03 августа 2010

Упомянутая вами справочная ссылка ссылается на переменную var.buildChanges. Я считаю, что это именно то, что вы ищете.

...