LoginSignup
1
1

はじめに

自分が所属しているコミュニティで、GitHub Discussion を使ってテンプレートを作成したので、その作成方法をまとめます。

非エンジニアの方でもエンジニアとの話し合いの場に GitHub Discussion はとても役立つのでぜひ試してみて下さい。

GitHub Discussion とは

GitHub Discussion は、OSS(Open Source Software) または内部プロジェクトに関するコミュニティの共同コミュニケーションフォーラムです。
画像は、GitHub Community の Discussion 画面です。

Discussion を始める方法については、GitHub Discussions のクイックスタートをご覧ください。

テンプレートを使うメリット

GitHub Discussion では、テンプレートを使うことができます。
テンプレートを使うことによって、議論の内容を明確にできます。
特に質問の場合は、テンプレートを使うことで回答者が必要な情報をまとめやすく、回答者の負担を減らすことができます。

テンプレートの作成方法

1. Discussion のカテゴリを用意する

2. テンプレートファイルを作成する

フィールドごとに、入力の種類、検証、および既定のラベルを定義できます。

コミュニティメンバーがディスカッションフォームに入力すると、それぞれの入力に対する回答が Markdown に変換され、ディスカッションの本文に追加されます。

Discussion のテンプレートを作成・追加するには、.github/DISCUSSION_TEMPLATE/ ディレクトリを作成します。
.github/DISCUSSION_TEMPLATE/ ディレクトリには、カテゴリごとにテンプレートファイルを作成します。複数のカテゴリを跨いで作成できないので注意して下さい。
テンプレートファイルは YAML 形式で記述します。

例えば、Flutter というカテゴリのテンプレートを作成する場合は、.github/DISCUSSION_TEMPLATE/flutter.yml というファイルを作成します。次に、labelsに Flutter を追加して、labels: [Flutter]のようにします。

ディスカッションカテゴリフォームの構成ファイルには、body キーが含まれている必要があり、body には少なくとも 1 つの Markdown 以外のフィールドが含まれている必要があります。例えば、type: inputtype: textarea, type: toggle などが挙げられます。

以下のコードは、GitHub Community の Actions に関する Discussion カテゴリーのテンプレートファイルです。

actions.yml
labels: [Actions]
body:
- type: dropdown
  attributes:
    label: Select Topic Area
    description: What would you like to discuss?
    options:
      - "Question"
      - "Product Feedback"
      - "Bug"
      - "Show & Tell"
      - "General"
  validations:
    required: true
- type: textarea
  attributes:
    label: Body
    description: Start your discussion!
  validations:
    required: true

上記の書き方だと、以下のようなフォームになります。

スクリーンショット 2023-10-22 14.35.08.png

validations: required: true で入力を必須項目にすることができるので、おすすめです。

デフォルトブランチにマージ

ファイルが作成できたら、main などのデフォルトブランチにマージしたら作成完了です。

GitHub Discussionsのテンプレート使用方法

テンプレートを作成できたら、GitHub Discussions で該当カテゴリを選択してディスカッションを作成します。テンプレートで用意した入力フォームが表示されているので入力して、ディスカッションを始めましょう!

参考文献

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1