仕様と根拠
所要時間の求め方
GitHub の REST API のジョブは、started_at(開始)と completed_at(完了)を date-time 形式の文字列で持ちます。完了が null の実行中のジョブは所要時間が決まらないため集計から除きます。所要時間は completed_at から started_at を引いた秒数で、同じ名前のジョブ(複数回の実行・マトリクスなど)をまとめて合計・平均・最大を出します。
時刻の読み方
API の資料には、時刻の型が date-time とあるだけで、ISO 8601 とは明記されていません。この道具は RFC 3339 の date-time(例 2026-03-10T14:05:22Z、+09:00 のようなオフセットも可)として解析します。この形でない時刻のジョブは警告を出して集計から除きます。
根拠にした仕様・資料
| 仕様・資料 | 確認日 | 使った箇所 |
|---|---|---|
| GitHub REST API: Workflow jobs | 2026年10月29日 | job のスキーマ(id・name・status・conclusion・started_at・completed_at は null 可・steps)と一覧(total_count・jobs)。timestamp は format: date-time。WebFetch で確認 |
指摘の段階
- エラー: 仕様に反していて、正しく読めない・処理できない入力です。
- 警告: 読めるものの、仕様の推奨に反する・矛盾する・意図と違う結果になりやすい入力です。
- 情報: 誤りではありませんが、知っておくとよい扱い(読み飛ばした部分や解釈)です。
入力の扱い(送信しない仕組み)
処理はすべてお使いのブラウザの中で行います。処理の本体はこのサイトから配信する小さなスクリプト(/app.js)で、外部のサービスやライブラリを読み込みません。ページはブラウザに通信を禁止させる設定(Content-Security-Policy の connect-src)つきで配信しており、入力した内容がサーバーや第三者へ送られることはありません。ファイルを選んだ場合も、端末の中で読み込むだけです。
このツールでできないこと(制約)
- ジョブの待ち時間(キュー待ち)は含みません。started_at から completed_at までの実行時間だけを数えます。
- ステップ(steps)ごとの内訳は集計しません。ジョブ単位の所要時間だけを出します。
- GitHub の API を呼び出す機能はありません。取得した JSON を貼り付けて使います(トークンなどの認証情報は貼り付けないでください)。
ご利用にあたって
- 平均は秒未満を四捨五入した表示です。
- 認証情報を含む出力(ヘッダーなど)は貼り付けないでください。