将构建固定为TeamCity中的构建步骤

将构建固定为TeamCity中的构建步骤,teamcity,build-automation,Teamcity,Build Automation,是否可以将构建固定为TeamCity中的自定义构建步骤? 我有一个自定义脚本,它使用RESTAPI固定一个构建,问题是:我想使用这个脚本作为当前构建的构建步骤。例如,如果一个构建有某些参数,我想固定它。rest api(据我所知)只允许我在出现错误时锁定已完成的构建: 400 Responding with error, status code: 400 (Bad Request). Details: jetbrains.buildServer.server.rest.errors.BadReq

是否可以将构建固定为TeamCity中的自定义构建步骤? 我有一个自定义脚本,它使用RESTAPI固定一个构建,问题是:我想使用这个脚本作为当前构建的构建步骤。例如,如果一个构建有某些参数,我想固定它。rest api(据我所知)只允许我在出现错误时锁定已完成的构建:

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.
有办法解决这个问题吗?

如果分支名称为
develop
,我们在运行时使用这个简单的shell脚本来标记
构建:

#!/bin/sh
echo "%teamcity.build.vcs.branch.<VCS_ROOT_ID>%" | grep -q "develop"
if [ $? -eq 0 ]
then
    echo "##teamcity[addBuildTag 'taged_build']"
fi
#/垃圾箱/垃圾箱
echo“%teamcity.build.vcs.branch.%”grep-q“develop”
如果[$?-等式0]
然后
echo“##团队城市[addBuildTag'taged#u build']”
fi
此插件基于。
我可能错了,但将build
pin
handler添加到此插件看起来并不困难。
它符合你的要求吗


或者,您可以创建额外的构建配置,其中只包含一个步骤(api调用pin build)并在主构建配置中触发该构建。

这是什么意思:运行构建的一个构建步骤是在某些参数等于某个值时标记/pin build?@antonbormotov yes,当某个参数等于某个值时,我想锁定一个构建,但显然你不能锁定一个未完成的构建。感谢你提出的创建额外构建配置并触发该构建的想法。