Discussions
この章では、GitHub Discussionsを使ったコミュニティコミュニケーションについて学びます。
Discussionsとは
Section titled “Discussionsとは”Discussionsは、コードに関係のない議論やQ&A、アナウンスメントのための機能です。Issuesとは異なり、より自由形式の対話に適しています。
Issuesとの違い
Section titled “Issuesとの違い”| 項目 | Issues | Discussions |
|---|---|---|
| 目的 | タスク・バグ追跡 | 議論・Q&A |
| 状態管理 | Open/Closed | 回答済み/未回答 |
| 投票 | なし | あり(Upvote) |
| カテゴリ | ラベル | 専用カテゴリ |
| 変換 | → Discussion | → Issue |
Discussions を使う:- 質問・ヘルプ依頼- アイデアの議論- プロジェクトのアナウンス- 一般的な会話- 投票が必要な決定
Issues を使う:- バグ報告- 機能要望(実装予定あり)- タスク管理- PRに紐づく作業Discussionsの有効化
Section titled “Discussionsの有効化”- リポジトリの Settings
- General → Features
- Discussions にチェック
カテゴリの設定
Section titled “カテゴリの設定”デフォルトカテゴリ
Section titled “デフォルトカテゴリ”| カテゴリ | 形式 | 用途 |
|---|---|---|
| Announcements | 📣 | お知らせ(メンテナーのみ投稿可) |
| General | 💬 | 一般的な議論 |
| Ideas | 💡 | アイデア・提案 |
| Polls | 🗳️ | 投票 |
| Q&A | ❓ | 質問と回答 |
| Show and tell | 🙌 | 成果の共有 |
カスタムカテゴリの作成
Section titled “カスタムカテゴリの作成”Discussions → Categories → New category:
カテゴリ例:- 📚 Documentation: ドキュメントに関する質問- 🔧 Configuration: 設定・セットアップの質問- 🤝 Collaboration: コラボレーション募集- 🎉 Release Notes: リリース情報カテゴリ形式
Section titled “カテゴリ形式”| 形式 | 説明 |
|---|---|
| Discussion | 自由形式の議論 |
| Q&A | 質問と回答(回答を選択可能) |
| Announcement | メンテナーのみ投稿可 |
| Poll | 投票形式 |
- Discussions → New discussion
- カテゴリ「Q&A」を選択
- 質問を投稿
回答のマーク
Section titled “回答のマーク”回答者またはメンテナーが「Mark as answer」で正解をマーク:
質問: Node.js のバージョンは? └─ 回答1: v18 がおすすめ └─ 回答2: v20 LTS を推奨 ✅ Marked as answer └─ 回答3: 古いバージョンも可検索での活用
Section titled “検索での活用”回答済みの質問は検索で見つけやすく、同じ質問の重複を防げます。
Poll の作成
Section titled “Poll の作成”- カテゴリ「Polls」を選択
- 質問文を入力
- 選択肢を追加
- 投票期限を設定(任意)
🗳️ 次にサポートすべきフレームワークは?○ React (45%)○ Vue (30%)○ Svelte (15%)○ Angular (10%)
期限: 2024年1月31日アナウンスメント
Section titled “アナウンスメント”Announcement の作成
Section titled “Announcement の作成”メンテナー(Write権限以上)のみが投稿可能:
- カテゴリ「Announcements」を選択
- 重要なお知らせを投稿
- 固定(Pin)も可能
📣 v2.0 リリースのお知らせ
本日、v2.0 をリリースしました。
## 主な変更点- 新機能A- 新機能B- 破壊的変更C
## アップグレード方法...DiscussionからIssueへの変換
Section titled “DiscussionからIssueへの変換”議論から具体的なタスクが生まれた場合:
- Discussion を開く
- 右サイドバー → 「Create issue from discussion」
- Issue が作成され、Discussion にリンクが追加される
逆に Issue → Discussion への変換も可能。
コミュニティ管理
Section titled “コミュニティ管理”行動規範(Code of Conduct)
Section titled “行動規範(Code of Conduct)”- リポジトリに
CODE_OF_CONDUCT.mdを追加 - Discussions のガイドラインとして機能
不適切な投稿の対応
Section titled “不適切な投稿の対応”- Lock: 追加コメントを禁止
- Delete: 投稿を削除
- Report: GitHubに報告
- Convert: Issueに変換して対処
モデレーション設定
Section titled “モデレーション設定”Settings → Moderation:
- 最小アカウント年齢
- 最初の投稿の承認
- スパムフィルター
中級者向けTips
Section titled “中級者向けTips”Discussions の検索
Section titled “Discussions の検索”# 回答済みis:answered
# 未回答is:unanswered
# 特定カテゴリcategory:"Q&A"
# 著者author:username
# コメント数comments:>5GitHub CLI での操作
Section titled “GitHub CLI での操作”# Discussion一覧gh discussion list
# Discussion作成gh discussion create --title "質問" --body "本文" --category "Q&A"
# Discussion詳細gh discussion view 123Discussions を活用したドキュメント
Section titled “Discussions を活用したドキュメント”よくある質問(FAQ)をDiscussionsで管理:
- Q&A カテゴリで質問を蓄積
- 回答をマーク
- 重要な質問を固定
- 検索可能なナレッジベースに
API での自動化
Section titled “API での自動化”# 新しいDiscussionをSlackに通知name: Discussion Notification
on: discussion: types: [created]
jobs: notify: runs-on: ubuntu-latest steps: - name: Notify run: | curl -X POST ${{ secrets.SLACK_WEBHOOK }} \ -d '{ "text": "新しいDiscussion: ${{ github.event.discussion.title }}" }'| 機能 | 用途 |
|---|---|
| Q&A | 質問と回答 |
| Polls | 投票・意見収集 |
| Announcements | 公式お知らせ |
| General | 自由な議論 |
| → Issue | 具体的タスクへ変換 |
Discussionsのベストプラクティス
Section titled “Discussionsのベストプラクティス”- カテゴリを整理: 目的に応じた分類
- Q&A を活用: 回答をマークしてFAQ化
- Announcement で周知: 重要情報を見逃さない
- Issue と使い分け: 議論 vs タスク
- コミュニティガイドライン: ルールを明確に
次の章では、GitHub Actions基礎について学びます。
Q1. GitHub DiscussionsとIssuesの主な違いは何ですか?
Q2. Discussionsのカテゴリで「Announcements」の特徴は何ですか?
Q3. DiscussionをIssueに変換できる理由は何ですか?