如何通过API获取Tekton中触发的PipelineRun状态?
通过eventID或eventListenerUID查询Tekton PipelineRun状态
可以通过标签筛选的方式关联并查询对应的PipelineRun状态,Tekton Triggers会自动为EventListener触发生成的PipelineRun添加特定标签,用于追踪关联关系。
根据Tekton Triggers文档说明,生成的PipelineRun会被添加以下标签:
tekton.dev/eventlistener: 触发事件的EventListener名称tekton.dev/eventlistenerUID: 触发该PipelineRun的EventListener的唯一标识UIDtekton.dev/eventID: 触发本次事件的唯一ID
查询方法
使用kubectl命令
你可以通过标签选择器直接筛选目标PipelineRun:
# 通过eventID查询指定命名空间下的PipelineRun kubectl get pipelineruns -n default -l tekton.dev/eventID=14a657c3-6816-45bf-b214-4afdaefc4ebd # 通过eventListenerUID查询指定命名空间下的PipelineRun kubectl get pipelineruns -n default -l tekton.dev/eventlistenerUID=ea71a6e4-9531-43a1-94fe-6136515d938c
如果需要查看详细状态信息,可以加上-o yaml或-o json参数,查看status字段中的conditions等内容,了解PipelineRun的运行状态(如Running、Succeeded、Failed等)。
通过Kubernetes API查询
你也可以直接调用Kubernetes API来获取:
GET /apis/tekton.dev/v1beta1/namespaces/default/pipelineruns?labelSelector=tekton.dev/eventID=14a657c3-6816-45bf-b214-4afdaefc4ebd
返回的响应中会包含匹配的PipelineRun资源及其完整状态信息。
内容的提问来源于stack exchange,提问作者Mahesh
相关产品推荐
相关产品推荐

