Gerrit Supported Hooks

Gerrit 支持哪些 hooks 呢?调用和传参的方式又是如何呢 ?

我们可以去参考这篇官方文档: Gerrit Supported Hooks
我们可以在 Gerrit 的安装目录下的 hooks 目录,创建如下标题的文件,当相应的事件发生时,会自动调用这些脚本,并传入相应的参数。但官方文档中描述传入的参数不够准确,可以自行测试。

传入参数测试脚本

这里采用发送飞书消息的形式,需要创建飞书自定义机器人,输出传入的参数。

#!/usr/bin/python3
#coding:utf-8

import sys
import requests
import json

# change-merged --change <change id> --change-url <change url> --change-owner <change owner> --change-owner-username <username> --project <project name> --branch <branch> --topic <topic> --submitter <submitter> --submitter-username <username> --commit <sha1> --newrev <sha1>
change-merged_argv = sys.argv[1:]
string = ""
for x in change-merged_argv:
    string += str(x)
    string += ","
print(string)

url = 'https://open.feishu.cn/open-apis/bot/v2/hook/1447d4ee-4b4c-4de6-b006-d74aaa769162'

method = 'post'
headers = {
    'Content-Type': 'application/json'
}
json = {
    "msg_type": "interactive",
    "card": {
        "config": {
            "wide_screen_mode": True
        },
        "elements": [{
            "tag": "div",
            "text": {
                "content": string,
                "tag": "lark_md"
            }
        }],
        "header": {
            "title": {
                "content": "Gerrit change-merged",
                "tag": "plain_text"
            }
        }
    }
}
requests.request(method=method, url=url, headers=headers, json=json)

自行测试结果

Synchronous Hooks

ref-update
commit-received
submit

Asynchronous Hooks

patchset-created

每当有新的代码提交时调用(这包括新的更改)。
patchset-created
–change Ia21d96fc3491f79b9beeb9e0dd0aeb9fad9f3fed
–is-draft false
–kind REWORK
–change-url http://gerrit.com/gerrit/5431
–change-owner Anonymous Coward (xxxx@qq.com)
–project rk3568_android11
–branch master
–uploader Anonymous Coward (xxxx@qq.com)
–commit c70a40eeef997ae6dc16abb72bccadc991de6d0e
–patchset 1

comment-added
change-merged

每当合并代码时调用。

change-abandoned
change-deleted
change-restored
ref-updated
project-created
reviewer-added

每当增加 reviewer 时调用,传入的参数如下:
reviewer-added
–change Ia7d3c63f7e7d073bfd70a625151a4b86859997b5
–change-url http://gerrit.com/gerrit/5437
–change-owner Anonymous Coward (xxxx@qq.com)
–project firmware
–branch master
–reviewer Anonymous Coward (xxxx@qq.com)

reviewer-deleted
topic-changed
hashtags-changed
cla-signed
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值