是不是可以看看是谁取消了Gitlab pipeline?

Is it possible to see who canceled the Gitlab pipeline?

我可以看到是谁创建了 Gitlab pipeline/job,但是,是否可以看到是谁取消了它?如果它被某人取消,则更好地收到通知。

如截图所示,作业被取消,但不是我取消的,输出日志为空。

顺便说一句,我检查了另一个作业包含日志并在 运行 时取消了,但仍然找不到谁取消了它。

除非你检查日志,否则你无法知道这一点。

有一个关于此的未决问题:https://gitlab.com/gitlab-org/gitlab-ce/issues/31679

这可以通过 GitLab jobs API 在 Linux 上使用简单的 curl 实现:

curl --header "PRIVATE-TOKEN: <personal-access-token>" https://gitlab/api/v4/projects/<project_id>/jobs/<job_id> | jq .

您可以从项目主页获取 project_id,从 CI/CD -> 职位页面获取 job_id,您可以从配置文件创建 personal-access-token设置页面,确保它具有 API 权限。

如果您想检索所有状态为已取消的作业:

curl --header "PRIVATE-TOKEN: <personal-access-token>" https://gitlab/api/v4/projects/<project_id>/jobs?scope[]=canceled | jq .

输出中的用户 JSON 对象表示取消作业的人,例如:

"user": {
    "id": 77,
    "name": "John Doe",
    "username": "jdoe",
    "state": "active",
    "avatar_url": "https://gitlab/uploads/-/system/user/avatar/77/avatar.png",
    "web_url": "https://gitlab/jdoe",
    "created_at": "2017-08-14T13:53:37.796+01:00",
    "bio": "",
    "location": "",
    "public_email": "",
    "skype": "",
    "linkedin": "",
    "twitter": "",
    "website_url": "",
    "organization": ""
  }

干杯

S