はじめに
壊れてしまった特別な真理子 nikkieです。
イシューテンプレートを設定したリポジトリで、「New issue」にテンプレートが適用されなくなっていました1。
直した方法を記します。
目次
.github/ISSUE_TEMPLATE.md は古いやり方だったらしい
.github/ISSUE_TEMPLATE.mdを置けるようになったのはどうやら2016年。
現行のドキュメントにて、これはレガシーワークフローと呼ばれます
2018年にはISSUE_TEMPLATEディレクトリをサポート。
複数のテンプレートを置けるようになりました。
このたび直面した事象は、ISSUE_TEMPLATE.md(ファイル)で置いた単一テンプレートが適用されなくなるもののようです(直したので記憶頼みの記述)
修正方法
.github/ISSUE_TEMPLATE.mdを.github/ISSUE_TEMPLATE/issue_template.mdのように配置変更- 複数のテンプレートを置けるようにして、単一テンプレートを置いています
- YAML front matterを記載(後述)
.github/ISSUE_TEMPLATE/config.ymlも配置
SpeechRecognitionの例
.github/ISSUE_TEMPLATE/issue_template.mdに配置替え
「Issue テンプレートを追加する」の前後を参照
例にあった.github/ISSUE_TEMPLATE/issue_template.mdという命名を採用しました。
これはMarkdownファイルなので、YAML front matterとして必須な以下2つを記載
YAML frontmatter で有効な name: と about: キー (.md ファイルで定義されている issue テンプレートの場合) (引用ママ)
これでテンプレートを選べるようになるので、適用されない状態は解消します。
.github/ISSUE_TEMPLATE/config.ymlを追加
ISSUE_TEMPLATEディレクトリ導入後は、テンプレートを適用したissueかblank issueかの選択ができてしまいます。
blank issueを作れないように設定します
「テンプレート選択画面を設定する」参照
false に blank_issues_enabled を設定して、コントリビューターに Issue テンプレートの使用を促すことができます。(引用ママ)
blank_issues_enabled: false
これにより「New issue」から、単一のテンプレートを適用した状態になりました。
復活です🎉
この設定値は2019年に導入されたようでした。
もしかすると、.github/ISSUE_TEMPLATE.mdのままでも直せるかも
記事にしていて気づきました。
「テンプレート選択画面を設定する(リポジトリ用に Issue テンプレートを設定する)」より
従来のワークフローを使って .github フォルダーに issue_template.md ファイルを手動で作成し、config.yml ファイルで空の issue を有効にした場合は、空の issue を開くことを選択すると issue_template.md のテンプレートが使用されます。
(手元で確認できていませんが、).github/config.ymlを以下の内容で置くだけでも適用されるようになるのかもしれません
(ただしconfig.ymlの配置場所はあまり自信なし。試行錯誤必要そう)
blank_issues_enabled: true
続きを読むと
空白の Issue を無効にすると、テンプレートは使用されません。
今回の事象は.github/config.ymlを置いていないために、blank_issues_enabled: falseと扱われて、.github/ISSUE_TEMPLATE.mdが適用されなくなったということなのかも
終わりに
私は何もしていないですが、GitHubがissueテンプレートの扱いを変えたようで、.github/ISSUE_TEMPLATE.mdが適用されなくなっていました。
対応としては、複数のissueテンプレートが置けるように.github/ISSUE_TEMPLATEディレクトリを導入し、以下の2つのファイルを置いています
.github/ISSUE_TEMPLATE/issue_template.md(元のISSUE_TEMPLATE.mdを移動し、YAML front matterを追加).github/ISSUE_TEMPLATE/config.yml(内容はblank_issues_enabled: falseのみ)
複数のissueテンプレートはかなり前からサポートされていただけに、今回の事象が乗り換える機会として働いたのは結果オーライかもしれません。