问题和 Pull Request 模板
某些项目有一组标准问题,用户在创建问题或 Pull Request 时需要回答。Gitea 支持将模板添加到**仓库的默认分支**,以便在用户创建问题和 Pull Request 时自动填充表单。这将减少获取一些澄清细节的初始来回。目前无法全局提供通用问题/Pull Request 模板。
此外,新建问题页面 URL 可以附加 ?title=Issue+Title&body=Issue+Text
,表单将使用这些字符串填充。如果存在模板,则将使用这些字符串而不是模板。
文件名
问题模板可能的文件名
ISSUE_TEMPLATE.md
ISSUE_TEMPLATE.yaml
ISSUE_TEMPLATE.yml
issue_template.md
issue_template.yaml
issue_template.yml
.gitea/ISSUE_TEMPLATE.md
.gitea/ISSUE_TEMPLATE.yaml
.gitea/ISSUE_TEMPLATE.yml
.gitea/issue_template.md
.gitea/issue_template.yaml
.gitea/issue_template.yml
.github/ISSUE_TEMPLATE.md
.github/ISSUE_TEMPLATE.yaml
.github/ISSUE_TEMPLATE.yml
.github/issue_template.md
.github/issue_template.yaml
.github/issue_template.yml
问题配置可能的文件名
.gitea/ISSUE_TEMPLATE/config.yaml
.gitea/ISSUE_TEMPLATE/config.yml
.gitea/issue_template/config.yaml
.gitea/issue_template/config.yml
.github/ISSUE_TEMPLATE/config.yaml
.github/ISSUE_TEMPLATE/config.yml
.github/issue_template/config.yaml
.github/issue_template/config.yml
PR 模板可能的文件名
PULL_REQUEST_TEMPLATE.md
PULL_REQUEST_TEMPLATE.yaml
PULL_REQUEST_TEMPLATE.yml
pull_request_template.md
pull_request_template.yaml
pull_request_template.yml
.gitea/PULL_REQUEST_TEMPLATE.md
.gitea/PULL_REQUEST_TEMPLATE.yaml
.gitea/PULL_REQUEST_TEMPLATE.yml
.gitea/pull_request_template.md
.gitea/pull_request_template.yaml
.gitea/pull_request_template.yml
.github/PULL_REQUEST_TEMPLATE.md
.github/PULL_REQUEST_TEMPLATE.yaml
.github/PULL_REQUEST_TEMPLATE.yml
.github/pull_request_template.md
.github/pull_request_template.yaml
.github/pull_request_template.yml
目录名
或者,用户可以在一个特殊的目录中创建多个问题模板,并允许用户选择更具体地解决其问题的模板。
问题模板可能目录名
ISSUE_TEMPLATE
issue_template
.gitea/ISSUE_TEMPLATE
.gitea/issue_template
.github/ISSUE_TEMPLATE
.github/issue_template
.gitlab/ISSUE_TEMPLATE
.gitlab/issue_template
目录内可以有多个 markdown(.md
)或 yaml(.yaml
/.yml
)格式的问题模板。
Markdown 模板语法
---
name: "Template Name"
about: "This template is for testing!"
title: "[TEST] "
ref: "main"
labels:
- bug
- "help needed"
---
This is the template!
在上面的示例中,当用户看到可以提交的问题列表时,它将显示为模板名称
,并带有描述此模板用于测试!
。使用上述示例提交问题时,问题标题将预先填充[TEST]
,而问题正文将预先填充这是模板!
。问题还将分配两个标签,bug
和 help needed
,并且问题将引用main
。
YAML 模板语法
此 YAML 配置文件示例使用多个输入定义了一个问题表单来报告错误。
name: Bug Report
about: File a bug report
title: "[Bug]: "
body:
- type: markdown
attributes:
value: |
Thanks for taking the time to fill out this bug report!
# some markdown that will only be visible once the issue has been created
- type: markdown
attributes:
value: |
This issue was created by an issue **template** :)
visible: [content]
- 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)
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
- label: I have also read the CONTRIBUTION.MD
required: true
visible: [form]
- label: This is a TODO only visible after issue creation
visible: [content]
Markdown
您可以使用markdown
元素在表单中显示 Markdown,以向用户提供额外的上下文,但默认情况下不会提交。
属性
键 | 描述 | 必填 | 类型 | 默认值 | 有效值 |
---|---|---|---|---|---|
value | 呈现的文本。支持 Markdown 格式。 | 必填 | 字符串 | - | - |
visible: 默认值为 [form]
Textarea
您可以使用textarea
元素向表单添加多行文本字段。贡献者还可以将文件附加到textarea
字段中。
属性
键 | 描述 | 必填 | 类型 | 默认值 | 有效值 |
---|---|---|---|---|---|
label | 对预期用户输入的简要描述,也显示在表单中。 | 必填 | 字符串 | - | - |
description | 文本区域的描述,以提供上下文或指导,显示在表单中。 | 可选 | 字符串 | 空字符串 | - |
placeholder | 在文本区域为空时呈现的半透明占位符。 | 可选 | 字符串 | 空字符串 | - |
value | 在文本区域中预先填充的文本。 | 可选 | 字符串 | - | - |
render | 如果提供了值,则提交的文本将格式化为代码块。提供此键时,文本区域不会扩展以进行文件附件或 Markdown 编辑。 | 可选 | 字符串 | - | Gitea 知道的语言。 |
验证
键 | 描述 | 必填 | 类型 | 默认值 | 有效值 |
---|---|---|---|---|---|
required | 在元素完成之前阻止表单提交。 | 可选 | 布尔值 | false | - |
visible: 默认值为 [form, content]
Input
您可以使用input
元素向表单添加单行文本字段。
属性
键 | 描述 | 必填 | 类型 | 默认值 | 有效值 |
---|---|---|---|---|---|
label | 对预期用户输入的简要描述,也显示在表单中。 | 必填 | 字符串 | - | - |
description | 字段的描述,以提供上下文或指导,显示在表单中。 | 可选 | 字符串 | 空字符串 | - |
placeholder | 在字段为空时呈现的半透明占位符。 | 可选 | 字符串 | 空字符串 | - |
value | 在字段中预先填充的文本。 | 可选 | 字符串 | - | - |
验证
键 | 描述 | 必填 | 类型 | 默认值 | 有效值 |
---|---|---|---|---|---|
required | 在元素完成之前阻止表单提交。 | 可选 | 布尔值 | false | - |
is_number | 在元素填充为数字之前阻止表单提交。 | 可选 | 布尔值 | false | - |
regex | 在元素填充为与正则表达式匹配的值之前阻止表单提交。 | 可选 | 字符串 | - | 一个 正则表达式 |
visible: 默认值为 [form, content]
Dropdown
您可以使用dropdown
元素在表单中添加一个下拉菜单。
属性
键 | 描述 | 必填 | 类型 | 默认值 | 有效值 |
---|---|---|---|---|---|
label | 对预期用户输入的简要描述,显示在表单中。 | 必填 | 字符串 | - | - |
description | 下拉菜单的描述,以提供额外的上下文或指导,显示在表单中。 | 可选 | 字符串 | 空字符串 | - |
multiple | 确定用户是否可以选择多个选项。 | 可选 | 布尔值 | false | - |
options | 用户可以选择的一组选项。不能为空,并且所有选择都必须是不同的。 | 必填 | 字符串数组 | - | - |
验证
键 | 描述 | 必填 | 类型 | 默认值 | 有效值 |
---|---|---|---|---|---|
required | 在元素完成之前阻止表单提交。 | 可选 | 布尔值 | false | - |
visible: 默认值为 [form, content]
Checkboxes
您可以使用checkboxes
元素向表单添加一组复选框。
属性
键 | 描述 | 必填 | 类型 | 默认值 | 有效值 |
---|---|---|---|---|---|
label | 对预期用户输入的简要描述,显示在表单中。 | 必填 | 字符串 | - | - |
description | 复选框集的描述,显示在表单中。支持 Markdown 格式。 | 可选 | 字符串 | 空字符串 | - |
options | 用户可以选择的一组复选框。有关语法,请参见下文。 | 必填 | 数组 | - | - |
对于 options 数组中的每个值,您可以设置以下键。
键 | 描述 | 必填 | 类型 | 默认值 | 选项 |
---|---|---|---|---|---|
label | 选项的标识符,显示在表单中。Markdown 支持粗体或斜体文本格式以及超链接。 | 必填 | 字符串 | - | - |
required | 在元素完成之前阻止表单提交。 | 可选 | 布尔值 | false | - |
visible | 特定复选框是否仅显示在表单中,仅显示在创建的问题中,或两者都显示。有效选项为“form”和“content”。 | 可选 | 字符串数组 | false | - |
visible: 默认值为 [form, content]
问题配置语法
这是一个问题配置文件示例
blank_issues_enabled: true
contact_links:
- name: Gitea
url: https://gitea.com
about: Visit the Gitea Website
可能选项
键 | 描述 | 类型 | 默认值 |
---|---|---|---|
blank_issues_enabled | 如果设置为 false,则强制用户使用模板 | 布尔值 | true |
contact_links | 在选择框中显示的自定义链接 | 联系链接数组 | 空数组 |
联系链接
键 | 描述 | 类型 | 必填 |
---|---|---|---|
name | 您的链接的名称 | 字符串 | true |
url | 您的链接的 URL | 字符串 | true |
about | 您的链接的简短描述 | 字符串 | true |