---
date: "2018-05-10T16:00:00+02:00"
slug: "issue-pull-request-templates"
sidebar_position: 15
aliases:
  - /zh-tw/issue-pull-request-templates
---

# 問題和拉取請求模板

一些項目有一個標準的問題列表，當用戶創建問題或拉取請求時需要回答。Gitea 支援將模板添加到倉庫的**默認分支**，以便在用戶創建問題和拉取請求時自動填充表單。這將減少獲取一些澄清細節的初始來回。
目前無法在全局範圍內提供通用的問題/拉取請求模板。

此外，新問題頁面的 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`

拉取請求模板的可能文件名：

- `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 模板語法

```md
---
name: "模板名稱"
about: "此模板用於測試！"
title: "[TEST] "
ref: "main"
assignees: ["user1"]
labels:
  - bug
  - "需要幫助"
---

這是模板！
```

在上述示例中，當用戶看到他們可以提交的問題列表時，這將顯示為 `模板名稱`，描述為 `此模板用於測試！`。提交問題時，問題標題將預填充為 `[TEST]`，而問題正文將預填充為 `這是模板！`。
問題將分配給 `user1`。
問題還將分配兩個標籤，
`bug` 和 `需要幫助`，問題將引用 `main`。

## yaml 模板語法

此示例 YAML 配置文件使用多個輸入定義了一個問題表單來報告錯誤。

```yaml
name: 錯誤報告
about: 提交錯誤報告
title: "[Bug]: "
body:
  - type: markdown
    attributes:
      value: |
        感謝您花時間填寫此錯誤報告！
  # 一些僅在創建問題後可見的 markdown
  - type: markdown
    attributes:
      value: |
        此問題是由問題**模板**創建的 :)
    visible: [content]
  - type: input
    id: contact
    attributes:
      label: 聯繫方式
      description: 如果我們需要更多信息，如何與您聯繫？
      placeholder: 例如 email@example.com
    validations:
      required: false
  - type: textarea
    id: what-happened
    attributes:
      label: 發生了什麼？
      description: 也告訴我們，您期望發生什麼？
      placeholder: 告訴我們您看到的！
      value: "發生了錯誤！"
    validations:
      required: true
  - type: dropdown
    id: version
    attributes:
      label: 您運行的軟件版本是什麼？
      description: 您運行的軟件版本是什麼？
      options:
        - 1.0.2（默認）
        - 1.0.3（邊緣）
    validations:
      required: true
  - type: dropdown
    id: browsers
    attributes:
      label: 您在哪些瀏覽器上看到問題？
      multiple: true
      options:
        - Firefox
        - Chrome
        - Safari
        - Microsoft Edge
  - type: textarea
    id: logs
    attributes:
      label: 相關日誌輸出
      description: 請複製並粘貼任何相關的日誌輸出。這將自動格式化為代碼，因此不需要反引號。
      render: shell
  - type: checkboxes
    id: terms
    attributes:
      label: 行為準則
      hide_label: true
      description: 提交此問題即表示您同意遵守我們的[行為準則](https://example.com)
      options:
        - label: 我同意遵守此項目的行為準則
          required: true
        - label: 我也已閱讀 CONTRIBUTION.MD
          required: true
          visible: [form]
        - label: 這是一個僅在創建問題後可見的待辦事項
          visible: [content]
```

### Markdown

您可以使用 `markdown` 元素在表單中顯示 Markdown，為用戶提供額外的上下文，但默認情況下不會提交。

屬性：

| 鍵    | 描述                             | 必需 | 類型   | 默認值 | 有效值 |
| ----- | -------------------------------- | ---- | ------ | ------ | ------ |
| value | 渲染的文本。支持 Markdown 格式。 | 必需 | 字符串 | -      | -      |

visible: 默認為 **[form]**

### Textarea

您可以使用 `textarea` 元素在表單中添加多行文本字段。貢獻者還可以在 `textarea` 字段中附加文件。

屬性：

| 鍵          | 描述                                                                                               | 必需 | 類型   | 默認值   | 有效值             |
| ----------- | -------------------------------------------------------------------------------------------------- | ---- | ------ | -------- | ------------------ |
| label       | 預期用戶輸入的簡要描述，也顯示在表單中。                                                           | 必需 | 字符串 | -        | -                  |
| hide_label  | 如果為 true，則標籤通常用作標題不可見。                                                            | 可選 | 布爾值 | false    | -                  |
| description | 文本區的描述，以提供上下文或指導，顯示在表單中。                                                   | 可選 | 字符串 | 空字符串 | -                  |
| placeholder | 當空時在文本區中呈現的半透明佔位符。                                                               | 可選 | 字符串 | 空字符串 | -                  |
| value       | 預填充在文本區中的文本。                                                                           | 可選 | 字符串 | -        | -                  |
| render      | 如果提供了值，提交的文本將格式化為代碼塊。提供此鍵時，文本區將不會擴展以附加文件或 Markdown 編輯。 | 可選 | 字符串 | -        | Gitea 已知的語言。 |

驗證：

| 鍵       | 描述                         | 必需 | 類型   | 默認值 | 有效值 |
| -------- | ---------------------------- | ---- | ------ | ------ | ------ |
| required | 在元素完成之前阻止表單提交。 | 可選 | 布爾值 | false  | -      |

visible: 默認為 **[form, content]**

### Input

您可以使用 `input` 元素在表單中添加單行文本字段。

屬性：

| 鍵          | 描述                                             | 必需 | 類型   | 默認值   | 有效值 |
| ----------- | ------------------------------------------------ | ---- | ------ | -------- | ------ |
| label       | 預期用戶輸入的簡要描述，也顯示在表單中。         | 必需 | 字符串 | -        | -      |
| hide_label  | 如果為 true，則標籤通常用作標題不可見。          | 可選 | 布爾值 | false    | -      |
| description | 該字段的描述，以提供上下文或指導，顯示在表單中。 | 可選 | 字符串 | 空字符串 | -      |
| placeholder | 當空時在字段中呈現的半透明佔位符。               | 可選 | 字符串 | 空字符串 | -      |
| value       | 預填充在字段中的文本。                           | 可選 | 字符串 | -        | -      |

驗證：

| 鍵        | 描述                                             | 必需 | 類型   | 默認值 | 有效值                                                              |
| --------- | ------------------------------------------------ | ---- | ------ | ------ | ------------------------------------------------------------------- |
| required  | 在元素完成之前阻止表單提交。                     | 可選 | 布爾值 | false  | -                                                                   |
| is_number | 在元素填寫數字之前阻止表單提交。                 | 可選 | 布爾值 | false  | -                                                                   |
| regex     | 在元素填寫與正則表達式匹配的值之前阻止表單提交。 | 可選 | 字符串 | -      | 一個 [正則表達式](https://en.wikipedia.org/wiki/Regular_expression) |

visible: 默認為 **[form, content]**

### Dropdown

您可以使用 `dropdown` 元素在表單中添加下拉菜單。

屬性：

| 鍵          | 描述                                                                        | 必需 | 類型       | 默認值   | 有效值 |
| ----------- | --------------------------------------------------------------------------- | ---- | ---------- | -------- | ------ |
| label       | 預期用戶輸入的簡要描述，顯示在表單中。                                      | 必需 | 字符串     | -        | -      |
| hide_label  | 如果為 true，則標籤通常用作標題不可見。                                     | 可選 | 布爾值     | false    | -      |
| description | 下拉菜單的描述，以提供額外的上下文或指導，顯示在表單中。                    | 可選 | 字符串     | 空字符串 | -      |
| multiple    | 確定用戶是否可以選擇多個選項。                                              | 可選 | 布爾值     | false    | -      |
| list        | 如果為 true，顯示為列表。如果為 false，則將項目打印在一行上，並用逗號分隔。 | 可選 | 布爾值     | false    | -      |
| options     | 用戶可以選擇的選項數組。不能為空，所有選擇必須是不同的。                    | 必需 | 字符串數組 | -        | -      |

驗證：

| 鍵       | 描述                         | 必需 | 類型   | 默認值 | 有效值 |
| -------- | ---------------------------- | ---- | ------ | ------ | ------ |
| required | 在元素完成之前阻止表單提交。 | 可選 | 布爾值 | false  | -      |

visible: 默認為 **[form, content]**

### Checkboxes

您可以使用 `checkboxes` 元素在表單中添加一組複選框。

屬性：

| 鍵          | 描述                                                 | 必需 | 類型   | 默認值   | 有效值 |
| ----------- | ---------------------------------------------------- | ---- | ------ | -------- | ------ |
| label       | 預期用戶輸入的簡要描述，顯示在表單中。               | 必需 | 字符串 | -        | -      |
| hide_label  | 如果為 true，則標籤通常用作標題不可見。              | 可選 | 布爾值 | false    | -      |
| description | 一組複選框的描述，顯示在表單中。支持 Markdown 格式。 | 必需 | 字符串 | 空字符串 | -      |
| options     | 用戶可以選擇的複選框數組。語法見下文。               | 必需 | 數組   | -        | -      |

對於選項數組中的每個值，您可以設置以下鍵。

| 鍵       | 描述                                                                                         | 必需 | 類型       | 默認值 | 選項 |
| -------- | -------------------------------------------------------------------------------------------- | ---- | ---------- | ------ | ---- |
| label    | 選項的標識符，顯示在表單中。支持 Markdown 格式，用於粗體或斜體文本格式和超鏈接。             | 必需 | 字符串     | -      | -    |
| required | 在元素完成之前阻止表單提交。                                                                 | 可選 | 布爾值     | false  | -    |
| visible  | 特定複選框僅在表單中顯示，在創建的問題中顯示，或兩者都顯示。有效選項是 "form" 和 "content"。 | 可選 | 字符串數組 | false  | -    |

visible: 默認為 **[form, content]**

## 問題配置語法

這是一個問題配置文件的示例

```yaml
blank_issues_enabled: true
contact_links:
  - name: Gitea
    url: https://gitea.com
    about: 訪問 Gitea 網站
```

### 可能的選項

| 鍵                   | 描述                               | 類型         | 默認值 |
| -------------------- | ---------------------------------- | ------------ | ------ |
| blank_issues_enabled | 如果設置為 false，用戶必須使用模板 | 布爾值       | true   |
| contact_links        | 自定義鏈接顯示在選擇框中           | 聯繫鏈接數組 | 空數組 |

### 聯繫鏈接

| 鍵    | 描述             | 類型   | 必需 |
| ----- | ---------------- | ------ | ---- |
| name  | 您的鏈接名稱     | 字符串 | true |
| url   | 您的鏈接 URL     | 字符串 | true |
| about | 您的鏈接簡短描述 | 字符串 | true |
