1. 持续集成
  2. 词汇表
项目管理员指南 / 功能介绍 / 服务类型

服务类型

Service Hook 支持多种第三方服务平台,包括自建 HTTP Server、企业微信、钉钉、飞书、Jenkins 等。每个服务平台支持的事件有所差异,以及每个服务平台的发送行为所需参数配置也均不一样。

Webhook

支持发送服务事件到 HTTP 服务器,通过指定 URL 地址接收 POST 请求,可以将事件消息体发送到 HTTP 服务器。

支持事件

所有事件

发送行为

发送 HTTP POST 请求列表

标识:webhook_http_post

配置参数说明:

配置名 参数名 说明
服务 URL service_url HTTP Server 的接收请求的 URL 地址,建议使用 POST 方式接收。
签名令牌 token 通过 HMAC SHA1 加密算法、使用令牌作为 KEY 将发送内容加密后的值以十六进制显示(需要配置令牌),并包含前缀 sha1=
用户名 username HTTP 协议中 Authorization 请求消息头含有服务器用于验证用户代理身份的凭证中的用户名
密码 password HTTP 协议中 Authorization 请求消息头含有服务器用于验证用户代理身份的凭证中的密码
HTTP 请求头 headers HTTP 请求头,多个请求头请换行输入,示例:Accept: text/html
自定义模板 template 自定义模板内容,支持参数填充模板,如:${project.name}

请求消息体示例:

{
  "service_url": "https://example.com/post",
  "token": "123",
  "username": "admin",
  "password": "admin123",
  "headers": "Accept: text/html",
  "template": "测试模板 ${project.name}"
}
发送 HTTP GET 请求列表

标识:webhook_http_get

配置参数说明:

配置名 参数名 说明
服务 URL service_url HTTP Server 的接收请求的 URL 地址
用户名 username HTTP 协议中 Authorization 请求消息头含有服务器用于验证用户代理身份的凭证中的用户名
密码 password HTTP 协议中 Authorization 请求消息头含有服务器用于验证用户代理身份的凭证中的密码
HTTP 请求头 headers HTTP 请求头,多个请求头请换行输入,示例:Accept: text/html

请求消息体示例:

{
  "service_url": "https://example.com/post",
  "username": "admin",
  "password": "admin123",
  "headers": "Accept: text/html",
}

企业微信

支持发送服务事件到企业微信群聊机器人,通过在企业微信中开启群聊机器人。配置群聊机器人的 Web Hook URL 地址,可以将事件消息体或者自定义消息体发送给用户,支持文本和 Markdown 格式,支持 @ 群成员。

支持事件

所有事件

发送行为

发送到企业微信群聊

标识:wecom_group_chat_robot

配置参数说明:

配置名 参数名 说明
服务 URL service_url 企业微信群聊机器人中的 Webhook URL
消息类型 msg_type 支持 Markdown、Text、自定义模板类型,取值范围:(markdown、text、customize)
@userid mentioned @userid 提醒指定群聊人员(多个用,分隔),@all 标识提醒所有人,如果获取不到 userid 可以使用 @手机号,userid 是企业微信的用户唯一标识
@手机号 mentioned_mobile 被 @ 的成员的手机号(多个用,分隔),
自定义模板 template 自定义模板内容,支持参数填充模板,如:${project.name}

请求消息体示例:

{
  "service_url": "https://example.com/post",
  "msg_type": "markdown",
  "mentioned": "ZhangSan",
  "mentioned_mobile": "18000000000",
  "template": "测试模板 ${project.name}"
}

钉钉

支持发送服务事件到钉钉群聊机器人,通过在钉钉中开启群聊机器人,配置群聊机器人的 Web Hook URL 地址,可以将事件消息体或者自定义消息体发送给用户,支持文本和 Markdown 格式,支持 @群成员。

支持事件

所有事件

发送行为

发送到钉钉群聊

标识:dingding_group_chat_robot

配置参数说明:

配置名 参数名 说明
服务 URL service_url 钉钉群聊机器人中的 Webhook URL
消息类型 msg_type 支持 Markdown、Text、自定义模板类型,取值范围:(markdown、text、customize)
签名 sign 创建钉钉群聊机器人时,可自动生成机器人的签名,如开启签名,请输入签名内容
@userid at_user_ids @userid 提醒指定群聊人员(多个用,分隔),@all 标识提醒所有人,如果获取不到 userid 可以使用 @手机号,userid 是企业微信的用户唯一标识
@手机号 at_mobiles 被 @ 的成员的手机号(多个用,分隔),
自定义模板 template 自定义模板内容,支持参数填充模板,如:${project.name}

请求消息体示例:

{
  "service_url": "https://example.com/post",
  "msg_type": "markdown",
  "sign": "SECd9864f0807848984ccac3e6c2c21086139de2d40f20e064a3fc16346694c54f2",
  "at_user_ids": "ZhangSan",
  "at_mobiles": "18000000000",
  "template": "测试模板 ${project.name}"
}

飞书

支持发送服务事件到飞书群聊机器人,通过在飞书中开启群聊机器人,配置群聊机器人的 Web Hook URL 地址,可以将事件消息体或者自定义消息体发送给用户,支持文本和 Markdown 格式。

支持事件

所有事件

发送行为

发送到飞书群聊

标识:feishu_group_chat_robot

配置参数说明:

配置名 参数名 说明
服务 URL service_url 飞书群聊机器人中的 Webhook URL
消息类型 msg_type 支持 Text、自定义模板类型,取值范围:(text、customize)
签名 sign 创建飞书群聊机器人时,可自动生成机器人的签名,如开启签名,请输入签名内容
自定义模板 template 自定义模板内容,支持参数填充模板,如:${project.name}

请求消息体示例:

{
  "service_url": "https://example.com/post",
  "msg_type": "text",
  "sign": "SECd9864f0807848984ccac3e6c2c21086139de2d40f20e064a3fc16346694c54f2",
  "template": "测试模板 ${project.name}"
}

Jenkins

支持发送服务事件到 Jenkins 服务,通过配置 Jenkins 的 Web Hook URL 地址,可以将事件消息体发送到 Jenkins 并触发通用构建 Job。查看帮助文档。

支持事件

代码推送

发送行为

触发通用构建

标识:jenkins_generic_build_job

配置参数说明:

配置名 参数名 说明
服务 URL service_url Jenkins Generic Webhook Trigger 插件中配置的 URL
构建 Token build_token 构建 Token,将通过请求头 Authorization Bearer 方式发送给 Generic Webhook Trigger 插件
构建参数 build_args 构建参数,请输入 JSON 格式参数,如:{“arg”:”value”}
请求参数 request_parameters URL 链接参数,如:project=example&job=1
请求头参数 header_parameters HTTP 请求头参数,多个请求头请换行输入,示例:Accept: text/html
自定义模板 template 自定义模板内容,支持参数填充模板,如:${project.name}

请求消息体示例:

{
  "service_url": "https://example.com/post",
  "build_token": "admin",
  "build_args": "{\"arg\":\"value\"}",
  "request_parameters": "project=example&job=1 ",
  "header_parameters": "Accept: text/html",
  "template": "测试模板 ${project.name}"
}

上一篇功能介绍
最近更新
感谢反馈有用
感谢反馈没用

在阅读中是否遇到以下问题?

您希望我们如何改进?