我在TeamCity的一个构建配置中有一个名为“testing”的配置参数。在TeamCity的REST API文档here服用后一看,我能得到关于使用,下列curl命令行此参数的信息命令在Windows上:如何使用REST + cURL更新TeamCity构建参数
(1) curl -X GET -H "Authorization: Basic (...)" http://teamcity:8080/httpAuth/app/rest/buildTypes/id:bt7/parameters
(2) curl -X GET -H "Authorization: Basic (...)" http://teamcity:8080/httpAuth/app/rest/buildTypes/id:bt7/parameters/testing
响应:
(1) <?xml version="1.0" encoding="UTF-8" standalone="yes"?><property name="testing" value="11"/></properties>
(2) 11
但后来,当我尝试更新此“测试”使用下面的命令来构建参数,我得到一个错误信息:
curl -X PUT -d "1" -H "Authorization: Basic (...)" http://teamcity:8080/httpAuth/app/rest/buildTypes/id:bt7/parameters/testing
响应:
Error has occurred during request processing (Unsupported Media Type).
Error: javax.ws.rs.WebApplicationException
Not supported request. Please check URL, HTTP method and transfered data are correct.
我已经成功地使用了类似的命令来更新同一构建配置的buildNumberCounter设置:
curl -X PUT -d "1" -H "Authorization: Basic (...)" http://teamcity:8080/httpAuth/app/rest/buildTypes/id:bt7/settings/buildNumberCounter
这就是为什么我认为我可以做同样以类似的方式构建参数。我在这里错过了什么?
UPDATE:
我设法更新了 “测试” 建立与值 “1” 使用招参数。我组成的要求有以下内容:
- 请求:
PUT
- 网址:
http://teamcity:8080/httpAuth/app/rest/buildTypes/id:bt7/parameters/testing
- 请求头:
Authorization: Basic (...)
- 请求正文:
1
所以我卷曲问题上面的命令可能是围绕-d“1”选项的某处。但是哪里?
更新2:
我不知道是否有什么差别,但我用this卷曲建立在Windows 7
我发现这个在TeamCity的REST API文档:'构建配置参数:GET /删除/ PUT HTTP://teamcity:8111/httpAuth/app/rest/buildTypes//parameters/(接受/生成文本/纯文本)'也看到我上面的更新,我设法更新参数与Fiddler没有手动设置内容类型转换为XML。 –
remark
2013-02-20 14:53:00
实际上,这个引用基本上是通过指定所需的内容类型来阐明的。你只需要把它放到标题中。请参阅下面的答案。 – 2013-09-04 14:19:20