Skip to main content

リポジトリ用に Issue テンプレートを設定する

コントリビューターがリポジトリで新しい Issue を開くときに使用できるテンプレートをカスタマイズできます。

組織または個人アカウント用に、既定の issue テンプレートと issue テンプレート用の既定の構成ファイルを作成できます。 詳細については、「Creating a default community health file」 (既定のコミュニティ正常性ファイルの作成) を参照してください。

Issue テンプレートを作成する

  1. On GitHub.com, navigate to the main page of the repository. 1. リポジトリ名の下の [ 設定] をクリックします。 リポジトリの設定ボタン
  2. [Features] セクションの [Issue] の下で、 [Set up templates] をクリックします。 [Start template setup] ボタン
  3. [Add template] ドロップダウンメニューで、作成するテンプレートの種類をクリックします。 [Add template] ドロップダウン メニュー
  4. テンプレートをリポジトリにコミットする前にプレビューまたは編集するには、 [Preview and edit] をクリックします。 [Preview and edit] ボタン
  5. テンプレートを編集するには、 をクリックして、フィールドに入力してコンテンツを編集します。 [Issue template edit] ボタン
  6. デフォルトの Issue タイトルを自動的に設定するには、リポジトリへの読み取りアクセスを持つ人に Issue を割り当てるか、ラベルを Issue テンプレートに適用し、こうした詳細な情報を [Optional additional information] の下に入力します。 これらの詳細は、Issue テンプレートで YAML frontmatter 形式の titlelabels、または assignees で追加することもできます。 Issue テンプレートの追加情報
  7. テンプレートの編集とプレビューが終了したら、ページ右上隅にある [変更の提案] をクリックします。 [Propose changes] ボタン
  8. 変更内容を説明するコミットメッセージを入力します。 Issue テンプレートの [commit message] フィールド
  9. コミットメッセージフィールドの下で、テンプレートを直接デフォルトブランチにコミットするか、新しいブランチを作成してプルリクエストを開くか判断します。 pull request の詳細については、「pull requests について」を参照してください。 Issue テンプレートの main へのコミットか pull request を開くかの選択肢
  10. [Commit changes] をクリックします。 変更がデフォルトブランチにマージされると、コントリビューターがリポジトリで新しい Issue を開くときにテンプレートを使用できるようになります。

Issue フォームを作成する

注: 現在、Issue フォームはベータ版であり、GitHub.com の公開リポジトリでのみ使用できます。

Issue フォームを使用すると、カスタマイズ可能な Web フォームフィールドを持つ Issue テンプレートを作成できます。 リポジトリ内の Issue フォームを使用して、コントリビューターに特定の構造化された情報を含めるように促すことができます。 Issue フォームは、GitHub フォームスキーマを使用して YAML で記述されます。 詳細については、「GitHub のフォーム スキーマの構文」を参照してください。 YAML を初めて使用する場合は、「Learn YAML in Y minutes」 (YAML を Y 分で学習する) を参照してください。

リポジトリで Issue フォームを使用するには、新しいファイルを作成して、それをお使いのリポジトリの .github/ISSUE_TEMPLATE フォルダーに追加する必要があります。

Issue フォームの設定ファイルの例を次に示します。

YAML
name: Bug Report
description: File a bug report
title: "[Bug]: "
labels: ["bug", "triage"]
assignees:
  - octocat
body:
  - type: markdown
    attributes:
      value: |
        Thanks for taking the time to fill out this bug report!
  - type: input
    id: contact
    attributes:
      label: Contact Details
      description: How can we get in touch with you if we need more info?
      placeholder: ex. email@example.com
    validations:
      required: false
  - type: textarea
    id: what-happened
    attributes:
      label: What happened?
      description: Also tell us, what did you expect to happen?
      placeholder: Tell us what you see!
      value: "A bug happened!"
    validations:
      required: true
  - type: dropdown
    id: version
    attributes:
      label: Version
      description: What version of our software are you running?
      options:
        - 1.0.2 (Default)
        - 1.0.3 (Edge)
    validations:
      required: true
  - type: dropdown
    id: browsers
    attributes:
      label: What browsers are you seeing the problem on?
      multiple: true
      options:
        - Firefox
        - Chrome
        - Safari
        - Microsoft Edge
  - type: textarea
    id: logs
    attributes:
      label: Relevant log output
      description: Please copy and paste any relevant log output. This will be automatically formatted into code, so no need for backticks.
      render: shell
  - type: checkboxes
    id: terms
    attributes:
      label: Code of Conduct
      description: By submitting this issue, you agree to follow our [Code of Conduct](https://example.com)
      options:
        - label: I agree to follow this project's Code of Conduct
          required: true

Issueフォームのレンダリングバージョンは次のとおりです。 レンダリングされた Issue フォーム

  1. Issue フォームを作成するリポジトリを選択します。 書き込みアクセス権を持つ既存のリポジトリを利用することも、新しいリポジトリを作成することもできます。 リポジトリの作成の詳細については、「新しいリポジトリの作成」を参照してください。
  2. リポジトリで、FORM-NAME を Issue フォームの名前に置き換えて、.github/ISSUE_TEMPLATE/FORM-NAME.yml という名前のファイルを作成します。 GitHub での新しいファイルの作成の詳細については、「新しいファイルの作成」を参照してください。
  3. 新しいファイルの本文に、Issue フォームの内容を入力します。 詳細については、「Issue フォームの構文」を参照してください。
  4. ファイルをリポジトリのデフォルトブランチにコミットします。 詳細については、「新しいファイルの作成」を参照してください。

テンプレート選択画面を設定する

リポジトリで新しい Issue を作成する時に表示される Issue テンプレートの選択画面をカスタマイズするには、.github/ISSUE_TEMPLATE フォルダーに config.yml ファイルを追加します。

falseblank_issues_enabled を設定して、コントリビューターに Issue テンプレートの使用を促すことができます。 blank_issues_enabledtrue に設定すると、空の Issue を開くオプションがユーザーに表示されます。

注: 従来のワークフローを使用して.githubフォルダーにissue_template.mdファイルを手動で作成し、config.yml ファイルで空の Issue を有効にした場合、issue_template.md のテンプレートは空の Issue を開くためにユーザーが選択したときに使用されます。 空白の Issue を無効にすると、テンプレートは使用されません。

GitHub 外で特定のレポートを受信する場合は、contact_links を使用して外部サイトにユーザーを誘導できます。

config.yml ファイルの例を次に示します。

YAML
blank_issues_enabled: false
contact_links:
  - name: GitHub Community Support
    url: https://github.com/orgs/community/discussions
    about: Please ask and answer questions here.
  - name: GitHub Security Bug Bounty
    url: https://bounty.github.com/
    about: Please report security vulnerabilities here.

設定ファイルでは、ファイルがリポジトリのデフォルトブランチにマージされるときにテンプレート選択画面をカスタマイズします。

  1. On GitHub.com, navigate to the main page of the repository. 1. ファイルの一覧の上にある、 [ファイルの追加] ドロップダウンを使用し、 [新しいファイルの作成] をクリックします。 [ファイルの追加] ドロップダウンの [新しいファイルの作成]
  2. ファイル名フィールドに、.github/ISSUE_TEMPLATE/config.yml と入力します。 ファイル名の構成
  3. 新しいファイルの本文に、設定ファイルのコンテンツを入力します。 構成ファイルの内容 1. ページの下部で、ファイルに対して行った変更を説明する短く分かりやすいコミットメッセージを入力してください。 コミットメッセージでは、複数の作者にコミットを関連づけることができます。 詳細については、「複数の共同作成者とのコミットの作成」を参照してください。 変更のコミット メッセージ 1. コミットメッセージフィールドの下で、コミットの追加先を現在のブランチか新しいブランチから選択してください。 現在のブランチがデフォルトブランチなら、コミット用に新しいブランチを作成してからPull Requestを作成すべきです。 詳細については、「新しい pull request の作成」を参照してください。 コミット ブランチのオプション 1. [新しいファイルの提案] [新しいファイルの提案] ボタンをクリックします

参考資料