搜索

17.6. Shellhooks

download PDF

使用 Webhook 时,您只能将一个 Satellite 事件映射到一个 API 调用。对于高级集成,如果单个 shell 脚本可以包含多个命令,您可以安装一个使用 REST HTTP API 来公开可执行文件的 Capsule shellhook 插件。

然后,您可以将 webhook 配置为到达 Capsule API,以运行预定义的 shellhook。shellhook 是一个可执行脚本,只要它可以执行,就可以使用任何语言编写。例如,shellhook 可以包含命令或编辑文件。

您必须将可执行脚本放在 /var/lib/foreman-proxy/shellhooks 中,且只有字母数字字符和下划线的名称。

您可以通过 Webhook 有效负载将输入传递给 shellhook 脚本。此输入重定向到 shellhook 脚本的标准输入。您可以使用 HTTP 标头将参数传递给 shellhook 脚本,格式为 X-Shellhook-Arg-1X-Shellhook-Arg-99。有关将参数传递给 shellhook 脚本的更多信息,请参阅:

HTTP 方法必须是 POST。示例 URL 为: https://capsule.example.com:9090/shellhook/My_Script

注意

shellhooks 目录不同,URL 必须包含 /shellhook/ (以 singular 为单位)。

您必须为每个连接到 shellhook 的 webhook 启用 Capsule 授权,使其能够授权调用。

标准输出和标准错误输出分别作为具有调试或警告级别的消息重定向到 Capsule 日志。

shellhook HTTPS 调用不会返回值。

有关创建 shellhook 脚本的示例,请参阅 第 17.10 节 “创建 Shellhook 以打印参数”

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.