基于gitlab api 实现获取到流水线中job的依赖关系
Insight
客户已经在自己的一站式平台上实现了基于gitlab api创建分支、mr等功能。现在客户期望通过api可以实现将gitlab pipeline运行的job也展示到自己的平台上,目前通过 api可以获取到pipeline的所有job。但是在同一个stage中多个job之间排序并没有按照gitlab界面上显示的一样。因此客户想知道是否有别的接口或者有哪些办法可以实现这个需求。
eg如下:
从stage维度可以看到在build 阶段 docker_build 在 maven_package 的上面;release 阶段 docker_build_release 在最上面,gitlab_release在中间,maven_package_release在最下面。
通过api请求获取到所有job的顺序如下,会发现单个job之间排序看的并不是完全按照从stage维度来排序的,如 build 阶段 docker_build 在 maven_package 的上面,那么jobs的排序应该是 docker_build 的 job_id号是小于 maven_package的job_id号的,但是并不是这样的。导致客户如果获取到pipeline得jobs后,里面虽然现实了所有的stage,但是stage下的job排序没有按照gitlab界面stage维度的显示。
目前可以理解到的是:stage 维度展示的是ci文件中定义到的,自上而下排序的。然后jobs 维度展示的是job之间的依赖关系。但是客户其实想要的效果是从自己的一站式平台上 看到gitlab stage维度中的现实效果。
Supporting evidence
Action
Resources
Tasks
-
Assign this issue to the appropriate Product Manager, Product Designer, or UX Researcher. -
Add the appropriate Group
(such as~"group::source code"
) label to the issue. This helps identify and track actionable insights at the group level. -
Link this issue back to the original research issue in the GitLab UX Research project and the Dovetail project. -
Adjust confidentiality of this issue if applicable