- 公開日
GitHub公式の issue-metrics Action で開発生産性を振り返る
GitHub公式が出している issue-metrics Actionをご紹介。
開発生産性を計測するにはGitHub Insightは貧弱すぎる
GitHubのデータで開発生産性を計測したい。いわゆるFour Keys メトリクスを計測したい。
しかし、開発生産性を計測するにはGithub Insightの機能はあまりにも貧弱だ。
そんな折にGithubから開発メトリクスを計測する公式Actionが出ていたので試してみた。
説明
リポジトリ名にIssueと付いているので、Issueに関するメトリクスを計測するものかと勘違いしてしまいそうになるが、Pull Requestに関するメトリクスも計測することができる。
具体的には下記の項目を出すことができる。
- Time to first response: PRが最初にレビューされるまでの時間
- Time to close: PRがマージ/クローズされるまでの時間
- Number of items closed: どれだけPRをマージ/クローズできたか
- PR一覧
使い方
公式のREADMEに掲載されたUsageの設定だと前月データ決め打ちになっているので、Year-Month を指定してworkflow_dispatch
イベントで実行できるように改修したものが下記:
repo:your-org/repo-name
の部分は計測したいリポジトリ名に置き換えること。
# .github/workflows/monthly-metrics.yml
name: Monthly Pull Request metrics
on:
workflow_dispatch:
inputs:
year:
description: "Enter the year (e.g. 2023) for which you want to collect metrics"
required: true
type: number
month:
description: "Enter the month (1-12) for which you want to collect metrics"
required: true
type: number
permissions:
issues: write
pull-requests: read
jobs:
build:
name: pull request metrics
runs-on: ubuntu-latest
steps:
- name: Get dates for specified year and month
shell: bash
run: |
# Get the specified year and month from the inputs
year=$
month=$
# Calculate the first day of the specified month and year
first_day=$(date -d "$year-$month-01" +%Y-%m-%d)
# Calculate the last day of the specified month and year
last_day=$(date -d "$first_day +1 month -1 day" +%Y-%m-%d)
# Set an environment variable with the date range
echo "$first_day..$last_day"
echo "selected_month=$first_day..$last_day" >> "$GITHUB_ENV"
- name: Run issue-metrics tool
uses: github/issue-metrics@v3
env:
GH_TOKEN: $
SEARCH_QUERY: "repo:your-org/repo-name is:pr created:$"
- name: Create issue
uses: peter-evans/create-issue-from-file@v5
with:
title: "Monthly pull request metrics report ($)"
token: $
content-filepath: ./issue_metrics.md
実行イメージ
下記のようにActionsページからポチポチで対象年&月を指定して実行でする。
サンプル
作られたメトリクス結果のサンプルは下記:
最後に
Github Pull Request の簡易的なメトリクスを振り返るのに issue-metrics は便利。
一方で、GitHub公式の機能として Four Keys っぽいものをリアルタイムで確認できるような機能が欲しいぞ。GitHub殿、よろしく頼む。