我有一个没有资产的github发布:
$ curl https://api.github.com/repos/cljsinfo/api-docs/releases/1260660/assets
[
]
Run Code Online (Sandbox Code Playgroud)
但我无法将资产上传到此版本:
$ curl -X POST --header "Content-Type:application/edn" --data-binary @cljsdocs-full.edn "https://api.github.com/repos/cljsinfo/api-docs/releases/1260660/assets?name=full.edn&access_token=$(cat my-token)"
{
"message": "Not Found",
"documentation_url": "https://developer.github.com/v3"
}
Run Code Online (Sandbox Code Playgroud)
我的api访问令牌有权public_repo访问.感谢您帮助上传此资产.
资产上传 URL 的格式为https://<upload_url>/repos/:owner/:repo/releases/:id/assets?name=foo.zip。有几种可能的原因可能会导致您收到非常无用的“未找到”错误:
:id上面 URL 中的字段不是您为发布提供的名称,而是由 GitHub 生成的数字 ID(可能是数据库 ID)。要获取发布 ID,您必须调用发布 API并在 JSON 响应中搜索tag_name与您使用的名称相同的发布。例如,如果您将 release 命名为 release v0.0.3,请在 JSON 中搜索具有"tag_name": "v0.0.3"并使用该 releaseid字段的版本。tag_name上述方法找到您的发布,并upload_url从 JSON 响应中提取字段。这是伊万(已接受)的答案。repo和/或public_repo已检查。| 归档时间: |
|
| 查看次数: |
2428 次 |
| 最近记录: |