代码之家  ›  专栏  ›  技术社区  ›  Theo

GitLab CI用API获取预定义变量?

  •  0
  • Theo  · 技术社区  · 7 年前

    我喜欢使用预定义的变量 $CI_COMMIT_REF_SLUG

    我已经阅读了文档并浏览了所有与gitlab ci相关的GET路由(branchs/,jobs/,pipelines/),但只能找到每个作业和管道的原始分支名称/标记。

    有没有可以访问这个变量的?

    example.com/$_CI_COMMIT_REF_SLUG/ .

    {
        "ref_slug":"foo-12",
        "ref":"-/foo_12-"
    }
    
    0 回复  |  直到 7 年前
        1
  •  1
  •   tiberiuemilian    5 年前

    我不认为这样的API存在。

    https://gitlab.com/gitlab-org/gitlab-runner/-/blob/master/Makefile.build.mk#L25

    BRANCH=$(git branch --show-current)
    CI_COMMIT_REF_SLUG=$(echo $BRANCH | cut -c -63 | sed -E 's/[^a-z0-9-]+/-/g' | sed -E 's/^-*([a-z0-9-]+[a-z0-9])-*$$/\1/g')
    

    我不认为他们的实现会很快改变(因为向后兼容性的影响),需要在你这边同步。 如果您不想暴露在其实现中的更改所导致的副作用,那么可以在任何地方使用计算值。