You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用GitHub API同时导入Issue并附加文档附件?

GitHub Issues 导入附件的curl参数使用说明

首先明确:你当前使用的创建Issue接口本身不支持直接在请求体中携带文件附件,没有对应可以直接附加文档的body参数,需要分两步完成附件挂载:

  • 上传附件阶段使用-F参数(multipart表单上传参数)传递本地文件,调用专门的Issue资产上传接口,文件字段格式为-F "file=@本地文件的绝对路径",同时需要在接口URL后拼接name=附件文件名的查询参数指定上传后的文件名
  • 附件上传完成后,接口会返回该附件的GitHub访问地址,将该地址填入创建Issue请求的body字段即可,图片类附件会直接在Issue页渲染,文档、压缩包等其他类型附件会显示为可点击下载的链接

注意:你当前示例代码中重复设置了两次Accept请求头,会导致后设置的头覆盖前一个,实际调用时只保留Accept: application/vnd.github+json即可,不需要额外传html格式的Accept头。

完整调用示例

  1. 上传本地附件(以本地存储的bug复现截图bug_screenshot.png为例)
curl -X POST \
  -H "Accept: application/vnd.github+json" \
  -H "Authorization: token <你的个人访问token>" \
  -H "Content-Type: multipart/form-data" \
  "https://uploads.github.com/repos/BT23/demo-repo/issues/assets?name=bug_screenshot.png" \
  -F "file=@/Users/xxx/local_files/bug_screenshot.png"

调用成功后会返回JSON格式结果,提取其中browser_download_url字段的值,就是附件的公网访问地址。

  1. 创建携带附件的Issue
    把上一步拿到的附件地址拼入body字段即可,示例命令如下:
curl -X POST \
  -H "Accept: application/vnd.github+json" \
  -H "Authorization: token <你的个人访问token>" \
  https://api.github.com/repos/BT23/demo-repo/issues \
  -d '{
    "title":"Create an issue in HTML format",
    "body":"<H1>Testing HTML tags</H1><P>Does it work?</P><br>Bug复现截图:<img src="上一步提取的附件访问地址" />",
    "assignee": "BT23",
    "milestone": 1,
    "labels":["bug", "functional"]
  }'

内容的提问来源于stack exchange,提问作者BAST23

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.26 18:12:52