Hubot + Rocket.Chat 支持shell脚本

Hubot有支持执行shell的插件,通过这个插件可以执行一些自己编写的shell脚本。

安装:

1
npm install hubot-script-shellcmd

复制目录到hubot根目录下:

1
2
cd hubot-rocketchat-boilerplate
cp -R node_modules/hubot-script-shellcmd/bash .

添加到external-scripts.json,所有hubot要调用的插件都要在这里添加:

1
2
cat external-scripts.json
["hubot-script-shellcmd"]

默认使用bot shellcmd调用,但是shellcmd太长,可以使用HUBOT_SHELLCMD_KEYWORD环境变量来替换shellcmd,比如我使用do,于是添加export HUBOT_SHELLCMD_KEYWORD=do到.env下。

在web界面上输入cat do,得到命令列表,注意cat是我的机器人名,换成自己定义的机器人名即可。
hubot7.png

默认自带可执行的shell脚本有helloworldupdate,放在bash/handlers下面,如果后面添加自定义脚本,也要添加到bash/handlers目录下。
hubot6.png

执行测试:
hubot8.png

添加自定义脚本到bash/handlers下:

1
2
3
4
5
6
7
8
cd bash/handlers

cat > ipaddr << EOF
#!/bin/bash
ip addr
EOF

chmod +x ipaddr

重启hubot,在WEB界面上输入cat do ipaddr
hubot9.png


- - END - -


腾讯云
0%