跳至主要内容

创建 Issue

可以通过多种方式创建议题,以便您选择最适合工作流的便捷方法。

谁可以使用此功能?

拥有读取权限的用户可以在启用议题的仓库中创建议题。

议题可用于追踪错误、增强功能或其他请求。欲了解更多信息,请参阅 关于议题

仓库管理员可以为仓库禁用议题。欲了解更多信息,请参阅 禁用议题

从仓库创建议题

  1. 在 GitHub 上,导航至仓库的主页面。

  2. 在仓库名称下,点击 议题

    Screenshot of the main page of a repository. In the horizontal navigation bar, a tab, labeled "Issues," is outlined in dark orange.

  3. 点击 New issue

  4. 如果您的仓库使用议题模板,在您想要打开的议题类型旁,点击 开始使用

    如果您想打开的议题类型未在可用选项中,点击 打开空白议题

    Screenshot of the template chooser for an issue. Below the template choices, a link, labeled "Open a blank issue," is outlined in dark orange.

  5. 在“标题”字段中,为您的议题输入标题。

  6. 在评论正文字段中,输入议题的描述。若要交叉引用相关讨论,请将讨论的 URL 粘贴到议题描述中。

  7. 如果您是项目维护者,可以 将议题分配给某人将其添加到项目中将其关联到里程碑设置议题类型,或应用标签

  8. 完成后,点击 提交新议题

使用 GitHub CLI 创建议题

GitHub CLI 是一款开源工具,可让您在计算机的命令行中使用 GitHub。使用命令行时,您可以利用 GitHub CLI 节省时间并避免切换上下文。如需了解更多关于 GitHub CLI 的信息,请参阅 关于 GitHub CLI

要创建议题,请使用 gh issue create 子命令。若要跳过交互提示,请包含 --body--title 标志。

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

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

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. 在该评论中,点击.

    Screenshot of a comment on a pull request. The kebab button is outlined in dark orange.

  3. 点击 在新议题中引用

  4. 使用“仓库”下拉菜单,选择您想要打开议题的仓库。

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

  6. 点击 创建议题

  7. 如果您是项目维护者,可以 将议题分配给某人将其添加到项目中将其关联到里程碑设置议题类型,或应用标签

  8. 完成后,点击 提交新议题

从代码创建议题

您可以从文件或拉取请求中的特定代码行或代码块打开新议题。从代码创建议题时,议题会包含一个代码片段,显示您选择的行或代码范围。只能在保存该代码的同一仓库中打开议题。

  1. 在 GitHub 上,导航至仓库的主页面。

  2. 定位您想在议题中引用的代码

    • 要针对文件中的代码打开议题,请前往该文件。
    • 要针对拉取请求中的代码打开议题,请前往该拉取请求并点击 已更改文件。然后,浏览包含您想在评论中引用的代码的文件,点击 查看
  3. 选择是单行还是范围。

    • 若要选择单行代码,点击行号以高亮该行。
    • 若要选择代码范围,点击范围起始行的行号以高亮该行代码。随后,将鼠标悬停在范围结束行上,按住 Shift,并点击行号以高亮整个范围。
  4. 在代码范围左侧,点击。在下拉菜单中,点击 在新议题中引用

    Screenshot of a file, with 8 lines selected. To the left of the first selected line, a button labeled with a kebab icon is outlined in dark orange.

  5. 在“标题”字段中,为您的议题输入标题。

  6. 在评论正文字段中,输入议题的描述。

  7. 如果您是项目维护者,可以 将议题分配给某人将其添加到项目中将其关联到里程碑设置议题类型,或应用标签

  8. 完成后,点击 提交新议题

从讨论创建议题

拥有仓库分流(triage)权限的用户可以从讨论创建议题。

从讨论创建议题时,讨论帖子的内容会自动包含在议题正文中,任何标签也会保留。从讨论创建议题不会将讨论转换为议题或删除现有讨论。欲了解 GitHub Discussions 的更多信息,请参阅 关于讨论

  1. 在你的仓库或组织名称下,点击 讨论

    Screenshot of the tabs in a GitHub repository. The "Discussions" option is outlined in dark orange.

  2. 在讨论列表中,点击您想查看的讨论。

  3. 在右侧边栏,点击 从讨论创建议题

    Screenshot of the sidebar in a discussion. The "Create issue from discussion" option is outlined in dark orange.

  4. 在“标题”字段中,为您的议题输入标题。

  5. 在评论正文字段中,输入议题的描述。

  6. 如果您是项目维护者,可以 将议题分配给某人将其添加到项目中将其关联到里程碑设置议题类型,或应用标签

  7. 完成后,点击 提交新议题

从项目创建议题

您可以在不离开项目的情况下快速创建议题。使用按字段分组的视图时,在该组中创建议题会自动将新议题的对应字段设置为该组的值。例如,如果您按“状态”对视图进行分组,在“待办”组中创建议题时,新议题的“状态”会自动设为“待办”。欲了解项目的更多信息,请参阅 关于项目

  1. 导航到您的项目。

  2. 在表格、项目组或看板布局的列底部,点击.

    Screenshot showing the bottom row of a table view. The "+" button is highlighted with an orange outline.

  3. 点击 创建新议题

  4. 在“创建新议题”对话框顶部,选择您希望创建新议题的仓库。

    Screenshot showing the "Create new issue" dialog.

  5. 在仓库下拉框下方,为新议题输入标题。

  6. 可选地,使用标题字段下方的字段设置受理人、标签、里程碑,并将新议题添加到其他项目中。

  7. 可选地,为您的议题输入描述。

  8. 可选地,如果您想创建更多议题,选择 创建更多,对话框将在您创建议题后重新打开。

  9. 点击 创建

从任务列表项创建议题

在议题中,您可以使用任务列表将工作拆分为更小的任务,并追踪完整的工作直至完成。如果任务需要进一步跟踪或讨论,您可以将任务转换为议题,方法是将鼠标悬停在任务上并点击任务右上角。欲了解更多信息,请参阅 关于任务列表

通过 URL 查询创建议题

您可以使用查询参数打开议题。查询参数是 URL 的可选部分,您可以自定义它们以共享特定网页视图,例如搜索过滤结果或 GitHub 上的议题模板。要创建自己的查询参数,必须匹配键值对。

提示

您还可以创建默认带有标签、受理人和标题的议题模板。欲了解更多信息,请参阅 使用模板来鼓励有价值的议题和拉取请求

要使用相应的查询参数,您必须拥有相应的权限。例如,使用 labels 查询参数前,您必须具备为议题添加标签的权限。欲了解更多信息,请参阅 组织的仓库角色

如果使用查询参数创建了无效的 URL,或您没有相应权限,URL 将返回 404 Not Found 错误页面。如果创建的 URL 超出服务器限制,URL 将返回 414 URI Too Long 错误页面。

查询参数示例
titlehttps://github.com/octo-org/octo-repo/issues/new?labels=bug&title=New+bug+report 创建一个带有标签“bug”和标题“New bug report”的议题。
bodyhttps://github.com/octo-org/octo-repo/issues/new?title=New+bug+report&body=Describe+the+problem. 创建一个标题为“New bug report”,正文为“Describe the problem”的议题。
labelshttps://github.com/octo-org/octo-repo/issues/new?labels=help+wanted,bug 创建一个带有标签“help wanted”和“bug”的议题。
里程碑https://github.com/octo-org/octo-repo/issues/new?milestone=testing+milestones 创建一个里程碑为“testing milestones”的议题。
指派人https://github.com/octo-org/octo-repo/issues/new?assignees=octocat 创建一个议题并将其指派给 @octocat。
项目https://github.com/octo-org/octo-repo/issues/new?title=Bug+fix&projects=octo-org/1 创建一个标题为“Bug fix”的议题,并将其添加到组织的项目 1 中。
模板https://github.com/octo-org/octo-repo/issues/new?template=issue_template.md 使用存放在仓库根目录、docs/.github/ 目录下 ISSUE_TEMPLATE 子目录中的模板来创建议题。更多信息请参阅 使用模板来鼓励有价值的议题和拉取请求

您也可以使用 URL 查询参数为在议题表单模板中定义的自定义文本字段填充值。议题表单字段的查询参数同样可以传递给议题模板选择器。更多信息请参阅 GitHub 表单模式的语法

在 GitHub 上使用 Copilot Chat 创建议题

注意

此功能处于公开预览阶段,可能会有所变动。

手动创建议题可能会重复且耗时。使用 Copilot,您可以通过自然语言提示,甚至上传截图来更快地创建议题。Copilot 会根据仓库的模板和结构自动填写标题、正文、标签、受理人等信息。参见 使用 GitHub Copilot 创建或更新议题

在 VS Code 中通过 Copilot Chat 创建议题

您也可以在 VS Code 中直接通过 Copilot Chat 使用模型上下文协议(MCP)创建议题。参见 使用模型上下文协议(MCP)服务器扩展 GitHub Copilot Chat

延伸阅读

© . This site is unofficial and not affiliated with GitHub, Inc.