从我刚刚在 Jenkins 工作中推送的提交中获取更改 ID?
Get change id from the commit i just pushed in a Jenkins job?
我需要从 gerrit 中获取更改 ID,我使用以下代码推送同一个作业
git status
git add -A
git commit -m "Jenkins passed job commit"
git push origin HEAD:refs/for/branch_name/Topic_name
原因是我还需要为它提供评论 +1 标签,我想对于 ssh api 调用我需要更改号码。
也欢迎其他为特定提交设置审查标签的解决方案!
谢谢!
当您执行“git push”命令时,您会收到类似于以下输出的内容:
remote: Processing changes: refs: 1, new: 1, done
remote:
remote: SUCCESS
remote:
remote: https://GERRIT-SERVER/c/sandbox/helloworld/+/72712 Do a generic change [NEW]
remote:
To https://GERRIT-SERVER/a/sandbox/helloworld
* [new branch] HEAD -> refs/for/master
您可以将此输出重定向到执行以下操作的文件:
git push origin HEAD:refs/for/master 2>&1 | tee output.log
然后可以通过以下命令获取Change-Id:
if grep -q "SUCCESS" output.log
then
changeid=$(grep "remote:" output.log | grep "GERRIT-SERVER" | cut -d "+" -f 2 | cut -d "/" -f 2 | cut -d " " -f 1)
fi
我需要从 gerrit 中获取更改 ID,我使用以下代码推送同一个作业
git status
git add -A
git commit -m "Jenkins passed job commit"
git push origin HEAD:refs/for/branch_name/Topic_name
原因是我还需要为它提供评论 +1 标签,我想对于 ssh api 调用我需要更改号码。 也欢迎其他为特定提交设置审查标签的解决方案!
谢谢!
当您执行“git push”命令时,您会收到类似于以下输出的内容:
remote: Processing changes: refs: 1, new: 1, done
remote:
remote: SUCCESS
remote:
remote: https://GERRIT-SERVER/c/sandbox/helloworld/+/72712 Do a generic change [NEW]
remote:
To https://GERRIT-SERVER/a/sandbox/helloworld
* [new branch] HEAD -> refs/for/master
您可以将此输出重定向到执行以下操作的文件:
git push origin HEAD:refs/for/master 2>&1 | tee output.log
然后可以通过以下命令获取Change-Id:
if grep -q "SUCCESS" output.log
then
changeid=$(grep "remote:" output.log | grep "GERRIT-SERVER" | cut -d "+" -f 2 | cut -d "/" -f 2 | cut -d " " -f 1)
fi