0

我想在 tekton 中设置一个 webhook 触发器。在文档中,我可以找到可用的 Github、Gitlab 和 bitbucket 触发器。但我想要一个处理 HTTP POST 并读取 JSON 正文的通用 webhook。

例如:我正在使用 Jenkins 的通用 webhook 触发器执行以下操作。

Prometheus Alertmanager 向 Jenkins 的 Generic webhook 发送 HTTP POST,然后 Jenkins 处理 JSON 正文并开始构建。

我想和 Tekton 一样。Alertmanager 向 Tekton webhook 发送一个 HTTP POST,它将处理 JSON 主体并开始构建。

这对 Tekton 的 webhook 触发器可行吗?这在 tekton 中尚不可用,还是我缺少文档中的某些内容

如果有人已经这样做了,你能指出我正确的方向吗?我正在使用 openshift 4.5

4

1 回答 1

0

是的,这应该可以正常工作。

您创建一个EventListener - 这会启动 aDeployment和 aService您必须以某种方式公开,例如Route在 OpenShift 或IngressKubernetes 中使用 a - 这是您的 Prometheus Alertmanager 应该向其发送 POST 请求的 url。

还要创建一个TriggerBinding,您可以在其中声明jsonPaths以将 JSON 有效负载中的数据检索到参数中。

最后,您需要一个TriggerTemplate来声明您的触发器应该为每个事件创建什么 Tekton 资源,通常是一个PipelineRun,并且您应该声明应该如何将 TriggerBinding 中的参数映射到 PipelineRun 中的参数。

于 2020-09-05T17:16:40.673 回答