持续部署gitlab
Continuous deployment gitlab
我的线.gitlab-ci.yml
IID=$(curl --verbose --request GET --header "Content-Type: application/json" --header "PRIVATE-TOKEN: ${CI_PUSH_TOKEN}" ${APP_REPO_URL}/merge_requests?author_id=xxxxxxxx\&search=${CI_COMMIT_SHORT_SHA} | jq '.[0].iid')
输出 jq: 错误 (at :0): 无法用数字索引对象
请参阅 Merge requests API and How to use the API 上的文档,在将结果传送到 jq
.[=22= 之前,使用 GitLab API 构建格式正确的 cURL 请求]
您的查询有一些问题。
首先,根据文档,/merge_requests
端点将
Get all merge requests the authenticated user has access to.
这意味着 APP_REPO_URL
需要是 GitLab 实例 URL 后跟 /api/v4
而不是特定项目的 URL。
curl "https://gitlab.example.com/api/v4/merge_requests"
如果您需要给定项目的所有合并请求,那么您可以使用
curl "https://gitlab.example.com/api/v4/projects/:id/merge_requests"
其中 :id
是您项目的 ID。查看更多 List project merge requests
然后,search
属性需要标题或描述,而不是提交 SHA:
Search merge requests against their title and description
我的线.gitlab-ci.yml
IID=$(curl --verbose --request GET --header "Content-Type: application/json" --header "PRIVATE-TOKEN: ${CI_PUSH_TOKEN}" ${APP_REPO_URL}/merge_requests?author_id=xxxxxxxx\&search=${CI_COMMIT_SHORT_SHA} | jq '.[0].iid')
输出 jq: 错误 (at :0): 无法用数字索引对象
请参阅 Merge requests API and How to use the API 上的文档,在将结果传送到 jq
.[=22= 之前,使用 GitLab API 构建格式正确的 cURL 请求]
您的查询有一些问题。
首先,根据文档,/merge_requests
端点将
Get all merge requests the authenticated user has access to.
这意味着 APP_REPO_URL
需要是 GitLab 实例 URL 后跟 /api/v4
而不是特定项目的 URL。
curl "https://gitlab.example.com/api/v4/merge_requests"
如果您需要给定项目的所有合并请求,那么您可以使用
curl "https://gitlab.example.com/api/v4/projects/:id/merge_requests"
其中 :id
是您项目的 ID。查看更多 List project merge requests
然后,search
属性需要标题或描述,而不是提交 SHA:
Search merge requests against their title and description