teamcity rest api, чтобы получить количество сборок, генерирующих артефакты - PullRequest
0 голосов
/ 14 июня 2019

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

я пробовал Teamcity REST API: получить путь к артефакту , ноон не отвечает на мой вопрос

я хочу получить количество сборок teamcity, которые генерируют некоторую находку артефакта (в основном, для которого артефакты определены в разделе путей к артефактам на странице общих настроек) ежемесячно.Например, сколько таких сборок сработало в мае месяце.

1 Ответ

0 голосов
/ 18 июня 2019

вы можете получить список сборок, например /app/rest/builds/?locator=buildType:<conf id>, извлечь идентификатор и получить артефакты этой сборки

/app/rest/builds/id:<buildID>/artifacts/children/

<files count="1">
<file name="result.zip" size="73785398" modificationTime="20190617T162953+0000" href="/app/rest/builds/id:45771/artifacts/metadata/result.zip">
<content href="/app/rest/builds/id:45771/artifacts/content/result.zip"/>
</file>
</files>

как видите, я собираю все файлы в result.zip, давайте распакуем этот ZIP и посмотрим, что внутри

/app/rest/builds/id:<buildID>/artifacts/children/result.zip/

<files count="2">
<file name="bin" modificationTime="19700101T000000+0000" href="/app/rest/builds/id:45771/artifacts/metadata/result.zip%21/bin">
<children href="/app/rest/builds/id:45771/artifacts/children/result.zip%21/bin"/>
</file>
<file name="yaml" modificationTime="19700101T000000+0000" href="/app/rest/builds/id:45771/artifacts/metadata/result.zip%21/yaml">
<children href="/app/rest/builds/id:45771/artifacts/children/result.zip%21/yaml"/>
</file>
</files>

Таким образом, вы можете собирать конкретные сборки по состоянию на последний месяц по статусу.
Вы можете собирать пэт артефактов для каждой сборки.
И вы можете агрегировать все результаты, как вы хотите.

...