如何在 Tekton 中设置通用 webhook 触发器
How to set up a generic webhook trigger in Tekton
我想在 tekton 中设置一个 webhook 触发器。 In the documentation,我可以找到 Github,Gitlab 和 bitbucket 触发器可用。但我想要一个处理 HTTP POST 并读取 JSON 正文的通用 webhook。
例如:我正在使用 Jenkins 的通用 webhook 触发器执行以下操作。
Prometheus Alertmanager 发送 HTTP POST 到 Jenkins 的通用 webhook,Jenkins 处理 JSON 正文并开始构建。
我想和 Tekton 一样。 Alertmanager 向 Tekton webhook 发送 HTTP POST,它将处理 JSON 正文并启动构建。
Tekton 的 webhook 触发器是否可行?这在 tekton 中尚不可用,还是我缺少 documentation 中的某些内容?
如果有人已经这样做了,你能给我指出正确的方向吗?我正在使用 openshift 4.5
是的,这应该可以正常工作。
你创建一个 EventListener - 这会产生一个 Deployment
和一个你必须以某种方式公开的 Service
,例如在 OpenShift 上使用 Route
或在 Kubernetes 中使用 Ingress
- 这就是您的 Prometheus Alertmanager 应该将其 POST 请求发送到的 url。
同时创建一个 TriggerBinding,您可以在其中声明 jsonPaths 以将数据从 JSON-payload 检索到参数中。
最后你需要一个 TriggerTemplate to declare what Tekton resource your trigger should create, for each event, typically a PipelineRun 并且你应该声明你应该如何将参数从你的 TriggerBinding 映射到你的 PipelineRun 中的参数。
我想在 tekton 中设置一个 webhook 触发器。 In the documentation,我可以找到 Github,Gitlab 和 bitbucket 触发器可用。但我想要一个处理 HTTP POST 并读取 JSON 正文的通用 webhook。
例如:我正在使用 Jenkins 的通用 webhook 触发器执行以下操作。
Prometheus Alertmanager 发送 HTTP POST 到 Jenkins 的通用 webhook,Jenkins 处理 JSON 正文并开始构建。
我想和 Tekton 一样。 Alertmanager 向 Tekton webhook 发送 HTTP POST,它将处理 JSON 正文并启动构建。
Tekton 的 webhook 触发器是否可行?这在 tekton 中尚不可用,还是我缺少 documentation 中的某些内容?
如果有人已经这样做了,你能给我指出正确的方向吗?我正在使用 openshift 4.5
是的,这应该可以正常工作。
你创建一个 EventListener - 这会产生一个 Deployment
和一个你必须以某种方式公开的 Service
,例如在 OpenShift 上使用 Route
或在 Kubernetes 中使用 Ingress
- 这就是您的 Prometheus Alertmanager 应该将其 POST 请求发送到的 url。
同时创建一个 TriggerBinding,您可以在其中声明 jsonPaths 以将数据从 JSON-payload 检索到参数中。
最后你需要一个 TriggerTemplate to declare what Tekton resource your trigger should create, for each event, typically a PipelineRun 并且你应该声明你应该如何将参数从你的 TriggerBinding 映射到你的 PipelineRun 中的参数。