以编程方式向 GitHub Issues、Pull Requests 和 Comments 上传附件

Lobsters Hottest 工具

摘要

一位开发者分享了一个未记录的 GitHub 端点,允许以编程方式向 Issues、Pull Requests 和 Comments 上传图片和附件,从而实现对截图和视觉差异的自动化处理。

<p><a href="https://lobste.rs/s/bnqvzf/programmatically_upload_attachments">评论</a></p>
查看原文
查看缓存全文

缓存时间: 2026/08/04 01:40

# 如何以编程方式上传附件到 GitHub Issues、Pull Requests 和 Comments——终于,至少目前如此 来源:https://island94.org/2026/08/programmatically-upload-attachments-to-github-issues-pull-requests-comments 现在可以通过自动化以编程方式将图片上传到 GitHub Issues、Pull Requests 和 Comments。终于可以了,虽然也许是误打误撞,我也不确定。 众所周知,在很长一段时间里,GitHub 一直没有用于上传图片和附件的编程接口(https://github.com/cli/cli/issues/1895)。在浏览器中通过拖放图片可以做到,但无法通过脚本或 curl 实现。这对许多你可能想象的基于 GitHub Action 的系统来说一直很令人沮丧,比如:自动在 PR 上为新功能附加演示截图或视频,或者附加来自浏览器测试的失败截图或视觉差异。 到现在,我想可以了。以下是这个非官方、未文档化的端点: ``` FILE=cat.jpg MIME=image/jpeg REPOSITORY=bensheldon/good_job TOKEN=$(gh auth token) curl -s "https://uploads.github.com/user-attachments/assets?name=$FILE&content_type=$MIME&repository_id=$(gh api "repos/$REPOSITORY" --jq .id)" \ -X POST -H "Authorization: Bearer $TOKEN" \ -H "Accept: application/json" --data-binary "@$FILE" # 输出包含附件 URL 的 JSON 响应,你可以将其嵌入 GitHub 内容中的图片标签。 ``` 就这样!我的意思是,你可以比 curl 之类的更聪明,但思路就是这样。这相当于将图片拖放到 Issue、PR 或 Comment 中。 我不知道这个端点是否一直接受 Auth Token,只是没人尝试、注意到或讨论过,还是这是新功能。我的印象是,这个端点以前*只*接受 Cookie Auth:大约在 2018 年,我探索了不同的 Visual Diff 服务,而缺少 GitHub 附件的编程 API 意味着如果你想自己动手,就不得不使用像 S3 这样的服务,然后再用一个服务来授权 S3,而 GitHub Actions 可以做其他所有事情,这种配置很烦人。我很确定我当时尝试过模糊测试这个附件接口,但没有成功。 我最近才知道这一切都是可能的,因为 Shakacode 的 Justin Gordon(https://shakacode.com/)分享了一个指向 Intercom 的 2x-skills `attach-github-assets`(https://github.com/intercom/2x-skills/blob/59213af0a2db9321ef10355ff24e9bd619151b6b/plugins/pr-tools/skills/attach-github-assets/SKILL.md)的链接,我当时……持怀疑态度……然后我试了试,竟然成功了! Ben Sheldon 要求 Claude 使用 attach-github-assets 技能将一张 placekitten 图片作为评论上传到 GitHub Issue,Claude 成功完成了操作 这非常有用,希望它不要消失。

相似文章

GitHub 宕机

Hacker News Top

GitHub 经历了短暂故障,影响了未认证用户的 Issues、Pull Requests 和 Actions。该事件已解决,监控仍在进行中。