Как получить соответствующие артефакты сборки задания в Дженкинс? - PullRequest
4 голосов
/ 24 февраля 2012

Я создаю задания Jenkins, используя hudson.cli.CLI jar . Я выбрал «Архивировать артефакты» в разделе «Действия после сборки» . Он архивирует артефакты на каждом успешном построении. Я использую jenkins api http://localhost:8080/job/job_name/api/json для удаленного доступа, чтобы получить подробную информацию о jobs . и http://localhost:8080/job/job_name/job_number/api/json для получения подробной информации о сборках .

При удалении сборки соответствующие архивные артефакты не удаляются. Я хочу убедиться, что они удалены.

Когда я использую API jenkins для удаленного доступа http://localhost:8080/job/[job_name]/[job_number]/api/json для сборки, он возвращает данные json, которые содержат все ранее заархивированные артефакты (другие артефакты успешных сборок) с этим (выполняющейся сборкой) артефактом сборки. Как получить связанный артефакт сборки (успешная сборка должна возвращать свой артефакт, а не все предыдущие успешные артефакты). Есть предложения или идеи?

Ответы [ 2 ]

4 голосов
/ 09 августа 2012

Сборка без архивных артефактов будет иметь такой вывод json:

"artifacts":[]

Сборка с архивированными артефактами будет иметь такой вывод json:

"artifacts":[{"displayPath":"output","fileName":"output","relativePath":"output"}]

Этот артефактвидно на http://localhost:8080/job/[job_name]/[job_number]/artifact/

4 голосов
/ 26 февраля 2012

Я подозреваю, что вы не очищаете свое рабочее пространство между сборками и архивируете все найденные там артефакты, в том числе из предыдущих сборок.

...