首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >未找到GitLab Release Links API: 404项目

未找到GitLab Release Links API: 404项目
EN

Stack Overflow用户
提问于 2021-02-20 04:00:39
回答 1查看 1.3K关注 0票数 1

我正在尝试将资源添加到GitLab版本中,但在尝试添加链接时不断出现{"message":"404 Project Not Found"}。我试着关注https://docs.gitlab.com/13.7/ee/api/releases/links.html#create-a-link,但我要么是疯了,要么是错过了什么。我已经回显了${PACKAGE_REGISTRY_URL}/${PKG_VERSION}/${LINUX}${RELEASE_REGISTRY_URL}/${CI_PROJECT_ID}/releases/v${PKG_VERSION}/assets/links的URL,这两个链接都是有效的,而且似乎都是正确的。如果我使用第一个文件(PACKAGE_URL),那么我会得到我想要的文件的下载。如果我使用(RELEASE_REGISTRY_URL),那么我会得到一个显示空数组的页面。

我还验证了所有变量都具有我期望的正确值。我尝试过使用和不使用link_type选项。

代码语言:javascript
运行
复制
# This works with no problem
curl --header "JOB-TOKEN: $CI_JOB_TOKEN" \
  --upload-file bin/${LINUX} "${PACKAGE_REGISTRY_URL}/${PKG_VERSION}/${LINUX}"

# This returns: {"message":"404 Project Not Found"}
curl --request POST \
  --header "JOB-TOKEN: $CI_JOB_TOKEN" \
  --data link_type="other" \
  --data name="${LINUX}" \
  --data url="${PACKAGE_REGISTRY_URL}/${PKG_VERSION}/${LINUX}" \
  --data filepath="bin/${LINUX}" \
    "${RELEASE_REGISTRY_URL}/${CI_PROJECT_ID}/releases/v${PKG_VERSION}/assets/links"
代码语言:javascript
运行
复制
"${PACKAGE_REGISTRY_URL}/${PKG_VERSION}/${LINUX}" -> # https://gitlab.com/api/v4/projects/<myidishere>/packages/generic/test/1.1.0/test-1.1.0-linux

"${RELEASE_REGISTRY_URL}/${CI_PROJECT_ID}/releases/v${PKG_VERSION}/assets/links" -> # https://gitlab.com/api/v4/projects/<myidishere>/releases/v1.1.0/assets/links

以下是GitLab文档中的示例。

代码语言:javascript
运行
复制
curl --request POST \
    --header "PRIVATE-TOKEN: <your_access_token>" \
    --data name="hellodarwin-amd64" \
    --data url="https://gitlab.example.com/mynamespace/hello/-/jobs/688/artifacts/raw/bin/hello-darwin-amd64" \
    --data filepath="/bin/hellodarwin-amd64" \
    "https://gitlab.example.com/api/v4/projects/20/releases/v1.7.0/assets/links"
EN

回答 1

Stack Overflow用户

发布于 2021-02-22 00:31:59

我转而使用JSON内容,这似乎解决了问题。

https://docs.gitlab.com/ee/development/documentation/restful_api_styleguide.html#post-data-using-json-content

代码语言:javascript
运行
复制
curl --request POST \
  --header "PRIVATE-TOKEN: $CI_JOB_TOKEN" \
  --header "content-type: application/json" \
  --data '{"name": "${LINUX}", "url": "${PACKAGE_REGISTRY_URL}/${PKG_VERSION}/${LINUX}"}' \
  --url "${RELEASE_REGISTRY_URL}/${CI_PROJECT_ID}/releases/v${PKG_VERSION}/assets/links"
票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66284256

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档