Подтвердить что ты не робот

Приложение с расширением Editable Email Extension в Jenkins

Я использую Editable Email plugin в Jenkins, чтобы прикрепить файл по электронной почте. Проблема в том, что плагин не может найти прикрепленный файл.

Моя файловая структура похожа на это -
ReportDirectory
рабочее пространство

ReportDirectory содержит отчет, который я хочу добавить. Я считаю, что базовый каталог для плагина - это рабочее пространство. Поэтому я указываю местоположение приложения как .. /ReportDirectory/DemoReport.html. Я также пробовал ReportDirectory/DemoReport.html

и многое другое. Я что-то делаю неправильно?

4b9b3361

Ответ 1

Я понял это.

Плагин Editable Email использует синтаксис файла Ant для поиска вложения. Когда я взял документацию для Ant Синтаксис файла (http://ant.apache.org/manual/dirtasks.html), он говорит, что

В общем, шаблоны считаются относительными путями относительно базового каталога, зависящего от задачи (атрибут dir в случае). Учитываются только файлы, найденные ниже этого базового каталога. Таким образом, хотя шаблон, такой как.. /foo.java, возможен, он не будет соответствовать чему-либо при применении, поскольку родитель базы данных никогда не будет проверять файлы.

Поскольку базовый каталог в этом случае является "рабочим пространством", а мой каталог "ReportDirectory" не находится в нем, поэтому Ant не может получить к нему доступ.

Существуют два решения:

  • Переместите "Каталог отчетов" где-нибудь в "рабочей области". Я не хотел этого, потому что я не хотел испортить рабочее пространство.
  • После создания отчета в "ReportDirectory" используйте Ant\MSBuild script, чтобы скопировать его временно в "рабочее пространство", а затем плагин электронной почты сможет получить к нему доступ, например, **/Report.html или что-то в этом роде.

@Amey - спасибо за ваши усилия, хотя:)

Ответ 2

Другое решение - создать символическую ссылку из $JENKINS_HOME/jobs/workspace/$workspace_name в путь с помощью $workspace_name. Этот способ работал у меня.

Ответ 3

ReportDirectory/DemoReport.html

- правильный способ сделать это.

Пожалуйста, имейте в виду, что путь к файлу и имя файла чувствительны к регистру, поэтому я предполагаю, что вы ввели правильное имя.

Еще одна вещь - проверить, что отчет действительно создан и находится по указанному вами пути.

Еще одна вещь, которую вы могли бы попробовать

ReportDirectory/*

Ответ 4

Jenkins будет использовать каталог, доступный в своей рабочей области.

Вы можете отправить несколько вложений, как показано ниже.

reportFolder/html/index.html, screenShotsFolder/screenShots/*. jpg

Ответ 5

Простой ответ: Скопируйте файл в рабочую область (в каталог заданий), затем в разделе "Вложение" просто дайте имя файла без кавычек или чего-либо еще. Это автоматически скажет Дженкинсу забрать ваш файл. Это! Просьба не путать себя, увидев все конфигурации.

Ответ 6

Как получить последний прикрепленный файл, но в этом случае, когда файл имеет определенный шаблон и не переопределяется? Пример: Root/TestResults/Final_Report_2015_11_07_06_47.pdf