gpt4 book ai didi

gitlab - 在 GitLab CI 脚本中使用 CURL 响应

转载 作者:行者123 更新时间:2023-12-05 03:38:56 26 4
gpt4 key购买 nike

我尝试在 .gitlab-ci.yaml 中获取某个 GitLab 项目的所有徽章,并通过 name 找出某个徽章的 id。我有以下脚本,我尝试使用 curl 调用徽章 api,并将 json 结果存储在名为 BADGES 的变量中:

build-backend:
stage: build
script:
- BADGES='curl --header "PRIVATE-TOKEN:$GITLAB_API_TOKEN" "https://gitlab.example.com/api/v4/projects/${CI_PROJECT_ID}/badges"'
- echo ${BADGES}

当然现在 echo ${BADGES} 将输出 curl ,因为我将它存储在变量的 as 字符串中,但我不知道如何执行此操作。

在 JavaScript 中我会这样做:

const badges = ...CURL_RESPONSE...;
const versionBadge = badges.find(b => b.name === 'vBadge');

这可能吗?

最佳答案

要捕获调用 curl 的结果,您可以使用 $(...) 结构:

BADGES="$(curl …)"

要在响应中选择特定徽章 ID,您可以使用 jq .

完整示例:

get_badge_id:
image: alpine
before_script:
- apk add --no-cache curl jq
script:
- 'BADGE_ID="$(curl -s -H "PRIVATE-TOKEN: $GITLAB_API_TOKEN" $CI_API_V4_URL/projects/${CI_PROJECT_ID}/badges | jq ".[] | select(.name == \"vBadge\") | .id")"'
- echo BADGE_ID is $BADGE_ID

关于gitlab - 在 GitLab CI 脚本中使用 CURL 响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68760090/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com