加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

如何为Xcode Bot“运行脚本”触发器获取提交的SHA?更新Github上

发布时间:2020-12-14 19:24:26 所属栏目:百科 来源:网络整理
导读:我创建了一个 Xcode Bot,它集成在每次提交时. 在“运行脚本”触发器中,我想使用已运行的测试的集成状态更新当前的GitHub提交.相当标准的CI东西. 然后我将运行如下的脚本: curl -i -X POST -H "Content-type: application/json"-H 'Authorization: token TOK
我创建了一个 Xcode Bot,它集成在每次提交时.

在“运行脚本”触发器中,我想使用已运行的测试的集成状态更新当前的GitHub提交.相当标准的CI东西.

然后我将运行如下的脚本:

curl -i -X POST -H "Content-type: application/json"
-H 'Authorization: token TOKEN_HERE' -d 
'{
"state": "success","target_url": "https://example.com/build/status","description": "The build succeeded!","context": "continuous-integration/jenkins"
}' 
https://api.github.com/repos/ORGANIZATION_HERE/REPO_HERE/statuses/SHA_HERE

看起来我将能够从Xcode Bot Environment变量获得成功或失败状态:

Access build folder in Xcode Server CI bot run (env variables?)

但是,未列出当前提交的SHA.如何在此时获取用于Integration的提交的SHA,以便在GitHub Status API请求中使用?

解决方法

XCS_OUTPUT_DIR有一个名为sourceControl.log的文件.此文件包含以下日志:

"DVTSourceControlLocationRevisionKey" : "3787c0d9e5107861a8b8d4c7300b2d414ad41dbb",

您可以解析该日志以查找SHA.

也许更实际的是,CaveJohnson可以拉SHA:

PATH=/Library/Frameworks/Python.framework/Versions/3.4/bin:$PATH
SHA=`cavejohnson getSha`

或者它可以继续并将GitHub状态设置为单行:

#!/bin/bash
PATH=/Library/Frameworks/Python.framework/Versions/3.4/bin:$PATH
cavejohnson setGithubStatus

值得注意的是,有更多的状态,而不仅仅是成功和失败,我至少知道6个.您可以在我的Xcode 6 CI Missing Manual中了解更多相关信息.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读