notify-webhook 项目使用教程
1. 项目的目录结构及介绍
notify-webhook/
├── CONTRIBUTORS.markdown
├── LICENSE.txt
├── README.markdown
└── notify-webhook.py
- CONTRIBUTORS.markdown: 列出了项目的贡献者。
- LICENSE.txt: 项目的许可证文件,采用 GPL-3.0 许可证。
- README.markdown: 项目的说明文档,包含项目的基本信息和使用方法。
- notify-webhook.py: 项目的主要脚本文件,用于实现 Git post-receive 钩子功能。
2. 项目的启动文件介绍
notify-webhook.py 是项目的启动文件,它是一个 Git post-receive 钩子脚本,用于将 JSON 数据发送到支持 webhook 的服务器。该脚本实现了 GitHub Webhooks API 的大部分功能,允许任意 Git 仓库使用支持 webhook 的服务。
主要功能
- 将提交详情以 JSON 格式 POST 到配置的 webhook URL。
- 支持多个 webhook URL,按顺序发送提交详情。
- 支持基本和摘要认证。
- 支持 GitHub 兼容的 X-Hub-Signature 头部。
3. 项目的配置文件介绍
项目没有独立的配置文件,配置是通过 Git 配置文件进行的。以下是一些常用的配置参数:
配置参数
-
hooks.webhookurl:
- 描述: 指向 webhook 消费者的 URL。
- 默认值: None,如果未设置,将输出 JSON 数据。
- 示例:
git config hooks.webhookurl "http://example.net"
-
hooks.webhookurls:
- 描述: 多个 webhook URL 的列表。
- 默认值: None,如果未设置,将输出 JSON 数据。
- 示例:
git config hooks.webhookurls 'http://example.com/hook, "http://other.example.com/hook with comma"'
-
meta.ownername 和 meta.owneremail:
- 描述: 仓库所有者的名称和电子邮件。
- 默认值: None。
-
hooks.authuser 和 hooks.authpass:
- 描述: 用于基本和摘要认证的用户名和密码。
- 默认值: None。
-
hooks.authrealm:
- 描述: 用于摘要认证的领域。
- 默认值: None。
-
hooks.secrettoken:
- 描述: 用于 GitHub 兼容的 X-Hub-Signature 头部的秘密令牌。
- 默认值: None。
-
hooks.webhook-contenttype:
- 描述: 数据体的 Content Type。
- 支持的值:
application/x-www-form-urlencoded
(默认) 和application/json
。
配置示例
git config meta.url "http://example.com"
git config hooks.webhookurl "http://example.net"
git config hooks.webhookurls 'http://example.com/hook, "http://other.example.com/hook with comma"'
git config hooks.authuser "username"
git config hooks.authpass "password"
git config hooks.authrealm "realm"
git config hooks.secrettoken "secret"
git config hooks.webhook-contenttype "application/json"
通过以上配置,可以灵活地设置和使用 notify-webhook
项目。