我有配置参数 current_build_date (用户自定义参数)我想通过API TeamCity将此参数设置为当前日期。
在我看过的文档上:
http://teamcity:8111/httpAuth/app/rest/buildTypes/<buildTypeLocator>/parameters/<parameter_name>
我知道构建配置ID ,但我无法理解如何使 buildTypeLocator 。
我假设结果将是这样的:
curl -u Login:Password \
-X PUT \
-d 'valueOfMyParam' \
-H 'Content-Type: text/plain' \
http://teamcity:8111/httpAuth/app/rest/buildTypes/<buildTypeLocator>/parameters/current_build_date
如果知道TeamCity API的人会帮我解决这个问题,我将非常感激。
我尝试过传递而不是buildTypeLocator我的Build配置ID而且我得到了错误:
[17:08:25][Step 3/3] Error has occurred during request processing (Not Found).
[17:08:25][Step 3/3] Error: jetbrains.buildServer.server.rest.errors.NotFoundException: No project found by name or internal/external id 'BuildConfigurationID'.
如果我的问题有任何问题或含糊不清,请添加评论,我会尽力解决。
答案 0 :(得分:3)
如果您在浏览器中浏览REST API端点,您将能够看到构建定位器的格式。
访问http://teamcity:8111/httpAuth/app/rest/buildTypes/
,您会看到条目的href属性包含buildLocator(通常是属性:值组合)
然后,您就可以使用该网址进行导航/通过API进行通信
希望这有帮助
答案 1 :(得分:0)
我解决了问题:构建类型定位器是 id:构建配置ID
current_build_date=`date +%%Y-%%m-%%d:%%H:%%M:%%S`
echo $current_build_date;
curl -u Login:Password \
-X PUT \
-d $current_build_date \
-H 'Content-Type: text/plain' \
https://teamcity.billing.ru/httpAuth/app/rest/buildTypes/id:Build
configuration ID/parameters/current_build_date