GitHubのPRテンプレート(iOS・Android)

## はじめに

本記事は [エムティーアイ Advent Calendar 2021](https://qiita.com/advent-calendar/2021/mti) の8日目の記事です。
昨日は @uhooi で [標準エラー出力する方法(Swift)](https://qiita.com/uhooi/items/f490d14602a7bc114948) でした。

iOSとAndroidアプリ開発で使える、GitHubのPRテンプレートを紹介します。

## PRのテンプレート作成

PRのテンプレートは `.github/` フォルダに `pull_request_template.md` ファイルを作成することで、自動的に適用されます。

## PRのテンプレート紹介

PRのテンプレートを紹介します。

### iOS

iOSアプリ開発で使えるPRのテンプレートです。

```markdown:pull_request_template.md
## Issue

- close #TBD

## Overview

TBD

## Details (Optional)

TBD

## Screenshots (Optional)

|Before|After|
|:--:|:--:|
|TBD|TBD|

## Checklist

- [ ] Format code with SwiftLint (<kbd>⌘B</kbd> in Xcode)
- [ ] Resolve Xcode warning

## What to check (Optional)

- [ ] TBD

## Reference(s) (Optional)

- https://example.com
```

#### Issue

対応するIssueがある場合に記述します。

#### Overview

PRの概要を簡潔に記述します。

#### Details

必要に応じて、PRの内容を詳細に記述します。

#### Screenshots

UIに変更がある場合、変更前後のスクリーンショットを掲載します。

#### Checklist

レビュー前に行うべきチェックリストです。
完了したら `[x]` にし、すべてチェックできたらPRを作成します。

##### Format code with SwiftLint

SwiftLintでコード整形したかどうかのチェックです。
私はビルドフェイズでSwiftLintによるコード整形を実行しているので `(⌘B in Xcode)` と記述しています。

##### Resolve Xcode warning

Xcodeの警告を解消したかどうかのチェックです。

#### What to check

レビュアーに確認してほしい内容がある場合、その内容を記述します。
確認できたらレビュアーが `[x]` にします。

#### Reference(s)

参考リンクがある場合に記述します。

### Android

Androidアプリ開発で使えるPRのテンプレートです。

`Checklist` の内容以外はiOSと同様です。

```markdown:pull_request_template.md
## Issue

- close #TBD

## Overview

TBD

## Details (Optional)

TBD

## Screenshots (Optional)

|Before|After|
|:--:|:--:|
|TBD|TBD|

## Checklist

- [ ] Format code (<kbd>⌥⌘L</kbd> in Android Studio)
- [ ] Optimize imports (<kbd>^⌥O</kbd> in Android Studio)
- [ ] Resolve Android Studio warning

## What to check (Optional)

- [ ] TBD

## Reference(s) (Optional)

- https://example.com
```

#### Checklist

AndroidではiOSと異なるチェックリストのみ詳細を説明します。

##### Format code

Android Studioでコード整形したかどうかのチェックです。
macOSの場合は <kbd>⌥⌘L</kbd> で実行できます。

##### Optimize imports

Android Studioでインポートを最適化したかどうかのチェックです。
macOSの場合は <kbd>^⌥O</kbd> で実行できます。

##### Resolve Android Studio warning

Android Studioの警告を解消したかどうかのチェックです。

## おわりに

これでレビューイがPRの概要欄に何を書けばいいか考える負担を減らし、レビュアーはPRのレビュー時に欲しい情報を過不足なく知りやすくなります :relaxed: 

みなさんもテンプレートを作成していたら、私と違う箇所などを教えていただけると嬉しいです。

以上 [エムティーアイ Advent Calendar 2021](https://qiita.com/advent-calendar/2021/mti) の8日目の記事でした。
明日は @piz032 さんで [S3 BucketへのファイルのデプロイまでAWS CDKでやりたかった話](https://qiita.com/piz032/items/789c60700d0573b925fd) です。

## 参考リンク

- [Creating a pull request template for your repository - GitHub Docs](https://docs.github.com/en/communities/using-templates-to-encourage-useful-issues-and-pull-requests/creating-a-pull-request-template-for-your-repository)
- [cocoa/PULL_REQUEST_TEMPLATE.md at v1.2.3 · cocoa-mhlw/cocoa](https://github.com/cocoa-mhlw/cocoa/blob/e106594fb8359f79f3fdb19cac4f26b800245f8f/.github/PULL_REQUEST_TEMPLATE.md)
- [workflow-swift/PULL_REQUEST_TEMPLATE.md at v1.0.0-beta.4 · square/workflow-swift](https://github.com/square/workflow-swift/blob/0186c331b752a872dd3f9a006e62d1192dbb50b1/.github/PULL_REQUEST_TEMPLATE.md)
- [Create pull_request_template.md by uhooi · Pull Request #208 · uhooi/UhooiPicBook-Android](https://github.com/uhooi/UhooiPicBook-Android/pull/208)
- [Update pull_request_template.md by uhooi · Pull Request #209 · uhooi/UhooiPicBook-Android](https://github.com/uhooi/UhooiPicBook-Android/pull/209)
- [Create pull_request_template.md by uhooi · Pull Request #262 · uhooi/UhooiPicBook](https://github.com/uhooi/UhooiPicBook/pull/262)