当前位置:首页 > 文章列表 > 科技周边 > 业界新闻 > GitHub CLI 新增媒体上传后怎么在工单中添加图片

GitHub CLI 新增媒体上传后怎么在工单中添加图片

来源:17golang原创 2026-09-06 03:54:29 0浏览 收藏

GitHub CLI 最近补上了一个很实用的协作能力:升级到 gh v2.99.0 后,可以用可重复的 --attach 把本地图片或视频上传到 Issue、Pull Request 或评论,并让它直接出现在 Markdown 内容里。以前遇到界面缺陷、渲染结果或报错截图,往往要离开命令行打开浏览器;现在可以在提交工单的同一条命令中带上媒体文件。

最短用法是 gh issue comment ISSUE_NUMBER --body "复现结果见附件" --attach ./error.png。如果希望图片出现在正文中间,就在 body 文件里先写本地 Markdown 引用,再把同一个路径传给 --attach。

要点速览
  • --attach 支持 Issue 和 PR 的创建、编辑、评论命令,并且可以重复传入。
  • 上传需要目标仓库写权限;认证仍使用 GitHub CLI 已支持的 OAuth 或经典个人访问令牌。
  • 图片和视频都能上传,但免费计划的视频上限与付费计划不同,GitHub Enterprise Server 不在本次支持范围内。
  • 本地路径若已出现在 Markdown 中,CLI 会原地改成上传后的地址,不会再追加一份重复附件。

GitHub CLI 这次新增了什么

这次变化的关键不是多了一个“上传”按钮,而是媒体上传和内容写入被合并到一个命令模型中。--attach 可以用于 gh issue create、gh issue edit、gh issue comment、gh pr create、gh pr edit 和 gh pr comment。同一个文件不能重复附加,但不同文件可以多次传入。

GitHub CLI --attach 将本地媒体、命令、Markdown 正文和工单内容连接起来的说明图
图1:GitHub CLI 的媒体附件路径,把本地文件与工单正文写入动作放在同一个命令里。

如果正文没有引用附件,未被引用的文件会按参数顺序追加到文末;如果正文已经写了同一路径,CLI 会保留原来的 alt 文本并在原位置替换地址。这一点很适合脚本生成复现报告:正文结构由 body 文件控制,上传动作由参数控制。

把图片放进 Issue 的最短路径

先检查本机版本和认证状态。不要只看命令能否解析,真正上传还需要对目标仓库有写权限。

# 确认 CLI 版本,媒体附件要求 gh v2.99.0
gh --version
# 确认当前账号和可访问的仓库
gh auth status
# 把单张图片作为评论附件上传
gh issue comment 123 --body "复现截图已附上" --attach ./error.png

图片 alt 文本可以接在路径后的 # 之后,例如:

# # 后的内容只用于描述追加的图片
gh issue comment 123 --attach './error.png#登录页显示认证错误'

省略 alt 文本时,GitHub CLI 会退回使用文件名。对无障碍和后续检索来说,给截图写一句描述比保留 error-final-2.png 更有用。

需要把附件放在正文中间怎么办

将正文保存为 body.md,先写出本地文件引用:

复现步骤执行到第二步时出现空白区域:

![登录页的空白错误状态](./error.png)

期望结果是表单继续显示。

然后把 body 文件和相同的本地路径一起传入。路径必须对应同一个文件,CLI 才能原地替换:

# body.md 中的本地路径会被替换为 GitHub 上传地址
gh issue comment 123 \
  --body-file ./body.md \
  --attach ./error.png

如果要提交一份带前后对比的 PR,可以重复使用 --attach:

# 两个附件分别对应正文中的两个本地引用
gh pr create \
  --title "修复登录页空白状态" \
  --body-file ./pr-body.md \
  --attach ./before.png \
  --attach ./after.png

正文来自 --body、--body-file、标准输入还是编辑器,都不影响这种路径替换行为。

使用前要核对的权限与文件边界

官方文档把上传条件说得很明确:要对目标仓库有 push 权限,认证使用 GitHub CLI 已有的 OAuth token 或经典个人访问令牌。支持的媒体包括 PNG、JPEG、GIF、WebP、SVG、MP4、MOV 和 WebM。

GitHub CLI 媒体附件的命令范围、仓库写权限、支持格式和大小边界说明图
图2:使用 --attach 前的四项核对:命令范围、仓库写权限、文件类型与大小限制。
核对项实际含义常见误区
命令范围Issue 和 PR 的 create、edit、comment不是所有 gh 子命令都自动支持
权限目标仓库需要写权限能读取仓库不代表能上传
大小图片/GIF 为 10 MB;视频免费计划 10 MB、付费计划 100 MB不能把视频上限套到图片
平台GitHub.com 的能力已面向所有计划开放GitHub Enterprise Server 本次不支持

团队脚本最好在提交前检查文件大小,并把 CLI 版本写进开发容器或 CI 镜像。这样失败时能区分“路径不存在、权限不足、文件超限”和“命令版本过旧”,而不是只看到一个上传失败。

常见问题

--attach 能用于普通评论吗?

可以,gh issue comment 和 gh pr comment 都在支持范围内,也可用于创建和编辑 Issue 或 PR。

没有仓库写权限还能上传吗?

不能。官方要求对要附加文件的仓库具有写权限;仅有读取权限的协作者需要改用有权限的账号或由有权限者提交。

为什么图片出现在文末而不是指定位置?

通常是 body 中没有写与 --attach 完全相同的本地路径。未被正文引用的附件会被追加到文末。

视频也支持 alt 文本吗?

不支持。路径后的 alt 文本适用于图片;视频附件不能用这种方式设置 alt 文本。

这项变化适合怎样的团队流程

对命令行报障、自动化 PR、编码代理和 CI 生成的复现报告来说,--attach 能减少浏览器切换,也让工单在第一次提交时就带着实际画面。落地时建议固定 gh 版本、在脚本中明确 body 文件和附件路径,并在失败日志里记录仓库、命令类型和文件大小。先把它用于开发仓库和低风险流程,确认权限与限制后,再接入更严格的自动化提交流程。

资料入口:GitHub Changelog 的功能公告 与 GitHub CLI 附件文档。

版本声明
本文转载于:17golang原创 如有侵犯,请联系study_golang@163.com删除
Transformers 怎么把生成结果逐段返回给网页Transformers 怎么把生成结果逐段返回给网页
上一篇
Transformers 怎么把生成结果逐段返回给网页
tapaim支持安卓和iOS吗?平台入口、2.8.0更新与兼容边界
下一篇
tapaim支持安卓和iOS吗?平台入口、2.8.0更新与兼容边界
查看更多
最新文章
查看更多
课程推荐
  • 前端进阶之JavaScript设计模式
    前端进阶之JavaScript设计模式
    设计模式是开发人员在软件开发过程中面临一般问题时的解决方案,代表了最佳的实践。本课程的主打内容包括JS常见设计模式以及具体应用场景,打造一站式知识长龙服务,适合有JS基础的同学学习。
    543次学习
  • GO语言核心编程课程
    GO语言核心编程课程
    本课程采用真实案例,全面具体可落地,从理论到实践,一步一步将GO核心编程技术、编程思想、底层实现融会贯通,使学习者贴近时代脉搏,做IT互联网时代的弄潮儿。
    516次学习
  • 简单聊聊mysql8与网络通信
    简单聊聊mysql8与网络通信
    如有问题加微信:Le-studyg;在课程中,我们将首先介绍MySQL8的新特性,包括性能优化、安全增强、新数据类型等,帮助学生快速熟悉MySQL8的最新功能。接着,我们将深入解析MySQL的网络通信机制,包括协议、连接管理、数据传输等,让
    500次学习
  • JavaScript正则表达式基础与实战
    JavaScript正则表达式基础与实战
    在任何一门编程语言中,正则表达式,都是一项重要的知识,它提供了高效的字符串匹配与捕获机制,可以极大的简化程序设计。
    487次学习
  • 从零制作响应式网站—Grid布局
    从零制作响应式网站—Grid布局
    本系列教程将展示从零制作一个假想的网络科技公司官网,分为导航,轮播,关于我们,成功案例,服务流程,团队介绍,数据部分,公司动态,底部信息等内容区块。网站整体采用CSSGrid布局,支持响应式,有流畅过渡和展现动画。
    485次学习
查看更多
AI推荐
  • PubMedQA数据集详解:生物医学问答基准、功能与应用指南
    PubMedQA
    深入了解PubMedQA生物医学问答数据集,涵盖其核心功能、使用方法及在临床决策、药物研发等场景的应用,助力提升NLP模型性能。
    579次使用
  • H2O EvalGPT:开源LLM大模型评估与排行榜工具
    H2O EvalGPT
    H2O EvalGPT是H2O.ai推出的开源LLM评估平台,提供详细的大模型性能排行榜、行业特定基准测试及A/B测试功能,助您快速选择最适合项目的高性能大语言模型。
    619次使用
  • LMArena是什么?伯克利AI模型评估平台使用指南与功能解析
    LMArena
    LMArena是加州大学伯克利分校推出的AI模型匿名评测平台。通过盲测投票机制,用户可对比不同大模型回答并生成实时排行榜,助力开发者优化模型及用户选择最佳AI工具。
    650次使用
  • 斯坦福HELM:大语言模型Holistic Evaluation整体评估框架详解
    HELM
    深入了解斯坦福推出的HELM(Holistic Evaluation of Language Models)大模型评测体系。本文解析其核心功能、安装配置步骤及应用场景,涵盖准确性、公平性、鲁棒性等多维度指标,助力开发者全面优化语言模型性能。
    615次使用
  • MMBench详解:多模态大模型基准测试、功能特点与使用指南
    MMBench
    MMBench是由上海人工智能实验室等机构联合推出的多模态基准测试平台,提供细粒度能力评估、大规模数据集及VLMEvalKit工具。本文详细介绍其核心功能、安装使用方法及应用场景,助力开发者全面评估多模态模型性能。
    431次使用
微信登录更方便
  • 密码登录
  • 注册账号
登录即同意 用户协议 和 隐私政策
返回登录
  • 重置密码