GitHub初心者向け:GitHub IssuesとProjectsの始め方
GitHub公式ブログは、初心者向けシリーズの第3弾として、プロジェクト管理の基盤となる「Issues」と「Projects」の基本的な使用方法と連携による開発効率化の重要性を解説している。
キーポイント
GitHub IssuesとProjectsの役割
Issuesはタスクやバグの追跡、Projectsはそれらを可視化・優先順位付けし、チーム全体のワークフローを調整するための必須ツールである。
Issueの作成手順と詳細設定
タイトル、説明文に加え、Assignee(担当者)、Labels(ラベル)、Type(種別)を適切に設定することで、情報の整理と共有を徹底する。
IssuesからProjectsへの連携
作成したIssueをGitHub Project boardに同期させることで、個々のタスクをアクション可能なワークフローに変換し、進捗状況を一元管理する。
ワークフローによる自動ステータス更新
Workflows機能を使用すると、プロジェクトへの追加やクローズなどのイベントに基づき、アイテムのステータスを「Todo」や「Done」に自動的に更新できます。
イシューとプロジェクトボードの同期
イシューをプロジェクトボードにリンクすると、両者は同期され、片方のステータス変更が他方に自動的に反映されます。
プロジェクトへのイシュー追加と管理
プロジェクトボードから既存のイシューを追加したり、新規イシューを作成して直接カード化したりでき、ドラッグ&ドロップで進捗状況を追跡できます。
Pull RequestによるIssueの自動クローズ
Pull Requestの説明欄に「Closes #番号」と記載することで、IssueとPRを自動で連携させ、マージ時にIssueが自動的にクローズされる。
影響分析・編集コメントを表示
影響分析
この記事は、GitHubプラットフォームの基本的な機能習得を促進することで、開発チームの生産性向上に寄与する。特に新規ユーザーやリスキリングが必要なエンジニアにとって、標準的なワークフローを確立するための重要なガイドラインとなる。技術革新そのものはないものの、エコシステムの健全な運用には不可欠な基礎知識の提供である。
編集コメント
AIツールの普及に伴い、高度な機能ばかりが注目されがちだが、プロジェクト管理の基盤となるIssuesとProjectsの適切な運用は、チーム開発の質を左右する重要な要素である。この基礎固めは、AI支援開発においても変わらない核心だ。
GitHub for Beginners シリーズへようこそ。このシリーズは、あなたが GitHub をプロのように使いこなすお手伝いをし、その可能性を最大限に引き出すために設計されています!今回は、これらのエピソードを動画形式で共有するとともにブログにも掲載するというダブルの取り組みを通じて、あなたにとってより使いやすい形式でお届けします。
私たちは今や第 3 シーズンへと突入しました。これまでのシーズンでは、Git の全般について一般的な紹介を行い、その後は Copilot について一季まるごと議論することに注力しました。今回のシーズンでは、基本に立ち返り、GitHub の中核機能を探求していきます。私たちの目標は、あなたの GitHub スキルをレベルアップさせるか、あるいは錆びついたスキルを磨き直すお手伝いをすることです。
今回のエピソードでは、GitHub における最も強力なコラボレーションツールの 2 つである「GitHub Issues」と「Projects」から始めます。この投稿を終える頃には、Issue の作成方法、Issues を GitHub Project ボードに同期させる方法、そして GitHub Projects を活用して作業を追跡する方法をマスターしているはずです。
それでは、本題に入りましょう!あるいは、上記の完全な動画をご覧ください!
なぜ Issues と Projects が重要なのか
GitHub Issues と Projects は、組織化を保ちつつ効率的にコラボレーションしたいあらゆるチームにとって不可欠なツールです。Issues を使えば、タスク、バグ、アイデアをすべて明確で共有されたスペースで追跡でき、見落としを防ぐことができます。Projects はより大きな視点から作業を見渡し、可視化、優先順位付け、計画立案を可能にし、個々の Issue を誰もが追跡できる実行可能なワークフローへと変換します。
イシューとプロジェクトを組み合わせることで、作業の調整を行い、進捗状況を共有し、全員が同じ目標に向かって一致していることを確保できます。
最初の GitHub Issue の作成
GitHub Issues は、プロジェクトで注意が必要なものを記録するためのシンプルな方法です。新しいアイデア、バグ、タスクなど何でも対象となります。これらは、プロジェクトに追加または更新したいものの基本要素と考えることができます。チームが協働して作業し、整理された状態を維持しながら、すべての項目が対応されるように支援します。
では、どのように Issue を作成すればよいのでしょうか?以下の手順に従って、実際に試すことができるサンプルリポジトリがあります。
ブラウザで gh.io/gfb-issues に移動してください。
ページの上部にある「Issues」タブをクリックしてください。
ウィンドウの右上にある緑色の「New issue」ボタンをクリックしてください。
いくつかの入力ボックスを含むウィンドウが表示されます。まず、「Add a title」の下にあるボックスにタイトルを入力して、Issue の明確なタイトルを付けてください。
「Add a description」ボックスに Issue の説明を入力してください。説明には、期待値を設定するために必要なすべての関連情報を盛り込む必要があります。誰かがこの Issue を解決しようとしたとき、追加または修正すべき動作はどのようなものですか?
ウィンドウの右側には、設定できるいくつかのオプションがあります。
Assignee: この Issue に直接取り組む人を割り当てます。自分が担当であることを示すために自分自身を割り当てることもできます。
Labels: Issue を複数の事前設計されたカテゴリのいずれかに分類するか、新しいカテゴリを追加します。
Type: このイシューがバグやタスクなどのどの種類に該当するかを示します。
Projects: このイシューをプロジェクトに追加します。これについては本記事の後半で詳しく解説します。
Milestone: このイシューを特定のマイルストーンに割り当てます。
イシュー説明の下にある緑色の Create ボタンをクリックしてください。
おめでとうございます!これで初めてのイシューが作成されました!一度イシューが作成されると、チームの誰でもコメントに参加できます。必要なことは、コメント欄にテキストを入力して Comment ボタンをクリックするだけです。また、コメント欄で # と続けてイシュー番号を入力することで、複数のイシューを相互リンクさせることも可能です。GitHub が自動的にその番号付きイシューへのクリック可能なリンクを提供します。これは関連する作業を追跡するのに非常に便利です。
そして、作業が完了したらイシューをクローズして、チーム全体に問題が解決されたことを知らせてください。
初めての GitHub プロジェクトの作成
プロジェクトを使えば、GitHub のイシューを視覚的なダッシュボード上でグループ化できます。これは計画、整理、および作業の追跡に最適なツールです。大きな目標を管理可能なタスクに分解し、すべてを一つの場所で追跡するための手段となります。
それでは、プロジェクトボードの作成手順を見ていきましょう。ここで試せるサンプルリポジトリがありますので、そちらでも構いませんし、ご自身のリポジトリで行ってもかまいません。上記の手順で開いたままのリポジトリがある場合は、最初のステップはスキップしてください。
ブラウザで gh.io/gfb-issues に移動します。
ページの上部にある Projects タブをクリックします。
ウィンドウの右上にある緑色の「New project」ボタンをクリックします。
テンプレートがいくつか表示されるポップアップウィンドウが開きます。ここで「Kanban」テンプレートを選択してください。
「Project name」フィールドにプロジェクト名を入力します。
「Bulk import items」のチェックボックスは選択解除してください。
ウィンドウ下部で「Create project」を選択します。
これで GitHub がプロジェクトを作成し、プロジェクトビューへ遷移します。ウィンドウ上部には作成したプロジェクトの名前が表示されます。また、GitHub によって自動的に列が作成されていますが、必要に応じて自由にカスタマイズできます。
プロジェクト名の直下にはいくつかのタブがあることに気づくでしょう。これらはプロジェクトボードの異なる表示モードに対応しています。各タブをクリックして、プロジェクト内でそれぞれの表示がどのように見えるか確認してみてください。
プロジェクトボードを管理するには、ウィンドウ右上隅の三点リーダー(…)をクリックし、「Settings」を選択します。これで新しいページが開き、以下のような操作が可能になります:
- プロジェクトボードへのアクセス権限を持つユーザーを管理する
- カスタムフィールドを作成する
- 現在のフィールドを更新する
- プロジェクト名を変更する
- プロジェクトの説明を追加または変更する
- README ファイルを含める
- プロジェクトボードのコピーを作成する
- プロジェクトの公開範囲(可視性)を変更する
チャートをカスタマイズするには
ウィンドウ上部にある「Insights」ボタンを選択します。次のページでは、チャートの表示、作成、カスタマイズが可能になります。各チャートのレイアウトは、「Configure」ボタンをクリックし、ドロップダウンメニューからオプションを選ぶことで変更できます。
ワークフローのステータスを確認するには
メインウィンドウに戻ると、上部の「Insights」ボタンの隣に「Workflows」ボタンが表示されます。「Workflows」ボタンを選択してください。すると、ウィンドウの左側にいくつかの組み込みワークフローが表示され、特定のイベントに基づいて項目の状態を更新するために使用できます。例えば、プロジェクトにアイテムが追加されたときに自動的に状態を「todo」に設定したり、プロジェクト内の issue のステータスが変更されたときに issue を閉じたり、issue がクローズされたときに状態を「Done」に設定したりすることができます。
ステータス更新の追加
もう一度メインプロジェクトビューに戻り、最上部にある「Add status update」ボタンを選択してください。これにより、プロジェクトの健全性と進捗状況に関するステータスレポートを追加できるウィンドウが開きます。
issue とプロジェクトの連携
issue とプロジェクトを組み合わせることで、作業全体を包括的に把握できるようになります。issue を個別のタスクと捉え、プロジェクトをそれらのタスクを整理するダッシュボードと考えるとわかりやすいでしょう。issue をプロジェクトボードにリンクさせると、一目で全ての状況を確認できます。
すでにプロジェクトボードが開いていない場合は開いてください。ウィンドウ下部にある「Add item」を選択します。ここで新しい issue を作成することも、既存の issue を検索することも可能です。「+」アイコンをクリックし、「Add item from repository」を選択してください。このプロジェクトボードに追加したい issue を選択します。すべてを追加する必要がある場合、リスト上部のチェックボックスを使用して一度にすべてのアイテムを自動的に選択することもできます。
追加したい課題を選択したら、ウィンドウ下部にある「Add elected items」ボタンを押してください。選択したすべての課題がカードとしてプロジェクトボードに追加される様子を確認できます。作業の進行に応じて、これらのカードを選択してステータス列の間で移動させることができます。また、課題をクリックすれば、その詳細情報をすべて確認することも可能です。
そして、ここからが面白いところです。課題とプロジェクトボードは現在同期されています。どちらか一方の課題のステータスを変更すると、他方にも自動的に反映されます。複数の課題を一度に移動させて、ワークフローに合わせた列に整理し、「Done」列へ最終的に移動させたときの達成感を味わうことができます。
エンドツーエンドの流れ
次に、チームプロジェクトで実際に使用する可能性のあるワークフローをシミュレーションするために、以下の手順を実行してみましょう。
すでにプロジェクトボードにいない場合は、まずそこに移動します。
最初の列の下部にある「Add item」をクリックし、新しい課題をワークフローに追加することを示します。
プラスアイコンをクリックして、コンテキストメニューから「Create new issue」を選択します。
追加したい新機能について説明する課題のタイトルと記述を入力します。
「Create」を選択して課題を作成し、自動的にプロジェクトボードに追加します。
記述の下にある「Labels」を選択し、オプションリストから「enhancement」を選びます。
プロジェクトボード上の課題をクリックして開きます。
右側の列で、「Assignees」の隣のギアアイコンをクリックし、チームの誰かにこの課題を割り当てます。
進捗状況の報告や更新情報の提供を示すために、イシューにコメントを追加してください。
さて、このイシューに対応する作業が完了したとしましょう。プルリクエストを開き、コメント欄でそれが関連するイシューをクローズすることを明記します。そのためには、プルリクエストの説明欄に「Closes #」と入力し、その後ろに該当するイシューの番号を入力してください。これにより自動的にイシューと接続され、参照しやすいようにリンクが提供されます。
プルリクエストをマージすると、イシューは自動的にクローズされます。
このワークフローにより、頻繁なステータス会議を行うことなく、全員が同じ認識を持つことができます。必要な情報はすべて、イシュー内およびプロジェクトボード上にあります!
次はどうしましょうか?
これで GitHub Issues と GitHub Projects を使用して、GitHub 上で作業を整理する方法を理解しました。最初は数個のイシューから始めて、進捗に合わせてプロジェクトボードを整備していけば、チーム規模に応じて拡張できるシステムが完成します。
GitHub Issues や GitHub Projects についてさらに詳しく知りたい場合は、ぜひドキュメントをご覧ください。
Happy coding!
この投稿「GitHub for Beginners: Getting started with GitHub Issues and Projects」は、The GitHub Blog で最初に公開されました。
原文を表示
Welcome back to GitHub for Beginners, our series designed to help you navigate GitHub like a pro and get the most out of it! We’re bringing you a double dose by sharing these episodes in video format and adding them to our blog, so you can consume the material in whichever form works better for you!
We’re now entering our third season! In the previous seasons, we focused on a general introduction to all things Git and then spent an entire season talking about Copilot. This season, we’re going back to the basics and exploring the core features of GitHub. Our goal is to help you level up—or dust off—your GitHub skills.
In this episode, we’re going to start with two of GitHub’s most powerful collaboration tools: GitHub Issues and Projects. By the end of this post, you’ll know how to create an issue, how to sync your issues to a GitHub Project board, and how to use GitHub Projects to track your work.
Let’s get into it! Or, watch the full video above!
Why issues and projects matter
GitHub Issues and Projects are essential tools for any team that wants to stay organized and collaborate efficiently. Issues help you track tasks, bugs, and ideas, all in a clear shared space—ensuring nothing slips through the cracks. Projects look at the bigger picture, letting you visualize, prioritize, and plan your work, turning individual issues into an actionable workflow that everyone can follow.
By combing issues and projects, you can coordinate work, communicate progress, and ensure that everyone’s aligned toward the same goal.
Creating your first GitHub Issue
GitHub Issues are a simple way to capture anything that needs attention in your project, whether that’s a new idea, a bug, or a task. Think of them as the building blocks of what you want to add to or update in your project. They help teams work collaboratively and stay organized, while making sure that every item is addressed.
So how do you create an issue? Here’s a sample repository where you can try this out for yourself by following these steps.
Navigate to gh.io/gfb-issues in your browser.
At the top of the page, click the Issues tab.
In the top-right of the window, click the green New issue button.
A window will appear with a couple of boxes. First, give your issue a clear title by entering it in the box under “Add a title.”
Provide a description for your issue in the “Add a description” box. Your description should include all of the relevant information necessary to set expectations. When someone attempts to resolve this issue, what is the behavior they should add or fix?
On the right-hand side of the window, you have several options that you can configure.
Assignee: Assign someone to work on this issue directly. You can even assign yourself to show what you’re working on.
Labels: Classify your issue into one of several predesigned categories or potentially add a new one.
Type: Indicate whether your issue is about something like a bug or a task.
Projects: Add your issue to projects, which we’ll be covering later in this post.
Milestone: Assign your issue to a specific milestone.
Click the green Create button below the issue description.
Congratulations! You have just created your first issue! Once an issue is created, anyone on the team can jump in and comment. All they need to do is enter some text in the comment field and then click the Comment button. You can even link issues together by typing # and then the number of the issue in the comment field. GitHub will automatically provide a clickable link to the numbered issue. This is super handy for tracking related work.
And when the work is finished, you can close the issue, letting the entire team know that it’s been addressed.
Creating your first GitHub Project
Projects give you a way to group GitHub Issues together in a visual dashboard that’s perfect for planning, organizing, and tracking work. It’s a tool for breaking big goals down into manageable tasks that you can track all in one place.
Now let’s walk through creating a project board. Here’s a sample repository where you can try this out, or you can do it in your own repository. If you still have the repository open from the walkthrough above, you can skip the first step.
Navigate to gh.io/gfb-issues in your browser.
At the top of the page, click the Projects tab.
In the top-right of the window, click the green New project button.
A window will pop up providing several templates for you to start from. Select the Kanban template.
Enter a title in the “Project name” field.
Unselect the checkbox for Bulk import items.
At the bottom of the window, select Create project.
GitHub will now create the project for you and take you to the project view. You’ll see the name of your project at the top of the window. In addition, GitHub automatically created columns for you, but you can customize them however you want.
Notice that underneath your project’s name, there are several tabs. These correspond to different views of the project board. Feel free to click on them to see what the different views look like in your project.
To manage your project board, click the three dots in the top-right corner and select Settings. This opens a new page where you can:
Manage who has access to your project board.
Create custom fields.
Update any current fields.
Change your project name.
Provide or change the project description.
Include a README.
Create a copy of your project board.
Change the visibility of your project.
To customize charts
At the top of the window, select the Insights button. On the following page, you’ll be able to view, create, and customize charts. You can change the layout of any of your charts by clicking the Configure button and choosing options from the dropdown menus.
To check the status of workflows
Going back to the main window, you can see a Workflows button next to the Insights button on the top. Select the Workflows button. Now you can see several built-in workflows on the left side of the window that you can use to update the status of items based on certain events. For example, you can automatically set the status to todo when an item is added to your project, close issues when the issue’s status in your project is changed or set the status to Done when an issue is closed.
To add a status update
Going back to the main project view once again, select the Add status update button at the very top. This opens a window where you can add a status report of your project’s health and progress.
Connecting issues and projects
Combining issues and projects together is how you’re able to get a complete view of your work. Think of issues as individual tasks, and projects as the dashboard that organizes those tasks. When you link issues to a project board, you can visualize where everything stands at a glance.
Go ahead and open your project board if it isn’t open already. At the bottom of the window, select Add item. You can either create a new issue right here, or you could search for existing ones. Click the plus icon and select Add item from repository. Select the issue or issues that you want to add to this project board. You can use the checkbox at the top of the list to automatically select all items at once if you want to add them all.
Once you’ve selected the issues you want to add, press the Add elected items button at the bottom of the window. Notice how this adds all of the selected issues to your project board as cards. You can select the cards and move them between status columns as work progresses. You can also click on the issue to see the full details of the issue.
And here’s something cool. The issue and your project board are now synchronized. When you change the status of the issue in one, it will automatically be reflected in the other. You can move multiple issues at once, organizing them into columns that match your workflow, and get that satisfying feeling when you finally move them into the “Done” column.
End-to-end flow
Let’s now simulate a real workflow that you might use in your team project by going through the following steps.
Navigate to your project board if you are not already there.
Click Add item at the bottom of your first column, indicating that you are adding a new issue to your workflow.
Click the plus icon and select Create new issue from the context menu.
Enter a title and description for the issue, describing a new feature you want to add.
Select Create to create the issue and automatically add it to the project board.
Underneath the description, select Labels and select enhancement from the list of options.
Click the issue in the project board to open it.
In the right-hand column, click the gear next to “Assignees” to assign this issue to someone on your team.
Add comments to the issue to signify making progress or providing updates.
Now let’s say that some work was done to address this issue. Open a pull request, and in the comment field, mention that it closes the relevant issue. Do this by entering Closes # and then the number connected with the issue in the pull request description. This will automatically connect to the issue and provide a link to it for ease of reference.
Merge the pull request, and it will automatically close the issue.
This workflow keeps everyone aligned without the need for constant status meetings. Everything you need to know is there, both in the issue and on the project board!
What’s next?
Now you know how to use GitHub Issues and Projects to organize your work with GitHub. Start simple with a few issues, build out your project board as you go, and you’ll have a system that scales with your team.
If you want to learn even more about GitHub Issues and GitHub Projects, make sure to check out our documentation.
Happy coding!
The post GitHub for Beginners: Getting started with GitHub Issues and Projects appeared first on The GitHub Blog.
関連記事
今日のまとめ
AI日報で今日の重要ニュースをまとめ読み