Webhooks

你可以使用 webhooks 在仓库中响应推送事件,从而触发另一项服务中的操作。Webhook 是发送到你在 Docker Hub 中定义的 URL 的 POST 请求。

创建 Webhook

创建 Webhook 的步骤

  1. 在你选择的仓库中,选择 Webhooks 选项卡。
  2. 提供 Webhook 的名称。
  3. 提供目标 Webhook URL。这是接收 webhook POST 请求的地址。
  4. 选择创建

查看 Webhook 交付历史记录

查看 Webhook 历史记录的步骤

  1. 将鼠标悬停在当前 Webhooks 部分下的 webhook 上。
  2. 选择菜单选项图标。
  3. 选择查看历史记录

然后,你可以查看交付历史记录,以及 POST 请求的交付是否成功。

Webhook 载荷示例

Webhook 载荷采用以下 JSON 格式

{
  "callback_url": "https://registry.hub.docker.com/u/svendowideit/testhook/hook/2141b5bi5i5b02bec211i4eeih0242eg11000a/",
  "push_data": {
    "pushed_at": 1417566161,
    "pusher": "trustedbuilder",
    "tag": "latest"
  },
  "repository": {
    "comment_count": 0,
    "date_created": 1417494799,
    "description": "",
    "dockerfile": "#\n# BUILD\u0009\u0009docker build -t svendowideit/apt-cacher .\n# RUN\u0009\u0009docker run -d -p 3142:3142 -name apt-cacher-run apt-cacher\n#\n# and then you can run containers with:\n# \u0009\u0009docker run -t -i -rm -e http_proxy http://192.168.1.2:3142/ debian bash\n#\nFROM\u0009\u0009ubuntu\n\n\nVOLUME\u0009\u0009[/var/cache/apt-cacher-ng]\nRUN\u0009\u0009apt-get update ; apt-get install -yq apt-cacher-ng\n\nEXPOSE \u0009\u00093142\nCMD\u0009\u0009chmod 777 /var/cache/apt-cacher-ng ; /etc/init.d/apt-cacher-ng start ; tail -f /var/log/apt-cacher-ng/*\n",
    "full_description": "Docker Hub based automated build from a GitHub repo",
    "is_official": false,
    "is_private": true,
    "is_trusted": true,
    "name": "testhook",
    "namespace": "svendowideit",
    "owner": "svendowideit",
    "repo_name": "svendowideit/testhook",
    "repo_url": "https://registry.hub.docker.com/u/svendowideit/testhook/",
    "star_count": 0,
    "status": "Active"
  }
}
页面选项