您可以为您的组织或个人帐户创建默认问题模板和问题模板的默认配置文件。有关更多信息,请参阅“创建默认社区健康文件”。
创建问题模板
-
在 GitHub.com 上,导航到仓库的主页。
-
在您的仓库名称下,单击 设置。如果您看不到“设置”选项卡,请选择下拉菜单,然后单击设置。
-
在“功能”部分,在问题下,单击设置模板。您可能需要启用问题并刷新页面才能看到该按钮。
-
使用添加模板下拉菜单,然后单击您要创建的模板类型。
-
要预览或编辑模板,然后将其提交到仓库,请在模板旁边单击预览和编辑。
-
要编辑模板,请单击 ,然后在字段中键入内容以编辑其内容。
-
要自动设置默认问题标题,将问题分配给具有仓库读取权限的人员,或将标签应用于从模板中提出的问题,请使用“可选附加信息”下的字段。您也可以在问题模板中使用 YAML 前端格式中的
title
、labels
或assignees
添加这些详细信息。 -
完成编辑和预览模板后,单击页面右上角的提出更改。
-
在“提交消息”字段中,键入描述更改的提交消息。
-
在提交消息字段下方,选择是将模板直接提交到默认分支,还是创建新分支并打开拉取请求。有关拉取请求的更多信息,请参阅“关于拉取请求”。
-
单击提交更改。这些更改合并到默认分支后,模板将可供贡献者在仓库中打开新问题时使用。
创建问题表单
注意:问题表单目前处于测试阶段,可能会发生变化。
使用问题表单,您可以创建具有可自定义 Web 表单字段的问题模板。您可以通过在您的仓库中使用问题表单来鼓励贡献者提供特定的结构化信息。问题表单使用 YAML 语言编写,并使用 GitHub 表单模式。有关更多信息,请参阅“GitHub 表单模式语法”。如果您是 YAML 新手,想要了解更多信息,请参阅“在 Y 分钟内学习 YAML”。
要在您的仓库中使用问题表单,您必须创建一个新文件并将其添加到仓库中的 .github/ISSUE_TEMPLATE
文件夹中。
以下是一个问题表单配置文件的示例。
name: Bug Report description: File a bug report. title: "[Bug]: " labels: ["bug", "triage"] projects: ["octo-org/1", "octo-org/44"] 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 protected] 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) default: 0 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
name: Bug Report
description: File a bug report.
title: "[Bug]: "
labels: ["bug", "triage"]
projects: ["octo-org/1", "octo-org/44"]
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 protected]
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)
default: 0
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
以下是问题表单的渲染版本。
- 选择您要创建问题表单的仓库。您可以使用您拥有写入权限的现有仓库,也可以创建一个新仓库。有关创建仓库的更多信息,请参阅“创建新仓库”。
- 在您的仓库中,创建一个名为
.github/ISSUE_TEMPLATE/FORM-NAME.yml
的文件,将FORM-NAME
替换为您问题表单的名称。有关在 GitHub 上创建新文件的更多信息,请参阅“创建新文件”。 - 在新文件的正文中,键入您的问题表单的内容。有关更多信息,请参阅“问题表单语法”。
- 将您的文件提交到仓库的默认分支。有关更多信息,请参阅“创建新文件”。
配置模板选择器
您可以通过将 config.yml
文件添加到 .github/ISSUE_TEMPLATE
文件夹中,自定义人们在您的仓库中创建新问题时看到的模板选择器。
您可以通过将 blank_issues_enabled
设置为 false
来鼓励贡献者使用问题模板。如果您将 blank_issues_enabled
设置为 true
,人们可以选择打开一个空白问题。
注意:如果您使用旧版工作流程在 .github
文件夹中手动创建 issue_template.md
文件并在您的 config.yml 文件中启用空白问题,则当人们选择打开空白问题时,将使用 issue_template.md
中的模板。如果您禁用空白问题,则该模板将永远不会使用。
如果您希望在 GitHub 之外接收某些报告,可以使用 contact_links
将人们引导到外部网站。
以下是一个示例 config.yml 文件。
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.
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.
当文件合并到存储库的默认分支时,您的配置文件将自定义模板选择器。
-
在 GitHub.com 上,导航到仓库的主页。
-
在文件列表上方,选择添加文件 下拉菜单,然后单击 创建新文件.
或者,您可以单击 左侧的文件树视图中的。
-
在文件名字段中,键入
.github/ISSUE_TEMPLATE/config.yml
。 -
在新文件的正文中,键入您的配置文件的内容。
-
单击提交更改...
-
在“提交消息”字段中,键入一个简短且有意义的提交消息,描述您对文件所做的更改。您可以在提交消息中将提交归因于多个作者。有关更多信息,请参阅“创建具有多个作者的提交”。
-
在提交消息字段下方,决定是将您的提交添加到当前分支还是添加到新分支。如果您的当前分支是默认分支,您应该选择为您的提交创建一个新分支,然后创建一个拉取请求。有关更多信息,请参阅“创建拉取请求”。
-
单击提交更改或提出更改。
更改模板的顺序
您可以通过更改模板文件名来设置问题模板在模板选择器中出现的顺序。.github/ISSUE_TEMPLATE
中的模板按字母数字顺序排列,并按文件类型分组,YAML 文件出现在 Markdown 文件之前。
为了控制模板的顺序,请在文件名开头添加数字。例如:1-bug.yml
、2-feature-request.yml
和 3-epic.yml
。
如果您有 10 个或更多模板,字母数字排序意味着 11-bug.yml
将位于 1-feature.yml
和 2-support.yml
之间。您可以通过在数字文件名开头添加一个额外的 0
来保持您想要的顺序。例如:01-feature.yml
、02-support.yml
和 11-bug.yml
。