diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml new file mode 100644 index 00000000..e3b6c6c4 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/config.yml @@ -0,0 +1,5 @@ +blank_issues_enabled: false +contact_links: + - name: "Security Report / 安全漏洞报告" + url: "https://github.com/kekingcn/kkFileView/security/advisories/new" + about: "For sensitive security issues, please use private security report. / 涉及敏感安全问题请使用私密安全报告。" diff --git a/.github/ISSUE_TEMPLATE/issue-report.yml b/.github/ISSUE_TEMPLATE/issue-report.yml new file mode 100644 index 00000000..3963b2ab --- /dev/null +++ b/.github/ISSUE_TEMPLATE/issue-report.yml @@ -0,0 +1,117 @@ +name: "Issue Report / 问题反馈" +description: "Please provide complete required information to help us reproduce and follow up. / 请完整填写必填信息,便于复现与跟进。" +title: "[ISSUE] " +labels: ["status/needs-info"] +body: + - type: markdown + attributes: + value: | + Thanks for your report! / 感谢反馈! + + **Please fill in all required fields.** + **请完整填写所有必填项。** + + Incomplete issues may be closed and asked to resubmit. + 信息不完整的问题可能会被关闭并要求重新提交。 + + - type: dropdown + id: issue_type + attributes: + label: "Issue Type / 问题类型" + description: "Select the closest type. / 请选择最接近的问题类型" + options: + - "Bug / 缺陷" + - "Performance / 性能问题" + - "Security / 安全问题" + - "Question / 使用咨询" + - "Feature Request / 功能建议" + validations: + required: true + + - type: input + id: kkfileview_version + attributes: + label: "kkFileView Version / kkFileView 版本" + placeholder: "e.g. 4.4.0" + validations: + required: true + + - type: input + id: deploy_mode + attributes: + label: "Deployment Mode / 部署方式" + description: "jar / docker / k8s / source, etc. / jar / docker / k8s / 源码部署等" + placeholder: "e.g. docker" + validations: + required: true + + - type: textarea + id: environment + attributes: + label: "Environment / 环境信息" + description: "OS, JDK, LibreOffice/OpenOffice, browser, reverse proxy, etc. / 操作系统、JDK、Office组件、浏览器、反向代理等" + placeholder: | + - OS: + - JDK: + - LibreOffice/OpenOffice: + - Browser: + - Proxy (Nginx/Ingress): + validations: + required: true + + - type: textarea + id: reproduce_steps + attributes: + label: "Steps to Reproduce / 复现步骤" + description: "Provide clear, minimal, reproducible steps. / 提供清晰、最小可复现步骤" + placeholder: | + 1) ... + 2) ... + 3) ... + validations: + required: true + + - type: textarea + id: expected_result + attributes: + label: "Expected Result / 期望结果" + placeholder: "What should happen? / 期望实际应该出现什么结果?" + validations: + required: true + + - type: textarea + id: actual_result + attributes: + label: "Actual Result / 实际结果" + placeholder: "What happened instead? / 实际发生了什么?" + validations: + required: true + + - type: textarea + id: logs + attributes: + label: "Logs & Screenshots / 日志与截图" + description: "Paste key logs/error stack and attach screenshots (mask sensitive data). / 粘贴关键日志或异常堆栈,并上传截图(请脱敏)" + render: shell + validations: + required: true + + - type: textarea + id: sample_file + attributes: + label: "Sample File / 样例文件(可选)" + description: "If possible, provide a minimal sample file or reproducible URL (desensitized). / 如可提供,请附最小样例文件或可复现 URL(脱敏)" + validations: + required: false + + - type: checkboxes + id: checklist + attributes: + label: "Checklist / 提交前检查" + options: + - label: "I have searched existing issues and did not find a duplicate. / 我已搜索现有 issue,未发现重复问题" + required: true + - label: "I can reproduce this issue on the stated version/environment. / 我可在上述版本与环境复现该问题" + required: true + - label: "I have masked sensitive information in logs/screenshots. / 我已对日志与截图中的敏感信息做脱敏处理" + required: true