# 创建议题

议题可以通过多种方式创建，因此您可以为工作流程选择最方便的方法。

议题可用于跟踪漏洞、增强功能或其他请求。 有关详细信息，请参阅“[关于问题](/zh/issues/tracking-your-work-with-issues/about-issues)”。

仓库管理员可以禁用仓库的议题。 有关详细信息，请参阅“[禁用议题](/zh/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/disabling-issues)”。

## 从仓库创建议题

1. 在 GitHub 上，导航到存储库的主页面。
2. 在仓库名称下，单击 <svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-issue-opened" aria-label="issue-opened" role="img"><path d="M8 9.5a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z"></path><path d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM1.5 8a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0Z"></path></svg>“Issues”\*\*\*\*。

   ![存储库的主页的屏幕截图。 在水平导航栏中，标记有“问题”的选项卡以深橙色标出。](/assets/images/help/repository/repo-tabs-issues-global-nav-update.png)
3. 单击“新建问题”。
4. 如果你的存储库使用问题模板，请在要打开的问题类型旁边单击“开始”。

   如果要打开的问题类型未包含在可用选项中，请单击“打开空白问题”。

   ```
          ![问题模板选择器的屏幕截图。 在模板选项下方，标有“打开空白问题”的链接以深橙色显示。](/assets/images/help/issues/blank-issue-link.png)
   ```

   1. 在“标题”字段中键入问题标题。
   2. 在注释正文字段中键入问题的说明。
      若要交叉引用相关讨论，请将讨论的 URL 粘贴到问题说明中。
5. 如果你是项目维护者，可以将[问题分配给某人](/zh/issues/tracking-your-work-with-issues/assigning-issues-and-pull-requests-to-other-github-users)、[将其添加到 项目](/zh/issues/planning-and-tracking-with-projects/managing-items-in-your-project/adding-items-to-your-project#assigning-a-project-from-within-an-issue-or-pull-request)、[将其与里程碑关联](/zh/issues/using-labels-and-milestones-to-track-work/associating-milestones-with-issues-and-pull-requests)、[设置问题类型](/zh/issues/tracking-your-work-with-issues/using-issues/editing-an-issue#adding-or-changing-the-issue-type)、或[应用标签](/zh/issues/using-labels-and-milestones-to-track-work/managing-labels)。
6. 完成后，单击“提交新问题”。

## 使用GitHub CLI创建问题

```
          GitHub CLI 是用于从计算机的命令行使用 GitHub 的开源工具。 从命令行操作时，您可以使用 GitHub CLI 来节省时间并避免切换上下文。 若要了解详细信息 GitHub CLI，请参阅 [AUTOTITLE](/github-cli/github-cli/about-github-cli)。
```

若要创建问题，请使用 `gh issue create` 子命令。 若要跳过交互式提示，请添加 `--body` 标志和 `--title` 标志。

```shell
gh issue create --title "My new issue" --body "Here are more details."
```

您还可以指定受理人、标签、里程碑和项目。

```shell
gh issue create --title "My new issue" --body "Here are more details." --assignee @me,monalisa --label "bug,help wanted" --project onboarding --milestone "learning codebase"
```

## 从评论创建议题

您可以从议题或拉取请求中的评论打开新议题。 从评论打开议题时，该议题包含一个代码段，显示评论的原始发布位置。

1. 导航到您要从中打开议题的评论。

2. 在该批注中，单击 <svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-kebab-horizontal" aria-label="Show options" role="img"><path d="M8 9a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3ZM1.5 9a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Zm13 0a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z"></path></svg>。

   ![对拉取请求的评论的屏幕截图。 “烤肉串”按钮以深橙色标出。](/assets/images/help/pull_requests/kebab-in-pull-request-review-comment.png)

3. 单击**在新问题中引用**。

4. 使用“存储库”下拉菜单，并选择要在其中打开问题的存储库。

5. 键入议题的描述性标题和正文。

6. 单击“创建问题”。

7. 如果你是项目维护者，可以将[问题分配给某人](/zh/issues/tracking-your-work-with-issues/assigning-issues-and-pull-requests-to-other-github-users)、[将其添加到 项目](/zh/issues/planning-and-tracking-with-projects/managing-items-in-your-project/adding-items-to-your-project#assigning-a-project-from-within-an-issue-or-pull-request)、[将其与里程碑关联](/zh/issues/using-labels-and-milestones-to-track-work/associating-milestones-with-issues-and-pull-requests)、[设置问题类型](/zh/issues/tracking-your-work-with-issues/using-issues/editing-an-issue#adding-or-changing-the-issue-type)、或[应用标签](/zh/issues/using-labels-and-milestones-to-track-work/managing-labels)。

8. 完成后，单击“提交新问题”。

## 从代码创建议题

您可以从文件或拉取请求的特定代码行打开新议题。 从代码打开议题时，议题包含小片段，其中显示所选代码的行或范围。 只能打开存储代码的仓库中的议题。

1. 在 GitHub 上，导航到存储库的主页面。
2. 找到要在议题中引用的代码：
   * 要打开与文件中代码相关的议题，请导航到该文件。
   * 若要在拉取请求中打开有关代码的问题，请导航到拉取请求并单击“ **<svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-diff" aria-label="diff" role="img"><path d="M8.75 1.75V5H12a.75.75 0 0 1 0 1.5H8.75v3.25a.75.75 0 0 1-1.5 0V6.5H4A.75.75 0 0 1 4 5h3.25V1.75a.75.75 0 0 1 1.5 0ZM4 13h8a.75.75 0 0 1 0 1.5H4A.75.75 0 0 1 4 13Z"></path></svg> 文件已更改**”。 然后浏览到含有要包含在评论中的代码的文件，并单击“查看”。
3. 决定是选择一行还是一个范围。

   * 要选择单行代码，请单击行号以高亮显示该行。
   * 要选择代码范围，请单击范围内第一行的行号以高亮显示代码行。 然后，将鼠标停在代码范围的最后一行，按 <kbd>Shift</kbd>，再单击行号以突出显示范围。
4. 在代码范围左侧，单击 <svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-kebab-horizontal" aria-label="Code line X options" role="img"><path d="M8 9a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3ZM1.5 9a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Zm13 0a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z"></path></svg>。 在下拉菜单中，单击“新问题中的引用”。

   ```
          ![一个文件的屏幕截图，其中选中了 8 行。 在第一个选定行的左侧，标有烤肉串图标的按钮以深橙色边框显示。](/assets/images/help/repository/open-new-issue-specific-line.png)
   ```
5. 在“标题”字段中键入问题标题。
6. 在注释正文字段中键入问题的说明。
7. 如果你是项目维护者，可以将[问题分配给某人](/zh/issues/tracking-your-work-with-issues/assigning-issues-and-pull-requests-to-other-github-users)、[将其添加到 项目](/zh/issues/planning-and-tracking-with-projects/managing-items-in-your-project/adding-items-to-your-project#assigning-a-project-from-within-an-issue-or-pull-request)、[将其与里程碑关联](/zh/issues/using-labels-and-milestones-to-track-work/associating-milestones-with-issues-and-pull-requests)、[设置问题类型](/zh/issues/tracking-your-work-with-issues/using-issues/editing-an-issue#adding-or-changing-the-issue-type)、或[应用标签](/zh/issues/using-labels-and-milestones-to-track-work/managing-labels)。
8. 完成后，单击“提交新问题”。

## 从讨论创建议题

对存储库具有分类权限的人员可以从讨论创建议题。

从讨论创建议题时，讨论帖子的内容将自动包含在议题正文中，并且将保留所有标签。 从讨论创建议题不会将讨论转换为议题或删除现有讨论。 有关 GitHub Discussions 的详细信息，请参阅 [关于讨论](/zh/discussions/collaborating-with-your-community-using-discussions/about-discussions)。

1. 在存储库或组织名称下，单击“<svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-comment-discussion" aria-label="comment-discussion" role="img"><path d="M1.75 1h8.5c.966 0 1.75.784 1.75 1.75v5.5A1.75 1.75 0 0 1 10.25 10H7.061l-2.574 2.573A1.458 1.458 0 0 1 2 11.543V10h-.25A1.75 1.75 0 0 1 0 8.25v-5.5C0 1.784.784 1 1.75 1ZM1.5 2.75v5.5c0 .138.112.25.25.25h1a.75.75 0 0 1 .75.75v2.19l2.72-2.72a.749.749 0 0 1 .53-.22h3.5a.25.25 0 0 0 .25-.25v-5.5a.25.25 0 0 0-.25-.25h-8.5a.25.25 0 0 0-.25.25Zm13 2a.25.25 0 0 0-.25-.25h-.5a.75.75 0 0 1 0-1.5h.5c.966 0 1.75.784 1.75 1.75v5.5A1.75 1.75 0 0 1 14.25 12H14v1.543a1.458 1.458 0 0 1-2.487 1.03L9.22 12.28a.749.749 0 0 1 .326-1.275.749.749 0 0 1 .734.215l2.22 2.22v-2.19a.75.75 0 0 1 .75-.75h1a.25.25 0 0 0 .25-.25Z"></path></svg> Discussions”\*\*\*\*。

   ![GitHub 存储库中的选项卡的屏幕截图。 “讨论”选项以深橙色标出。](/assets/images/help/discussions/repository-discussions-tab-global-nav-update.png)

2. 在讨论列表中，单击要查看的讨论。

3. 在右侧栏中，单击**从讨论创建问题<svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-issue-opened" aria-label="issue-opened" role="img"><path d="M8 9.5a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z"></path><path d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM1.5 8a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0Z"></path></svg>**。

   ![讨论中侧边栏的截图。 “根据讨论创建问题”选项以深橙色标出。](/assets/images/help/discussions/create-issue-from-discussion.png)

4. 在“标题”字段中键入问题标题。

5. 在注释正文字段中键入问题的说明。

6. 如果你是项目维护者，可以将[问题分配给某人](/zh/issues/tracking-your-work-with-issues/assigning-issues-and-pull-requests-to-other-github-users)、[将其添加到 项目](/zh/issues/planning-and-tracking-with-projects/managing-items-in-your-project/adding-items-to-your-project#assigning-a-project-from-within-an-issue-or-pull-request)、[将其与里程碑关联](/zh/issues/using-labels-and-milestones-to-track-work/associating-milestones-with-issues-and-pull-requests)、[设置问题类型](/zh/issues/tracking-your-work-with-issues/using-issues/editing-an-issue#adding-or-changing-the-issue-type)、或[应用标签](/zh/issues/using-labels-and-milestones-to-track-work/managing-labels)。

7. 完成后，单击“提交新问题”。

## 从项目创建议题

```
          无需离开项目即可快速创建问题。 使用按字段分组的视图时，在该组中创建问题将自动将新问题的字段设置为组的值。 例如，如果按“状态”对视图进行分组，则在“待办事项”组中创建问题时，新问题的“状态”将自动设置为“待办事项”。 有关项目的详细信息，请参阅 [AUTOTITLE](/issues/planning-and-tracking-with-projects/learning-about-projects/about-projects)。
```

1. 导航到你的项目。

2. 在板布局中的表、项组或列的底部，单击 <svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-plus" aria-label="plus icon" role="img"><path d="M7.75 2a.75.75 0 0 1 .75.75V7h4.25a.75.75 0 0 1 0 1.5H8.5v4.25a.75.75 0 0 1-1.5 0V8.5H2.75a.75.75 0 0 1 0-1.5H7V2.75A.75.75 0 0 1 7.75 2Z"></path></svg>。

   ![显示表视图最后一行的屏幕截图。 “+”按钮以橙色轮廓突出显示。](/assets/images/help/projects-v2/omnibar-add.png)

3. 单击“创建新问题”。

4. 在“创建新问题”对话框顶部，选择要在其中创建新问题的存储库。

   ![显示“创建新问题”对话框的屏幕截图。](/assets/images/help/projects-v2/issue-create-form.png)

5. 在存储库下拉列表下，键入新问题的标题。

6. （可选）使用标题字段下方的字段来设置代理人、标签和里程碑，并将新问题添加到其他项目。

7. （可选）键入问题的说明。

8. （可选）如果要创建更多问题，请选择“创建更多”，创建问题时对话框将重新打开。

9. 单击“创建”。

## 从任务列表项创建议题

在议题中，您可以使用任务列表将工作分解为较小的任务，并跟踪要完成的完整工作集。 如果任务需要进一步跟踪或讨论，可以通过将鼠标悬停在任务上方并单击 <svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-issue-opened" aria-label="The issue opened icon" role="img"><path d="M8 9.5a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z"></path><path d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM1.5 8a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0Z"></path></svg> 任务右上角，将任务转换为问题。 有关详细信息，请参阅“[关于任务列表](/zh/get-started/writing-on-github/working-with-advanced-formatting/about-task-lists)”。

## 从 URL 查询创建议题

您可以使用查询参数打开问题。 查询参数是 URL 的可选部分，可用于自定义和共享特定网页的视图，例如在 GitHub 上的搜索过滤结果或问题模板。 要创建自己的查询参数，必须将键与值进行配对。

> \[!TIP]
> 您还可以创建问题模板，该模板可以预设默认标签、受指派者和默认问题标题。 有关详细信息，请参阅“[使用模板鼓励有用的议题和拉取请求](/zh/communities/using-templates-to-encourage-useful-issues-and-pull-requests)”。

必须具有适当的权限才可执行使用相关查询参数的操作。 例如，必须具有向问题添加标签的权限才可使用 `labels` 查询参数。 有关详细信息，请参阅“[组织的存储库角色](/zh/organizations/managing-user-access-to-your-organizations-repositories/managing-repository-roles/repository-roles-for-an-organization)”。

如果使用查询参数创建了无效的 URL ，或者没有适当的权限，则 URL 将返回 `404 Not Found` 错误页面。 如果创建的 URL 超过服务器限制，URL 将返回 `414 URI Too Long` 错误页面。

| 查询参数    | 示例 |
| ------- | -- |
| `title` |    |

```
          `https://github.com/octo-org/octo-repo/issues/new?labels=bug&title=New+bug+report` 创建标签为“bug”和标题为“新 bug 报告”的问题。
```

`body` |
`https://github.com/octo-org/octo-repo/issues/new?title=New+bug+report&body=Describe+the+problem.` 在问题正文中创建标题为“新 bug 报告”的问题和评论“描述问题”。
`labels` |
`https://github.com/octo-org/octo-repo/issues/new?labels=help+wanted,bug` 创建标签为“所需帮助”和“bug”的问题。
`milestone` |
`https://github.com/octo-org/octo-repo/issues/new?milestone=testing+milestones` 在“测试里程碑”上创建了一个问题。
`assignees` |
`https://github.com/octo-org/octo-repo/issues/new?assignees=octocat` 创建问题并将其分配给 @octocat。
`projects` |
`https://github.com/octo-org/octo-repo/issues/new?title=Bug+fix&projects=octo-org/1` 创建标题为“问题修复”的问题，并将其添加到组织的项目 1。
`template` |
`https://github.com/octo-org/octo-repo/issues/new?template=issue_template.md` 在问题正文中使用模板创建问题。
`template` 查询参数适用于在存储库根目录 `ISSUE_TEMPLATE` 或 `docs/` 的 `.github/` 子目录中存储的模板。 有关详细信息，请参阅“[使用模板鼓励有用的议题和拉取请求](/zh/communities/using-templates-to-encourage-useful-issues-and-pull-requests)”。

还可以使用 URL 查询参数来填充在问题表单模板中定义的自定义文本字段。 问题表单字段的查询参数也可以传递给问题模板选择器。 有关详细信息，请参阅“[GitHub表单架构的语法](/zh/communities/using-templates-to-encourage-useful-issues-and-pull-requests/syntax-for-githubs-form-schema#keys)”。

## 在GitHub中使用Copilot 对话助手创建工单

> \[!NOTE]
> 此功能目前处于公共预览版，可能会发生更改。

手动创建任务可能既重复又耗时。 使用 Copilot，可以通过使用自然语言提示，甚至通过上传屏幕截图来更快地创建问题。
Copilot 使用存储库的模板和结构填写标题、正文、标签、分配者等。 请参阅“[使用GitHub Copilot创建或更新问题](/zh/copilot/using-github-copilot/using-github-copilot-to-create-issues)”。

## 在 Copilot 对话助手 中创建VS Code问题

还可以使用模型上下文协议（MCP）直接从 Copilot 对话助手 内部 VS Code创建问题。 请参阅“[使用 MCP（模型上下文协议）服务器扩展 GitHub Copilot 对话助手](/zh/copilot/customizing-copilot/extending-copilot-chat-with-mcp)”。

## 延伸阅读

* ```
          [AUTOTITLE](/get-started/writing-on-github)
  ```