使用脚本触发 Xcode 机器人
Using script to fire Xcode bot
有没有办法使用 shell 脚本手动触发现有的 Xcode 机器人?我有一个手动机器人,我想根据某些自定义逻辑标准启动它。
是的。
您需要做几件事:
首先,如果您在 Xcode 服务器 运行ning.[=20= 所在的计算机上,我将调用您的 Xcode 服务器的 IP 地址 XCS_IP,通常是本地主机]
找出机器人的 ID:在终端中,运行curl -k "https://XCS_IP:20343/api/bots"
。将输出复制到某个编辑器并为您的机器人找到键 _id
的值,类似于 6b3de48352a8126ce7e08ecf85093613
。我们称它为 BOT_ID
.
通过 运行ning curl -k -X POST -u "username:password" "https://XCS_IP:20343/api/bots/BOT_ID/integrations" -i
触发集成
其中 username
和 password
是允许在服务器上创建机器人的用户凭据,管理员可以。
如果您对更多细节感兴趣,我在 Swift 中有一个应用程序使用 API 以及更多:https://github.com/czechboy0/Buildasaur/blob/master/BuildaCIServer/XcodeServer.swift#L324
并查看我关于如何找到 Xcode 服务器的 API "documentation" 的文章:http://honzadvorsky.com/blog/2015/5/4/under-the-hood-of-xcode-server.
长话短说;博士?在您的 Mac 上,查看 /Applications/Xcode.app/Contents/Developer/usr/share/xcs/xcsd/routes/routes.js
,您可以在其中找到可用的 API。
希望对您有所帮助。
Apple 添加了 Xcode 服务器 API 的文档,您可以使用它来触发机器人。
下面是一些示例代码,说明如何制作可触发机器人的 python 脚本。
import requests
xcodeIP = '1.2.3.4.5'
def main():
botName = "name of bot"
runBot(botName)
def runBot(botName):
requests.post(xcodeIP + '/api/bots/' + getBot(botName)["_id"] + '/integrations', auth=('username', 'password'), verify=False)
def getBot(botName):
botIDRequest = requests.get(xcodeIP + '/api/bots', auth=('username', 'password'), verify=False)
bots = botIDRequest.json()["results"]
for bot in bots:
if bot["name"] == botName:
return bot
if __name__ == "__main__":
main()
有没有办法使用 shell 脚本手动触发现有的 Xcode 机器人?我有一个手动机器人,我想根据某些自定义逻辑标准启动它。
是的。
您需要做几件事: 首先,如果您在 Xcode 服务器 运行ning.[=20= 所在的计算机上,我将调用您的 Xcode 服务器的 IP 地址 XCS_IP,通常是本地主机]
找出机器人的 ID:在终端中,运行
curl -k "https://XCS_IP:20343/api/bots"
。将输出复制到某个编辑器并为您的机器人找到键_id
的值,类似于6b3de48352a8126ce7e08ecf85093613
。我们称它为BOT_ID
.通过 运行ning
curl -k -X POST -u "username:password" "https://XCS_IP:20343/api/bots/BOT_ID/integrations" -i
触发集成
其中 username
和 password
是允许在服务器上创建机器人的用户凭据,管理员可以。
如果您对更多细节感兴趣,我在 Swift 中有一个应用程序使用 API 以及更多:https://github.com/czechboy0/Buildasaur/blob/master/BuildaCIServer/XcodeServer.swift#L324
并查看我关于如何找到 Xcode 服务器的 API "documentation" 的文章:http://honzadvorsky.com/blog/2015/5/4/under-the-hood-of-xcode-server.
长话短说;博士?在您的 Mac 上,查看 /Applications/Xcode.app/Contents/Developer/usr/share/xcs/xcsd/routes/routes.js
,您可以在其中找到可用的 API。
希望对您有所帮助。
Apple 添加了 Xcode 服务器 API 的文档,您可以使用它来触发机器人。
下面是一些示例代码,说明如何制作可触发机器人的 python 脚本。
import requests
xcodeIP = '1.2.3.4.5'
def main():
botName = "name of bot"
runBot(botName)
def runBot(botName):
requests.post(xcodeIP + '/api/bots/' + getBot(botName)["_id"] + '/integrations', auth=('username', 'password'), verify=False)
def getBot(botName):
botIDRequest = requests.get(xcodeIP + '/api/bots', auth=('username', 'password'), verify=False)
bots = botIDRequest.json()["results"]
for bot in bots:
if bot["name"] == botName:
return bot
if __name__ == "__main__":
main()