Open1
GitHub Actions の workflow call の workflow run と job の実行時間
GitHub API で workflow run と job の実行時間を取得できる。
workflow file を指定して workflow run のリストを取得し、 workflow run id を指定して job のリストを取得できる。
ところが reusable workflow を使っている場合はなしがややこしいことに気づいた。
まず list workflow runs API で workflow call を指定しても workflow run は取得できない。
$ gh api \
-H "Accept: application/vnd.github+json" \
-H "X-GitHub-Api-Version: 2022-11-28" \
/repos/suzuki-shunsuke/ghatm/actions/workflows/wc-test.yaml/runs
{
"total_count": 0,
"workflow_runs": []
}
workflow call を呼び出している workflow run の job のリストを取得すると、 workflow call によって呼び出された job のリストも取得できるが、その job が workflow call によって呼ばれた(つまり別の workflow で定義されている) のか、元の workflow で定義されているのか判別するのが難しい気がする。
workflow call によって呼ばれたとある job のデータから明らかに関係ないものを除去したものが以下。
{
"id": 28796981369,
"run_id": 10398907235,
"workflow_name": "test",
"status": "completed",
"conclusion": "success",
"created_at": "2024-08-15T04:42:41Z",
"started_at": "2024-08-15T04:42:48Z",
"completed_at": "2024-08-15T04:42:53Z",
"name": "enable-auto-merge / enable-auto-merge"
}