2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

GitHubのIssue プルリクエストにテンプレートを挿入する方法

2
Last updated at Posted at 2026-04-10

チーム開発等で大事になってくる、「報告連絡相談」 

報告の際、毎回書き方が変わってはしっかり報告ができなくなり、
結果として大きなミスや情報の行き違いが起きてクライアントに迷惑がかかります。

そこで今回はGitHubで相当な回数繰り返されるであろう項目について
テンプレ化および、Issueとの紐付けでより開発効率が上がる方法を
まとめました。

☆この記事でわかること☆

  • テンプレート化の仕方
  • テンプレの一例
  • プルリクとIssueを繋げてわかりやすい進捗管理ができる

【ちょっと宣伝】こんなアプリを作っています。
ゲームx思い出を記録できるアプリ SaveData


テンプレート化する

Issueとプルリクエストを一気にテンプレ化していきます。

テンプレ化手順 💻

① テンプレファイルの作成
② 変更ファイルをadd commit merge
③ Githubにて設定

① テンプレファイルの作成

1:/.github配下にファイル及びドキュメントを
マークダウン形式で配置

こんな感じです。
Image from Gyazo

ISSUE_TEMPLATE フォルダ

GitHubでIssueを作成するときに選べるテンプレート📝

ファイル名 役割
bug_report.md 🐛 バグ報告用。「こんな不具合があります」を報告するとき
custom.md 🔧 GitHubが自動で生成したデフォルトのテンプレート。今は消してもOK
documentation.md 📝 ドキュメントの追加・修正を提案するとき
feature_request.md ✨ 新機能の追加を提案するとき
investigation.md 🔍 技術調査やスパイクタスクを記録するとき
question.md 💬 質問・相談をするとき

PULL_REQUEST_TEMPLATE フォルダ

PRを作成するときに自動で入力欄に表示されるテンプレート📝

ファイル名 役割
pull_request_template.md PRの説明欄に自動で表示される雛形

テンプレートの中身

ISSUEテンプレート一覧


bug_report.md

---
name: 🐛 バグ報告
about: バグを報告する
title: "[Bug] "
labels: bug
assignees: ''
---

## 概要
<!-- どんなバグが発生しているかをここに記入する -->

## 再現手順
1. 
2. 
3. 

## 期待する動作
<!-- 本来どう動くべきかをここに記入する -->

## 実際の動作
<!-- 実際に起きていることをここに記入する -->

## 環境
- OS: 
- ブラウザ: 
- バージョン: 

## 補足
<!-- スクリーンショットやログなどがあればここに記入する -->

feature_request.md

---
name: ✨ 機能追加
about: 新しい機能を提案する
title: "[Feature] "
labels: enhancement
assignees: ''
---

## 概要
<!-- どんな機能を追加したいかをここに記入する -->

## 背景・目的
<!-- なぜこの機能が必要かをここに記入する -->

## 提案する解決策
-

## 代替案
<!-- 他に検討した方法があればここに記入する -->

## 補足
<!-- 参考リンクやモックアップなどがあれば記載しておく -->

investigation.md

---
name: 🔍 調査・スパイク
about: 技術調査や検討をする
title: "[Investigation] "
labels: investigation
assignees: ''
---

## 概要
<!-- 何を調査・検討するかをここに記入する -->

## 背景
<!-- 調査が必要になった経緯をここに記入する -->

## 調査内容
-

## 結果・わかったこと
<!-- 調査結果をここに記入する -->

## 次のアクション
- [ ] 

question.md

---
name: 💬 質問・相談
about: 質問や相談をする
title: "[Question] "
labels: question
assignees: ''
---

## 概要
<!-- 何について質問・相談したいかをここに記入する -->

## 背景
<!-- なぜこの疑問が生まれたかをここに記入する -->

## 試したこと
-

## 聞きたいこと
-

## 補足
<!-- 参考リンクやエラーログなどがあれば記載しておく -->

documentation.md

---
name: 📝 ドキュメント修正
about: ドキュメントの追加・修正をする
title: "[Docs] "
labels: documentation
assignees: ''
---

## 概要
<!-- どのドキュメントをどのように修正したいかをここに記入する -->

## 背景・目的
<!-- なぜ修正が必要かをここに記入する -->

## 変更箇所
-

## 変更内容
<!-- 修正前→修正後のイメージがあれば記載 -->

## 補足
<!-- 参考リンクなどがあれば記載しておく -->

pull_request_template.md

## 概要
<!-- どんな変更をしたかをここに記入する -->

## 変更内容
-

## 動作確認
- [ ] ローカルで確認済み
- [ ] テスト追加済み

## 関連Issue
closes #

② 変更ファイルをadd commit push

テンプレファイルを作成したら、忘れずにGitHubへ反映させましょう。

git add .github/
git commit -m "docs: ISSUEとPRのテンプレートを追加する"
git push

⚠️ 注意
テンプレートは mainブランチ にpushされていないと認識されません。
別ブランチで作業した場合はPRを作成してmainにマージしましょう。


③ GitHubにて設定・確認

pushが完了したら、GitHubのSettingsからテンプレートを確認・設定できます。


Settingsからの確認方法

1:リポジトリの Settings タブをクリック

2:Features セクションの Issues 項目を探す

Set up templates ボタンが表示されていればOKです。

3:Set up templates をクリック

するとこんな感じで出てきます。
Image from Gyazo

💡 ボタンが表示されない場合は、Issues が有効になっているか確認してください。
同じページ内の Features セクションで Issues にチェックを入れるとボタンが現れます。


テンプレートを選んでIssueを作る

1:Issues タブ → New Issue をクリック

2:テンプレートの選択画面が表示される 🎉

YAMLフロントマターの nameabout がここに表示されます。

---
name: 🐛 バグ報告        # ← ここが選択肢のタイトルになる
about: バグを報告する     # ← ここが説明文になる
---

3:テンプレートを選ぶと自動で入力された状態になる

Image from Gyazoスクリーンショット 2026-04-11 0.38.07.png

するとこんな感じでしっかりと反映されます。


PRテンプレートの確認

PRテンプレートは選ぶ操作は不要で、PR作成時に自動で反映されます。

ブランチをpushしてGitHubを開くと Compare & pull request ボタンが出るので、クリックすると説明欄にテンプレートが自動入力されています。

Image from Gyazo

※Issue名はこちらを参考にしてみてください。

✅ 良い例 ❌ 悪い例
[Bug] ログインできない バグ
[Feature] プレイ時間を記録する 機能追加して
動詞で終わる 名詞だけで終わる
何が起きているか一目でわかる 読んでも内容が不明

タイトルだけ見て「何のIssueか」がわかるのが理想

[種別] 内容を動詞で簡潔に

バグ報告

[Bug] ゲーム検索で日本語入力すると0件になる
[Bug] モバイルでハンバーガーメニューが開かない
[Bug] Google OAuth ログイン後にリダイレクトされない

機能追加

[Feature] ゲームにプレイ時間を記録できるようにする
[Feature] レーティングをFF7マテリア風UIに変更する
[Feature] X(Twitter)にゲームカードをシェアできるようにする

調査

[Investigation] IGDB APIのレート制限の仕様を調査する
[Investigation] Renderのメモリ使用量が高い原因を調べる

質問・相談

[Question] IgdbServiceのキャッシュ実装方針を相談したい
[Question] N+1が発生しているか確認したい

ドキュメント

[Docs] READMEにデプロイ手順を追記する
[Docs] 環境変数の一覧をREADMEに整理する

まとめ

今回はIssueとPRのテンプレ化から、Issueとの紐付けまでをまとめました。

やったこと✅

手順 内容
① テンプレファイルの作成 .github/ISSUE_TEMPLATE/PULL_REQUEST_TEMPLATE/ にmdファイルを配置
② add commit push mainブランチに反映させる
③ GitHubにて確認 Settingsから表示確認・Issueから選択できるようになる

やって良かったこと🌟

  • Issueを立てるハードルが下がった
  • closes #番号 でIssueとPRが自動で紐づく
  • マージしたらIssueが自動クローズされて進捗管理がラクになった
  • コミット・ブランチ名・PRタイトルに一貫性が生まれた

Issueとブランチ・PRを繋げた開発フロー🔀

テンプレを作るだけでなく、こう運用するとより開発効率が上がります。

① GitHubでIssueを立てる → Issue #12 が採番される
  ↓
② git switch -c feature/12_add-playtime
  ↓
③ 実装・コミット
   git commit -m "feat: プレイ時間の記録機能を追加 (#12)"
  ↓
④ git push → GitHubでPR作成
   説明欄に「closes #12」と書く
  ↓
⑤ マージ → Issue #12 が自動クローズ 🎉

テンプレを整備するだけで「なぜこの変更をしたか」が履歴として残り、
チーム開発でも個人開発でも振り返りやすくなりますわ。

ぜひ活用してみてください!


最後まで読んでいただきありがとうございました🙏

こんなアプリを作っています。よければ触ってみてください!

ゲーム × 思い出を記録できるアプリ SaveData

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?