通过 HTTP 访问服务器
warning
使用 TeamCity REST API 从脚本访问服务器。 这一部分已经过时,仅用于与之前的 TeamCity 版本进行向后兼容,以及实现某些特定功能。
以下示例假设您的服务器web UI可以通过 http://teamcity.jetbrains.com:8111/ URL访问。
TeamCity 服务器支持基本的 HTTP 认证,允许用户访问某些网页服务器页面并从各种脚本执行操作。 请参阅客户端工具/库的手册,了解如何在发出请求时提供基本的 HTTP 凭证。
使用有效的 TeamCity 服务器用户名和密码进行基本的 HTTP 身份验证。 执行操作需要适当的用户权限。
tip
您可能希望配置服务器以使用 HTTPS,因为在基础 HTTP 认证过程中,用户名和密码以不安全的形式传输。
为了在没有提供凭证的情况下强制使用基本的 HTTP 认证,而不是重定向到登录页面,您需要在常规的 TeamCity URL 中预添加一个路径,如 /httpAuth
提到的。 例如:
http://teamcity.jetbrains.com:8111/httpAuth/action.html?add2Queue=MyBuildConf
HTTP 认证在 下载构建工件 和触发构建时可能会有用。
如果您启用了 Guest 用户,也可以使用它来执行此操作。 使用 /guestAuth
在 URL 路径前执行代表访客用户的操作。 例如:
http://teamcity.jetbrains.com:8111/guestAuth/action.html?add2Queue=MyBuildConf
tip
确保用于进行身份验证的用户(或Guest用户)具有执行必要操作的适当角色。
warning
使用 TeamCity REST API 来触发构建。 以下部分已经过时,仅出于兼容性目的而保留。
为了触发构建,向执行基本 HTTP 认证的 URL 发送 HTTP POST
请求:
http://<server address>/httpAuth/action.html?add2Queue=<build configuration ID>
某些工具(例如,Wget)支持以下基础 HTTP 认证的语法:
http://<user name>:<user password>@<server address>/httpAuth/action.html?add2Queue=<build configuration Id>
示例:
http://testuser:testpassword@teamcity.jetbrains.com:8111/httpAuth/action.html?add2Queue=MyBuildConf
您可以通过传递带有代理 ID 的额外 agentId
参数在特定代理上触发构建。 您可以从代理详情页面的 URL 中获取代理 Id :代理 | <代理名称>。 例如,如果代理的详细信息页面的URL如下,则可以推断出该代理的Id等于 "2":
http://teamcity.jetbrains.com:8111/agentDetails.html?id=2
要同时在两个代理上触发构建,使用以下URL:
http://testuser:testpassword@teamcity.jetbrains.com:8111/httpAuth/action.html?add2Queue=MyBuildConf&agentId=1&agentId=2
要在所有启用且兼容的代理上触发构建,请使用 allEnabledCompatible
作为代理 ID:
http://testuser:testpassword@teamcity.jetbrains.com:8111/httpAuth/action.html?add2Queue=MyBuildConf&agentId=allEnabledCompatible
TeamCity 允许您使用自定义参数触发构建。 您可以选择特定的构建代理来运行构建,定义额外的属性和环境变量,并选择特定的源代码修订版本(通过指定要包含在构建中的最后更改)来运行构建。 这些定制只会影响被触发的单一构建,不会影响构建配置的其他构建。
为了触发一个特定变更的构建,包括在内,请使用以下的网址:
http://testuser:testpassword@teamcity.jetbrains.com:8111/httpAuth/action.html?add2Queue=MyBuildConf&modificationId=11112
modificationId
— 可从网页差异 URL 获取的内部修改 / 更改 id。
要触发带有自定义参数(系统属性和环境变量)的构建,请使用:
http://testuser:testpassword@teamcity.jetbrains.com:8111/httpAuth/action.html?add2Queue=MyBuildConf&name=<full property name1>&value=<value1>&name=<full property name2>&value=<value2>
其中 <full property name>
是带有 system./env 的完整属性名称。 定义配置参数时,可以选择使用或不使用前缀。 请注意,早期的 TeamCity 版本对这个操作使用了不同的语法。 尽管如此,由于兼容性原因,该语法仍然得到支持。
要将构建移至队列顶部,可在查询字符串中添加以下内容: &moveToTop=true
要运行个人构建,将 &personal=true
添加到查询字符串中。
在功能分支上运行构建:
http://testuser:testpassword@teamcity.jetbrains.com/httpAuth/action.html?add2Queue=bt10&branchName=master
感谢您的反馈!