Skip to main content

创建议题

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

谁可以使用此功能?

People with read access can create an issue in a repository where issues are enabled. 具有托管用户的企业 成员只能对其企业一部分的存储库做出更改。

议题可用于跟踪漏洞、增强功能或其他请求。 有关详细信息,请参阅“关于议题”。

仓库管理员可以禁用仓库的议题。 有关详细信息,请参阅“禁用议题”。

从仓库创建议题

  1. 在 GitHub 上,导航到存储库的主页面。

  2. 在存储库名称下,单击 “问题”。

    存储库的主页的屏幕截图。 在水平导航栏中,标记有“问题”的选项卡以深橙色标出。

  3. 单击“新建问题”。

  4. 如果你的存储库使用问题模板,请在要打开的问题类型旁边单击“开始”。

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

    问题的模板选择器的屏幕截图。 在模板选项下方,标记为“打开空白问题”的链接以深橙色突出显示。

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

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

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

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

    对拉取请求的评论的屏幕截图。 “烤肉串”按钮以深橙色标出。

  3. 单击“新问题中的引用”。

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

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

  6. 单击“创建问题”。

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

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

从代码创建议题

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

  1. 在 GitHub 上,导航到存储库的主页面。

  2. 找到要在议题中引用的代码:

    • 要打开文件中代码相关的议题,请找到该文件。
    • 要打开拉取请求中代码相关的问题,请导航到该拉取请求并单击 “已更改的文件”。 然后浏览到含有要包含在评论中的代码的文件,并单击“查看”。
  3. 决定是选择一行还是一个范围。

    • 要选择单行代码,请单击行号以高亮显示该行。
    • 要选择代码范围,请单击范围内第一行的行号以高亮显示代码行。 然后,将鼠标停在代码范围的最后一行,按 Shift,再单击行号以突出显示范围。
  4. 在代码范围左侧,单击 。 在下拉菜单中,单击“新问题中的引用”。

    一个文件的屏幕截图,其中选中了 8 行。 在第一个选定行的左侧,一个标有“烤肉串”图标的按钮以深橙色标出。

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

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

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

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

从讨论创建议题

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

从讨论创建议题时,讨论帖子的内容将自动包含在议题正文中,并且将保留所有标签。 从讨论创建议题不会将讨论转换为议题或删除现有讨论。 有关 GitHub Discussions 的详细信息,请参阅“关于讨论”。

  1. 在存储库或组织名称下,单击 “讨论”。

    GitHub 存储库中的选项卡的屏幕截图。 “讨论”选项以深橙色标出。

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

  3. 在右侧边栏中,单击 “根据讨论创建问题”。

    讨论中边栏的屏幕截图。 “根据讨论创建问题”选项以深橙色标出。

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

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

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

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

从项目创建议题

无需离开项目即可快速创建问题。 使用按字段分组的视图时,在该组中创建问题将自动将新问题的字段设置为组的值。 例如,如果按“状态”对视图进行分组,则在“待办事项”组中创建问题时,新问题的“状态”将自动设置为“待办事项”。 有关项目的详细信息,请参阅“关于 Projects”。

  1. 导航到你的项目。

  2. 在板布局中的表、项组或列的底部,单击

    显示表视图最后一行的屏幕截图。 “+”按钮以橙色轮廓突出显示。

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

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

    显示“创建新问题”对话框的屏幕截图。

  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”和标题为“新 bug 报告”的问题。
bodyhttps://github.com/octo-org/octo-repo/issues/new?title=New+bug+report&body=Describe+the+problem. 在问题正文中创建标题为“新 bug 报告”的问题和评论“描述问题”。
labelshttps://github.com/octo-org/octo-repo/issues/new?labels=help+wanted,bug 创建标签为“所需帮助”和“bug”的问题。
milestonehttps://github.com/octo-org/octo-repo/issues/new?milestone=testing+milestones 创建里程碑为“测试里程碑”的问题。
assigneeshttps://github.com/octo-org/octo-repo/issues/new?assignees=octocat 创建问题并将其分配给 @octocat。
projectshttps://github.com/octo-org/octo-repo/issues/new?title=Bug+fix&projects=octo-org/1 创建标题为“Bug 修复”的问题,并将其添加到组织的项目 1。
templatehttps://github.com/octo-org/octo-repo/issues/new?template=issue_template.md 在问题正文中使用模板创建问题。 template 查询参数适用于在存储库根目录 docs/.github/ISSUE_TEMPLATE 子目录中存储的模板。 有关详细信息,请参阅“使用模板鼓励有用的议题和拉取请求”。

还可使用 URL 查询参数填充在问题表单模板中定义的自定义文本字段。 问题表单字段的查询参数也可以传递给问题模板选择器。 有关详细信息,请参阅“GitHub 表单架构的语法”。

从 code scanning 警报创建议题

注意: 议题中 code scanning 警报的跟踪目前为 公共预览版,可能随时更改。

此功能支持使用 GitHub Actions 在本机运行分析,或使用现有 CI/CD 基础结构以及第三方 code scanning 工具在外部运行分析,但不支持第三方跟踪工具。

如果要使用问题来跟踪和确定工作优先级,则可以使用问题来跟踪 code scanning 警报。 有关创建问题以跟踪 code scanning 警报的详细信息,请参阅“[AUTOTITLE](/code-security/code-scanning/managing-code-scanning-alerts/tracking-code-scanning-alerts-in-issues-using-task-lists)”。

延伸阅读