GitHub PR Milestone Check を使ってみた

1.5K Views

October 24, 24

スライド概要

YUMEMI.grow Mobile #17 - connpass
https://yumemi.connpass.com/event/331368/

profile-image

Mobile Application Programmer

シェア

またはPlayer版

埋め込む »CMSなどでJSが使えない場合

関連スライド

各ページのテキスト
1.

GitHub PR Milestone Check を 使ってみた KAWASHIMA Yoshiyuki YUMEMI.grow Mobile #17 2024.10.24

2.

今日伝えたいこと • GitHub PR Milestone Check の導入手順 • GitHub PR Milestone Check を使っても大丈夫?

3.

GitHub 使ってますか?

4.

Milestone 使ってますか?

5.

PR の Milestone が設定されていないまま マージされて困ったことはありますか?

7.

• GitHub でリポジトリを新規に作成すると PR Milestone Check が選択できるようになった

8.

Pull Request に Milestone が設定 されているかチェックしてくれます

11.

PR Milestone Check • Marketplace で配布されている • 無料 • ユーザーまたは Organization ごとにインストールが必要 • 無料だが、個人アカウントでクレジット情報が未登録の場合、登 録が必要になる

12.

既存のリポジトリへの適用 • Settings • Third-party Access • GitHub Apps • PR Milestone Check • Con gure • Repository access fi • Only Select repositories

13.

アプリに必要な Permissions • Read access to issues, metadata, and pull requests • Read and write access to commit statuses

14.

• Milestone が未設定だと Pending に • この状態だと Pending のままマージができてしまう

15.

Milestone 未設定でマージブロック • Rulesets と組み合わせる • Require status check to pass • Add Checks から Milestone Check を追加

17.

• Milestone が未設定だと Pending に • この状態だと Pending のままではマージできない

19.

スーパーマサカリゾーン

21.

実体は?

22.

milestone-check の実体 • https://github.com/scholzj/milestone-check • Star 9 • Installs 134 • Java • Quarkus

23.

依存関係 pom.xml • Quarkus Maven Plugin • Apache Maven Compiler Plugin • Maven Sure re Plugin fi • Maven Failsafe Plugin

24.

ソースコードは一つ

25.

• Milestone の変更に対しての Issue イベントのフック • Issue もこのイベントで上がってくるので、 PR か判定して、handlePullRequest に流す

26.

• Pull Request のプッシュイベントのフック • PR か来ないのでそのまま、handlePullRequest に流す

27.

• Milestone が設定されているか判定して処理を分岐

28.

• PR の Status を更新

29.

• FAILURE_STATE として GHCommitState.PENDING を渡している ので PR で Pending と表示されている

30.

GitHub App として提供している理由 https://github.com/scholzj/milestone-check/issues/7 • トークンの課題を回避できるのでフォークに対応しやすい • pull_request イベントと issues イベントの両方を扱う必要がある

31.

わかっていないこと • GitHub App の実行ログは見ることができる? • GitHub App の実行される実体はどこにある?(インストールさ れた時点のバージョンが動くのか、常に latest が動くのか、これ によって脆弱性の混入など不安要素が生じる)