5
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?

個人学習でIssueを書くのが面倒だったので、最低限のテンプレを整えた

Last updated at Posted at 2025-06-22

はじめに

個人開発や自己学習でGitHubを使っていると、IssueやPull Requestを書くの面倒に感じませんか?

  • 毎回、どの項目を書けばよかったか迷う
  • 前のIssueと構成が違っていてモヤモヤする
  • Issueの内容を考えるのにも多少時間がかかる

私自身、作業を始める前にIssueを書くようにしているのですが、正直「書くのが面倒で作業を始めない」という本末転倒なこともありました。
そこで、「あらかじめ最低限のテンプレートを用意しておけば、毎回同じ形式で気軽に記録できて、ストレスも減るのでは?」と思い、Issue・PRのテンプレートを整えてみることにしました。

本記事では、そんな経緯で作成したGitHubのIssueテンプレートとPRテンプレートについて、Web UIで設定手順や、実際に作成したテンプレート例を紹介します。

概要

今回は、個人開発や自己学習向けに、最低限の構成で使えるテンプレートを用意しました。
テンプレートは書くことのハードルを下げるのが目的で、書くのが面倒で続かなくなるのを防ぐためのものです。

Issueテンプレートでは、GitHubのラベルのうち使用頻度の高い bug と enhancement の2つだけを対象に作成しています。

Issueテンプレートの作成

GitHubでは、Issueテンプレートを設定する方法が2通りあります。

  • GitHubのWeb UI(ブラウザ上)から作成・管理する方法(今回はこちらを紹介します)
  • リポジトリ内に.github/ISSUE_TEMPLATE/フォルダを作り、Markdownファイルを直接置く方法(PRテンプレートと同様)

今回は、GUIから直感的に操作できる「Web UI」経由の方法を紹介します。特にGitHub初心者の方にも扱いやすい手順です。

1. GitHubにログインして、リポジトリを開く

テンプレートを設定したい対象のリポジトリにアクセスします。

2.「Settings」タブを開く

上部のタブから「Settings」をクリックします。

image.png

3.「Issues」セクションで「Set up templates」をクリック

ページ中ほどにある「Features」セクションの中に「Issues」の設定項目があります。
そこに「Set up templates」というボタンがあるのでクリックします。

image (1).png

4. テンプレートの種類を選択する

表示される選択肢の中から「Custom template(カスタムテンプレート)」を選びます。

image (2).png

5.「Preview and edit」をクリック

テンプレートの内容を編集する画面へ進みます。

image (3).png

6. 編集アイコンをクリックし、テンプレートを編集

エディタが表示されるので、右上の鉛筆マークをクリックして内容を入力していきます。

スクリーンショット 2025-06-16 23.14.31.png

7. テンプレートの内容を記入する

今回は「enhancement(機能追加)」用のテンプレートを作成します。必要項目だけを記述して、シンプルな構成にします。

image (4).png

8.「Propose changes」で変更を確定

編集が終わったら「Propose changes」ボタンをクリックしてコミットします。
そのままmainブランチに反映させるか、新しいブランチを作成してPull Requestとして送ることもできます。

image (5).png

Pull Requestテンプレートの作成

PR(Pull Request)テンプレートは、Issueテンプレートと違ってGitHubのWeb UIからは作成できません。そのため、手動でリポジトリにファイルを追加する必要があります。

1. githubフォルダを用意する

リポジトリのルートに、.githubという名前のフォルダがない場合は新しく作成してください。

2. pull_request_template.mdというファイルを作る

そのフォルダの中に、pull_request_template.mdという名前で新規ファイルを作成します。
このファイルがテンプレートとして使用されます。

3. テンプレートの中身を記述する

以下は、機能追加(enhancement)とバグ修正(bug)を想定したテンプレートの記述例です。
1つのテンプレートファイルに複数のケースを記述しておき、不要な部分はPR作成時に削除する運用を想定しています。

# enhancement

## 概要
<!-- このPull Requestで対応する目的や背景を記述してください -->

## 実装内容
<!-- 実装した主な内容を箇条書きで記述してください -->

## 動作確認
<!-- 手動または自動で確認した手順を記述してください -->

## 関連Issue
<!-- 関連するIssueがあれば記載してください -->

## 補足
<!-- その他共有事項や注意点があれば記載してください -->
特に無し

---

# bug

## 概要
<!-- 修正対象となるバグの内容を簡潔に記述してください -->

## 修正内容
<!-- どのように修正したかを箇条書きで記述してください -->

## 確認手順
<!-- 修正後の動作の確認手順を記述してください -->

## 関連Issue
<!-- 関連するIssueがあれば記載してください -->

## 補足
<!-- その他共有事項や注意点があれば記載してください -->
特に無し

PRテンプレートは1つしか設定できません。
そのため、1つのテンプレートに複数のケース(バグ修正・機能追加など)をまとめておき、必要に応じて使わない部分を削除する運用が現実的です。

4. コミットして変更を反映する

ファイルを作成・編集したら、コミットしてリポジトリに反映します。
これで、PRを作成する際に自動的にこのテンプレートが読み込まれるようになります。

作成したIssueテンプレートの例

以下は、実際に作成した2種類のIssueテンプレートの内容です。

enhancement-template.md(機能追加)

---
name: enhancement_template
about: 新機能追加用のテンプレートです
title: ''
labels: enhancement
assignees: ''
---

## 概要
<!-- 追加する機能の目的や背景を簡潔に記述してください -->

## 機能要件
<!-- この機能に必要な要素をリストアップしてください -->

bug-template.md(バグ報告・修正)

---
name: bug_template
about: 不具合修正用のテンプレートです
title: ''
labels: bug
assignees: ''
---

## 概要
<!-- 発生しているバグの内容を簡潔に記述してください -->

## 再現手順
<!-- バグの発生手順を記述してください -->

## 期待される動作
<!-- 本来どのような挙動が期待されるかを記述してください -->

## 実際の挙動
<!-- 現在の動作・発生している問題を記述してください -->


## 補足情報
<!-- スクリーンショット・エラーログ・その他関連情報などがあれば記載してください -->
例: 特に無し
5
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
5
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?