跳至主要内容
版本:1.22.3

问题和 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] ,而问题正文将预先填充这是模板!。问题还将分配两个标签,bughelp 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 元素在表单中添加一个下拉菜单。

属性

描述必填类型默认值有效值
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