栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

如何与从gerrit获取commit信息

如何与从gerrit获取commit信息

1. python

cmd = 'ssh -o ConnectTimeout={timeout} -p {port} {server} gerrit query --format JSON --patch-sets {change_number}'

在python中就通过
output = subprocess.check_output([cmd], shell=True).decode('utf-8')
来获得patchset相关的内容。
得到的是一个json格式的串,通过解析该json就可以得到你想要的内容。

tidy_json = json.loads(output.split("n")[0])

接下来就可以直接从里面获取key value
如:
branch = tidy_json['branch']

2. shell

此处只获取的changed files信息,其他的类似,主要使用jq去提取信息。

cmd="ssh -o ConnectTimeout=${timeout} -p ${port} gerrit.ericsson.se gerrit query --format=JSON --files --current-patch-set change:${change}"

GERRIT_CHANGE_FILES=$($cmd | jq ".currentPatchSet | select(.!=null) | .files[] | 
           .file, .fileOld | select(.!=null) | select(.!="/COMMIT_MSG")" -r | uniq )

or 

cmd="ssh -o ConnectTimeout=${timeout} -p ${port} gerrit.ericsson.se gerrit query --format=JSON --files --patch-sets change:${change}"

GERRIT_CHANGE_FILES=$($gqcmd | jq ".patchSets | select(.!=null) | .[] | 
           select(.number==${patchset}) | .files[] | .file, .fileOld | select(.!=null) | 
           select(.!="/COMMIT_MSG")" -r | uniq )
 

 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/327016.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号