当前位置 huginn huginn 正文 下一篇:

实现给 huginn 发条消息就能自动重启服务器

需求

有时候重启 vps,需要登录在网页上操作,很麻烦,查了下有相关的 api 做这个事,最好是我在 slack 里发条消息(重启 xx 主机),然后自动重启.

重点

实现的重点是 怎么让 Huginn 收到 slack 的消息,huginn 上的 slack agent 是发送消息到 slack, 而不能反过来,查了下 slack 文档,能实现的是 botapp,决定采用 app

实现

首先在 huginn 创建 WebhookAgent,options 如下:

{
  "secret": "123456",//这里随便填
  "expected_receive_period_in_days": 1,
  "payload_path": ".",
  "code": "200",
  "response": "{{challenge}}"
}

response 必须是{{challenge}},然后创建,可以看到 webhook api url ,一般是这种形式 http://1.2.3.4/users/1/web_requests/1/123456, 记下来,下一步会用.
然后在 slack 创建 app, 然后创建 Event Subscriptions,

然后填上上一步的 url, 添加 event, 填写 url 后会检查,如果失败,请检查上一步创建的 agent.

install APP, 然后授权下

以上步骤就 ok 了,然后你在公共 channel 里发条消息,检查下 agent events 有没有相关 event,类似这样:

然后写一个 trigger agent 过滤出重启 的消息,然后传递给一个 Post agent去调用 vps 的 API,测试下就 ok 了.

作者:Blankeer
链接:https://www.jianshu.com/p/6a964717cc4e

发表回复

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

关注微博
返回顶部