X

在Github中为用户设置提出Issue时候的格式

XFEstudio 2026-02-01 17:01 185
编辑于 2026-02-01 17:03

在 GitHub 里 设置 Issue 的“固定格式”,主要有三种方式,从「简单 → 专业 → 强约束」逐级升级 👇 (实际开发里最常用的是 Issue Templates + Issue Forms


一、最简单:Issue Template(Markdown 模板)

适合:

  • 想要统一 Issue 描述结构
  • 不需要强制校验字段

1️⃣ 目录结构

在仓库根目录创建:

.github/
└── ISSUE_TEMPLATE/
    └── bug_report.md

2️⃣ 示例 bug_report.md

---
name: 🐞 Bug 报告
about: 提交一个 Bug
title: "[Bug] "
labels: bug
assignees: ''
---

## 🐞 问题描述
清楚简要地描述问题。

## 🔁 复现步骤
1. …
2. …
3. …

## ✅ 期望行为
描述你期望发生什么。

## 🖥 环境信息
- OS:
- 浏览器 / 运行环境:
- 版本:

## 📸 截图
如果有,请附上截图。

📌 效果:

  • 新建 Issue 时可以选择 Bug 报告
  • 自动填充内容结构

❌ 缺点:

  • 用户可以随意删除内容
  • 不能强制填写

二、推荐方式:Issue Forms(YAML 表单,GitHub 官方)

👉 强烈推荐,尤其是团队/开源项目

1️⃣ 目录结构

.github/
└── ISSUE_TEMPLATE/
    └── bug_report.yml

2️⃣ 示例 bug_report.yml

name: 🐞 Bug Report
description: 提交一个 Bug
title: "[Bug]: "
labels: ["bug"]
body:
  - type: textarea
    id: description
    attributes:
      label: 问题描述
      description: 请清晰描述你遇到的问题
      placeholder: 发生了什么?
    validations:
      required: true

  - type: textarea
    id: steps
    attributes:
      label: 复现步骤
      placeholder: |
        1. …
        2. …
        3. …
    validations:
      required: true

  - type: input
    id: version
    attributes:
      label: 版本号
      placeholder: v1.0.0
    validations:
      required: true

  - type: dropdown
    id: os
    attributes:
      label: 操作系统
      options:
        - Windows
        - macOS
        - Linux
    validations:
      required: true

📌 优点:

  • 强制填写
  • 下拉框 / 输入框 / 复选框
  • 不会被随意删格式
  • 对非技术用户也很友好

❌ 注意:

  • 只支持 GitHub Web
  • 不支持 Issue 内复杂 Markdown

三、隐藏 Issue 入口(只允许模板)

如果你 不想让用户随便新建 Issue

创建 .github/ISSUE_TEMPLATE/config.yml

blank_issues_enabled: false
contact_links:
  - name: 💬 讨论区
    url: https://github.com/你的仓库/discussions
    about: 请先在讨论区提问

效果:

  • 不能创建「空白 Issue」
  • 只能选你定义的模板

四、多个 Issue 类型(推荐结构)

.github/ISSUE_TEMPLATE/
├── bug_report.yml
├── feature_request.yml
├── question.yml
└── config.yml

比如:

  • 🐞 Bug
  • ✨ Feature
  • ❓ Question

五、如果你是严谨团队(进阶)

可以配合:

  • Labels 自动化
  • GitHub Actions 校验 Issue 内容
  • Projects 自动入池
  • Conventional Commits / Issue 规范

给你一个「工程师实用建议」

如果你是个人或小团队: 👉 直接用 Issue Forms(YAML)

如果是开源项目: 👉 Issue Forms + 禁用空白 Issue

0 条回复
暂无回复,快来抢沙发吧!
发表回复
登录 后发表回复。