学习笔记《零信API》

今天尝试用零信的 API 实现对持续集成过程的通知功能,顺便整理一下这段时间对零信 API 的使用经验,随着更多接口的使用,这篇文字会继续更新

Github 的 webhook

这种使用方式最简单,直接在 Github 上开启一个 webhook,绑定在某个群组上,每次有人提交了代码,就会有一个自动通知

Incoming接口

Incoming 接口是零信官方提供的消息接口,可以推送出一条漂亮的消息,完整的 JSON 数据格式是:

{
  "text": "文本",
  "channel": "#频道名字 或 @用户名字",
  "photoUrl": "图片 URL",
  "attachments": [{
    "title": "标题",
    "description": "描述",
    "url": "链接",
    "color": "warning|info|primary|error|muted|success"
  }],
  "displayUser": {
    "name": "应用名称",
    "avatarUrl": "头像地址"
  },
  "buttons": [
    {
      "text": "button label",
      "url": "http://domain.com/foo.html",
      "action": "action_1",
      "callbackUrl": "http://foo.dev/inline-button-handler"
    }
  ]
}

PHP 的代码是:

$data = [
    'text' => $text,
    'displayUser' => [
        'name' => '测试服务器',
        'avatarUrl' => "http://oe9f7btce.bkt.clouddn.com/cat.jpg",
    ]
];

$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, "https://hooks.pubu.im/services/74q8q92gnxp4irl");
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json'));
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));

curl_exec($ch);

curl_close($ch);

你可能感兴趣的:(学习笔记《零信API》)