您可以为您的组织或个人帐户创建默认问题模板和问题模板的默认配置文件。有关更多信息,请参阅“创建默认社区健康文件”。
创建问题模板
-
在 GitHub 上,导航到仓库的主页。
-
在您的仓库名称下,单击 设置。如果您看不到“设置”选项卡,请选择下拉菜单,然后单击设置。
-
在“功能”部分的问题下,单击设置模板。您可能需要启用问题并刷新页面才能看到此按钮。
-
使用添加模板下拉菜单,然后单击您要创建的模板类型。
-
要在将其提交到仓库之前预览或编辑模板,请在模板旁边单击预览和编辑。
-
要编辑模板,请单击,然后键入要编辑其内容的字段。
-
要自动设置默认问题标题,将问题分配给具有仓库读取权限的人员,或将标签应用于从模板提出的问题,请使用“可选附加信息”下的字段。您也可以在问题模板中使用 YAML 前端格式中的
title
、labels
或assignees
添加这些详细信息。 -
编辑和预览完模板后,单击页面右上角的提出更改。
-
在“提交消息”字段中,键入描述您更改的提交消息。
-
在提交消息字段下方,选择是将模板直接提交到默认分支,还是创建新分支并打开拉取请求。有关拉取请求的更多信息,请参阅“关于拉取请求”。
-
单击提交更改。将这些更改合并到默认分支后,贡献者在仓库中打开新问题时,就可以使用该模板了。
创建问题表单
注意
问题表单目前处于公开预览阶段,可能会发生更改。
使用问题表单,您可以创建具有可自定义 Web 表单字段的问题模板。您可以通过在您的仓库中使用问题表单来鼓励贡献者包含特定、结构化的信息。问题表单使用 GitHub 表单模式以 YAML 编写。有关更多信息,请参阅“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 上,导航到仓库的主页。
-
在文件列表上方,选择添加文件下拉菜单,然后单击 创建新文件.
或者,您可以单击左侧的文件树视图中的。
-
在文件名字段中,键入
.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
。