完了が開始より前・時刻の形が違う(壊れた入力)
完了時刻が開始より前のジョブと、日時の区切りがスペースで RFC 3339 でないジョブ、正しいジョブが混ざる例です。
入力
jobs API の JSON
[{"name":"x","started_at":"2026-10-01T10:00:00Z","completed_at":"2026-10-01T09:00:00Z"},{"name":"y","started_at":"2026-10-01 10:00:00","completed_at":"2026-10-01 10:05:00"},{"name":"z","started_at":"2026-10-01T10:00:00Z","completed_at":"2026-10-01T10:00:10Z"}]
結果
エラー 0 件・警告 2 件・情報 1 件
指摘(エラー・警告・情報)
- 警告 jobs[0] 「x」は completed_at が started_at より前です。集計から除きました。
- 警告 jobs[1] 「y」の started_at / completed_at が RFC 3339 の date-time(例 2026-03-10T14:05:22Z)として読めません。集計から除きました。
- 情報 全体 時刻は RFC 3339 の date-time として解析し、所要時間は completed_at − started_at です。平均・最大は秒未満を四捨五入して表示します。
| 集計したジョブ | 1 件 |
|---|---|
| 除いたジョブ | 2 件 |
| ジョブ名の数 | 1 種類 |
| 所要時間の合計 | 10秒 |
ジョブ別の所要時間
| ジョブ名 | 回数 | 合計 | 平均 | 最大 |
|---|---|---|---|---|
| z | 1 | 10秒 | 10秒 | 10秒 |
検算(この結果になる理由)
x は完了が開始より前、y は T の代わりにスペースで RFC 3339 の date-time ではないので、それぞれ警告を出して除きます。z だけが 10 秒として集計されます。
判定の根拠は仕様と根拠に、仕様の出典とともにまとめています。自分の入力で試すにはツールをお使いください。
このツールの制約
- ジョブの待ち時間(キュー待ち)は含みません。started_at から completed_at までの実行時間だけを数えます。
- ステップ(steps)ごとの内訳は集計しません。ジョブ単位の所要時間だけを出します。
- GitHub の API を呼び出す機能はありません。取得した JSON を貼り付けて使います(トークンなどの認証情報は貼り付けないでください)。
ご利用にあたって
- 平均は秒未満を四捨五入した表示です。
- 認証情報を含む出力(ヘッダーなど)は貼り付けないでください。