15.6. Shellhooks
使用 webhook 时,一个 Satellite 事件只能映射到一个 API 调用。对于高级集成,如果单个 shell 脚本可以包含多个命令,您可以安装一个使用 REST HTTP API 来公开可执行文件的 Capsule shellhook 插件。
然后,可将 Webhook 配置为访问 Capsule API 以运行预定义的 shellhook,例如,可以包含命令或编辑文件。
脚本必须放在 /var/lib/foreman-proxy/shellhook
中,作为名称中只有字母数字字符和下划线的可执行文件。
HTTPS 有效负载使用标准输入传递,可以使用 X-Shellhook-Arg-1 到 N 来 提供可选的命令行参数。
HTTP 方法必须是 POST。一个 URL 示例为 :https://capsule.example.com:9090/shellhook/my_script。
您必须为每个连接到 shellhook 的 webhook 启用 代理授权,以便它能够授权调用。
标准输出和错误将分别作为带有 debug 或 warning 级别的消息重定向到胶囊日志。
没有 shellhook HTTPS 调用返回值。