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

glab release create执行失败:无法将对象反序列化为[]*upload.ReleaseAsset

问题根源

报错json: cannot unmarshal object into Go value of type []*upload.ReleaseAsset明确说明:--assets-links参数要求传入的是JSON数组,但你传入的是单个JSON对象({...})或空对象({}),类型不匹配。

修复方案

1. 修正CI中的命令

将资产链接包装为JSON数组格式,修改.gitlab-ci.yml中的命令:

glab release create $CI_COMMIT_TAG --assets-links "[{\"name\":\"Release\", \"url\":\"$CI_SERVER_URL/$CI_PROJECT_PATH/-/jobs/$JOB_ID/artifacts/file/artifacts.zip?inline=false\"}]"

2. 简化测试命令

测试时需传入空数组而非空对象:

glab release create 0.3_test_release14 --assets-links "[]"

原理说明

glab release create的--assets-links参数设计为接收多个资产链接,因此底层期望的是数组类型的数据结构。即使只有一个资产链接,也必须包裹在[]中,才能被正确解析为Go语言的[]*upload.ReleaseAsset数组类型。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.12 18:52:03