Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
GitHub Projectsにおける チケットの ステータス更新自動化について
Search
NearMeの技術発表資料です
PRO
July 30, 2024
Programming
1
260
GitHub Projectsにおける チケットの ステータス更新自動化について
NearMeの技術発表資料です
PRO
July 30, 2024
Tweet
Share
More Decks by NearMeの技術発表資料です
See All by NearMeの技術発表資料です
Box-Muller法
nearme_tech
PRO
1
15
Kiro触ってみた
nearme_tech
PRO
0
34
今だからこそ入門する Server-Sent Events (SSE)
nearme_tech
PRO
4
350
ReactNative のアップグレード作業が (意外に)楽しかった話
nearme_tech
PRO
2
93
強化学習アルゴリズムPPOの改善案を考えてみた
nearme_tech
PRO
0
27
Apple Containerについて調べて触ってみた
nearme_tech
PRO
0
370
Rust 並列強化学習
nearme_tech
PRO
0
32
並列で⽣成AIにコーディングをやらせる
nearme_tech
PRO
1
210
希望休勤務を考慮したシフト作成
nearme_tech
PRO
0
48
Other Decks in Programming
See All in Programming
フロントエンド開発のためのブラウザ組み込みAI入門
masashi
5
2.3k
コードとあなたと私の距離 / The Distance Between Code, You, and I
hiro_y
0
170
あなたとKaigi on Rails / Kaigi on Rails + You
shimoju
0
170
Devoxx BE - Local Development in the AI Era
kdubois
0
130
スキーマ駆動で、Zod OpenAPI Honoによる、API開発するために、Hono Takibiというライブラリを作っている
nakita628
0
180
Flutterで分数(Fraction)を表示する方法
koukimiura
0
130
詳しくない分野でのVibe Codingで困ったことと学び/vibe-coding-in-unfamiliar-area
shibayu36
3
5.1k
タスクの特性や不確実性に応じた最適な作業スタイルの選択(ペアプロ・モブプロ・ソロプロ)と実践 / Optimal Work Style Selection: Pair, Mob, or Solo Programming.
honyanya
3
180
非同期jobをtransaction内で 呼ぶなよ!絶対に呼ぶなよ!
alstrocrack
0
990
バッチ処理を「状態の記録」から「事実の記録」へ
panda728
PRO
0
170
Claude Agent SDK を使ってみよう
hyshu
0
1.2k
Go Conference 2025: Goで体感するMultipath TCP ― Go 1.24 時代の MPTCP Listener を理解する
takehaya
9
1.7k
Featured
See All Featured
RailsConf 2023
tenderlove
30
1.3k
Typedesign – Prime Four
hannesfritz
42
2.8k
Code Reviewing Like a Champion
maltzj
526
40k
The Invisible Side of Design
smashingmag
302
51k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.1k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
9.7k
How to train your dragon (web standard)
notwaldorf
97
6.3k
How to Think Like a Performance Engineer
csswizardry
27
2k
A better future with KSS
kneath
239
18k
How To Stay Up To Date on Web Technology
chriscoyier
791
250k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
The Art of Programming - Codeland 2020
erikaheidi
56
14k
Transcript
0 GitHub Projectsにおける チケットの ステータス更新⾃動化について 2024-07-26 第100回NearMe技術勉強会 YO
1 目次 • Projectsでのチケット管理 • Projectsの機能を使って行える自動化 • Actionsを使わないとできない自動化 • ワークフローを作ってみて
2 要約 • GitHub Projects (V2)で複数のRepositoryのチケットを管理する • チケットのステータス更新を自動化したい • ステータス更新自動化の際、UI上で完結するもの(Projectsの
workflow)と、ワークフローの設定を記述しないといけないもの (GitHub Actions)がある • Personal Access Tokenの設定方法については割愛する
3 Projectsでのチケット管理 理想の運用 • マネージャーから見てチケットのステータス、各人の業務量が分かる状態 • 開発者は事務的な作業を頑張らなくてもよい状態 自動化の背景 • 「どの人がどんなタスクを持っている」のか都度コミュニケーションが発生してしまう
• 開発者がチケットのステータス更新を忘れてしまうことで、マネージャーはリ アルタイムなチケットの進捗が分からない • (今後)チケット更新がリアルタイムで行われないと、チケットを消化するのに 要した実測値が正しくとれない
4 Projectsでのチケット管理 Projectとは? • UserまたはOrganizationに紐づく機能 • 複数のRepositoryのIssueを一覧化したりIssueをボードに並べることが できる(ソート、フィルター、グルーピング) なぜGitHub Projects?
• マネージャーは複数のリポジトリのチケットを一元的に管理したい • 開発者側の既存の運用をなるべく変えたくない(GitHubのIssueで開発 のチケットを管理、チケット管理のためにツールを増やしたくない)
5 Projectsの機能を使って行える自動化 今回の説明で使用するProject • スタータスは以下の5つ ◦ 📪とりあえず ◦ 📚着手前 ◦
⌨開発中 ◦ 👀レビュー中 ◦ ✅マージ済み
6 Projectsの機能を使って行える自動化 トリガー アクション Repositoryに新しいIssueが追加 Projectsに追加する Issueに紐づいたPull Requestが マージされた Issueのステータスを「✅マージ済
み」にする Issueのステータスが「✅マージ済 み」になった Issueをクローズする
7 Actionsを使わないとできない自動化 Actionsとは? • Repositoryに紐づく機能 • Repository内での操作を自動化できる
8 Actionsを使わないとできない自動化 トリガー アクション IssueにDraft PRが追加 Issueのステータスを「⌨開発中」にす る IssueにPRが追加 Issueのステータスを「👀レビュー中」
にする Issueに追加されたDraft PRがPRに変更 された 「⌨開発中」から「👀レビュー中」に移動 する Issueに追加されたPRがDraft PRに変更 された 「👀レビュー中」から「⌨開発中」に移動 する Issueにassigneeが追加 「📪とりあえず」から「📚着手前」に移動 する
9 Actionsを使わないとできない自動化 ①起案 ②棚卸 ③実装はされたが 承認はまだのもの ここの自動化 • 「実装が作られた」を感知 •
Project上でチケットを移動 ④承認
10 Actionsを使わないとできない自動化 1. 開発者がPull Requestを作成する(トリガー 1) 2. GitHub ActionsがPull Requestの説明を読んで、メンションさ
れたIssueに作成されたPull Requestの種類に応じたコメント を書きに行く(トリガー 2) 3. GitHub ActionsがIssueにコメントされたのを感知して、コメン ト内容に応じてProject上でIssueを移動 • Issueにコメントが記載 される • PR作成 • Draft PR作成 • Draft PR→PR • 閉じられてたPR再開 YO YO
11 Actionsを使わないとできない自動化 作成したワークフロー • キーワード ◦ Expressions : ${{ }}を使うことで環境変数などをワークフロー内に埋め込める
機能 ◦ Contexts : トリガーやジョブに関する情報にアクセスするための機能 ◦ GitHub CLI : GitHubを使用するためのコマンドラインツール • 以下のGistのコードで解説 https://gist.github.com/yutaokamoto/1bd9bffc70319fb09db256b7e193658c
12 ワークフローを作ってみて 苦労した点 • GitHub Actionsに慣れること ◦ Expressions ◦ Contexts
◦ GitHub CLI • GitHub Projects (Classic)だとコメントを記載するのが簡単にできるっぽ い • Issueに関するワークフローはメインのブランチにマージされないと実行 されない • Actionが書き込んだコメントに改行が入ってしまう
13 ワークフローを作ってみて 苦労した点 • GitHub上で自動化の実行を行ってみないと分からないことも多く、デ バッグがやりづらかった ◦ debug loggingというログを詳し目に出してくれる機能に途中で気づいた
14 Thank you