这两天正愁没啥事干呢
忽然在宝塔的Docker里发现了这么一个玩意

于是整了一个玩玩,正好这两天做了一个博客评论发送至企业微信提示审核的插件,就想拿这个再折腾下企业微信机器人的玩法配置
安装
这个玩意就看自己吧,我这时候没写域名是方便测试,测试完直接使用反向代理就能用域名访问了,一样的

完成后直接通过IP+端口访问一下,进入初始化界面

虽然是英文界面,但其实还是很好理解的,问题不大,填完信息后直接下一步
跳转到了一个类似问卷的地方,那就根据自己的实际需要选选也行,随便选选也可以,无所谓啦

这里大概是提示你可以白嫖一些付费功能吧,有便宜不占傻子

接下来,你的邮箱会收到一个密钥
你只需点击左下角,选择Settings,填写你收到的密钥即可


配置
回到主界面,选择Create Workflow,点击中间的按钮,在右侧选择On app event


然后在上方搜索Github并选择On Push

然后就进入了这个编辑界面,先在Credential添加自己的github账号(创建的Token只需要授予repo的所有权限即可,其他的建议没需要别选)

添加完账户后,选择监听的用户的某个仓库,比如我监听我自己的KlpbbsAutoSignin仓库
然后点击左侧的Execute step,这时候会启动监听任务,去推送一下,然后右边就会出现很多推送相关的信息
点击右上角的pin来固定这些信息,方便等会填写Post body
因为企业微信是通过http请求来发送信息的,所以我们需要再创建一个http请求。
选择Core -> HTTP Request


填写相关的信息

METHOD选择POST
URL填写自己的企业微信机器人的URL
Send Header照着我的写即可
Send Body一定要填写JSON格式
我给各位看一下我的例子
{
"msgtype": "markdown",
"markdown": {
"content": "### GitHub 仓库更新\n> **仓库**: {{$json.body.repository.name}}\n> **时间**: {{ $json.body.commits[0].timestamp }}\n> **推送者**: {{$json.body.pusher.name}}\n> **最新提交**: \n```\n{{$json.body.commits[0] ? $json.body.commits[0].message : '无提交信息'}}\n```\n> [查看详情]({{$json.body.repository.html_url}})"
}
}注意,左边提供的那些信息可以直接拖动到这里面作为变量(绿色的)
因为企业微信支持Markdown格式,所以我直接使用Markdown了,看着好看就行,剩下的自己随意即可
然后点击右上角的Execute Step测试一下有没有问题,点击以后你的企业微信立马就会收到机器人的消息

接下来,按照方向排好,大概就是这样

这时候把右上角的激活打开,就可以再测试一下了,如果测试没问题,就可以把自己所有的库全部加进来了
配置反向代理
回到宝塔的网站界面,选择反向代理,添加反代

目标URL填写成指向本地的即可,域名先去相关的服务商那里添加个A记录,然后把域名写到这里就行了

然后去添加个白嫖的SSL证书并启用即可

一些问题:
使用AccessToken时报错
我不知道是什么造成的问题,因为根据N8N的文档,理论上只需要把repo相关的权限给了即可,但好像依然无法使用
所以我把登陆方式改成了OAuth,但是改成OAuth还有一个问题,就是N8N提供的回调地址是一个内网地址,即
https://localhost/rest/oauth2-credential/callback
这会导致我们在使用OAuth登录时提示
Be careful! The redirect_uri is not associated with this application. The application might be misconfigured or could be trying to redirect you to a website you weren't expecting.
这个是因为宝塔的Docker在环境变量中默认了
WEBHOOK_URL = https://localhost/
我们只需要把这个地址修改成自己的域名即可
评论
宝塔默认的Docker配置挺坑人的,所以我现在已经转1Panel了