2017-01-30 13 views
2

Можно ли связать сборку как пользовательский шаг сборки в TeamCity? У меня есть собственный скрипт, который использует остальные api для создания сборки, проблема в следующем: я хотел бы использовать этот скрипт как шаг сборки для текущей сборки. Например, если сборка имеет определенные параметры, я хочу ее закрепить. Апите остальное (насколько я могу сказать) даст только мне пин сборки, уже завершен, я получаю сообщение об ошибке:Выполнить сборку как шаг сборки в TeamCity

400 Responding with error, status code: 400 (Bad Request). 
Details: jetbrains.buildServer.server.rest.errors.BadRequestException: Cannot pin build that is not finished. 
Invalid request. Please check the request URL and data are correct. 

Есть ли способ обойти это?

+0

Это то, что вы имеете в виду: один из шагов сборки беговой сборки - это создание тегов/контактов, когда определенный параметр равен чему-то? – antonbormotov

+0

@antonbormotov Да, я хочу привязать сборку, когда какой-то параметр равен чему-то, но, видимо, вы не можете построить сборку, которая еще не закончена. –

ответ

2

Мы используем эту plugin и простой скрипт для tag сборки, когда он работает, если имя ветвь develop:

#!/bin/sh 
echo "%teamcity.build.vcs.branch.<VCS_ROOT_ID>%" | grep -q "develop" 
if [ $? -eq 0 ] 
then 
    echo "##teamcity[addBuildTag 'taged_build']" 
fi 

Этот плагин основан на Build Script Interaction with TeamCity.
Возможно, я ошибаюсь, но не сложно добавить build pin обработчику этого плагина.
Соответствие вашим требованиям?

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

+1

Благодарим за идею создания дополнительной конфигурации сборки и запуска этой сборки. –