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

调用GitHub API创建Release返回404错误的解决方法

问题排查&修复方案

调用GitHub Release创建接口返回404,是代码里存在4个典型错误,逐一修正即可:

  • 参数传递格式错误:当前代码用data=payload传参会以表单格式提交请求,GitHub API要求必须传JSON格式载荷,把传参改成json=payload即可。
  • 字段类型错误:draft、prerelease、generate_release_notes三个字段接口要求接收布尔类型值,你当前传的是字符串"false",直接去掉引号传Python原生布尔值False就行。
  • 路径/认证占位符未替换:
    1. 接口URL里的user/test是示例占位符,必须替换成你实际操作的仓库对应的「用户名/仓库名」
    2. 请求头里的第二个token是占位符,必须替换成你自己生成的、拥有仓库写入权限的GitHub个人访问令牌,令牌权限不足、仓库路径填错都会直接触发404
  • 分支值不匹配:如果你的仓库默认分支已经从master改为main,target_commitish字段的值要同步改成main,找不到对应提交分支也会触发接口报错。
修正后代码
import requests

payload = {
    "tag_name": "v1.0.0",
    "target_commitish": "main",  # 老仓库默认分支为master的话这里改回master
    "name": "v1.0.0",
    "body": "Description of the release",
    "draft": False,
    "prerelease": False,
    "generate_release_notes": False
}
# 替换为你自己的仓库路径
url = 'https://api.github.com/repos/你的用户名/你的仓库名/releases'
# 替换为你自己的有效访问令牌
headers = {'Authorization': 'token 你的个人访问令牌'}
response = requests.post(url, headers=headers, json=payload)
# 打印状态码和响应文本,方便后续排查剩余问题
print(response.status_code)
print(response.text)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.26 11:36:21