Skip to main content
We publish frequent updates to our documentation, and translation of this page may still be in progress. For the most current information, please visit the English documentation.

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

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

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

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

  1. GitHub.com で、リポジトリのメイン ページへ移動します。 1. リポジトリ名の下にある [設定] をクリックします。 [セキュリティ] タブが表示されない場合は、 [] ドロップダウン メニューを選び、 [設定] をクリックします。

    タブを示すリポジトリ ヘッダーのスクリーンショット。 [設定] タブが濃いオレンジ色の枠線で強調表示されています。

  2. [Features] セクションの [Issue] の下で、 [Set up templates] をクリックします。 場合によっては、"issue" を有効にし、ページを更新しないとボタンが表示されません。

  3. [Add template] ドロップダウンメニューで、作成するテンプレートの種類をクリックします。

[テンプレートの追加] ドロップダウン メニューのスクリーンショット。展開され、標準テンプレートの "バグ レポート" と "機能要求" が表示されています。 さらに、"カスタム テンプレート" が表示されています。 5. テンプレートをリポジトリにコミットする前にプレビューまたは編集するには、 [Preview and edit] をクリックします。 [Preview and edit] ボタン 6. テンプレートを編集するには、 をクリックして、フィールドに入力してコンテンツを編集します。 [Issue template edit] ボタン 7. 既定の issue タイトルを自動設定するには、リポジトリに読み取りアクセスできるユーザーに issue を割り当てるか、テンプレートから作られた issue にラベルを適用するか、[任意の追加情報] の下にあるフィールドを使いします。 これらの詳細は、Issue テンプレートで YAML frontmatter 形式の titlelabels、または assignees で追加することもできます。 8. テンプレートの編集とプレビューが終了したら、ページ右上隅にある [変更の提案] をクリックします。 [Propose changes] ボタン 9. 変更内容を説明するコミットメッセージを入力します。 Issue テンプレートの [commit message] フィールド 10. コミットメッセージフィールドの下で、テンプレートを直接デフォルトブランチにコミットするか、新しいブランチを作成してプルリクエストを開くか判断します。 pull request について詳しくは、「pull requests について」をご覧ください。 Issue テンプレートの main へのコミットか pull request を開くかの選択肢 11. [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 フォームの内容を入力します。 詳しくは、「Syntax for issue forms」を参照してください。
  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. GitHub.com で、リポジトリのメイン ページへ移動します。 1. ファイルの一覧の上にある、 [ファイルの追加] ドロップダウンを使用し、 [新しいファイルの作成] をクリックします。 [ファイルの追加] ドロップダウンの [新しいファイルの作成]
  2. ファイル名フィールドに、.github/ISSUE_TEMPLATE/config.yml と入力します。 ファイル名の構成
  3. 新しいファイルの本文に、設定ファイルのコンテンツを入力します。 構成ファイルの内容 1. ページの下部で、ファイルに対して行った変更を説明する短く分かりやすいコミットメッセージを入力してください。 コミットメッセージでは、複数の作者にコミットを関連づけることができます。 詳しくは、「複数の作者を持つコミットを作成する」を参照してください。 変更のコミット メッセージ 1. コミットメッセージフィールドの下で、コミットの追加先を現在のブランチか新しいブランチから選択してください。 現在のブランチがデフォルトブランチなら、コミット用に新しいブランチを作成してからPull Requestを作成すべきです。 詳しくは、「pull request 用に新しいブランチを作成する必要があり、リポジトリへの書き込みアクセス許可がない場合は、まずリポジトリをフォークできます。」を参照してください。 コミット ブランチのオプション 1. [新しいファイルの提案] [新しいファイルの提案] ボタンをクリックします

参考資料