Я использую Editable Email plugin в Jenkins, чтобы прикрепить файл по электронной почте. Проблема в том, что плагин не может найти прикрепленный файл.
Моя файловая структура похожа на это -
ReportDirectory
рабочее пространство
ReportDirectory содержит отчет, который я хочу добавить. Я считаю, что базовый каталог для плагина - это рабочее пространство. Поэтому я указываю местоположение приложения как
.. /ReportDirectory/DemoReport.html.
Я также пробовал
ReportDirectory/DemoReport.html
и многое другое.
Я что-то делаю неправильно?
Ответ 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