【问题标题】:How to get the branch that the PR is heading to in CircleCI如何在 CircleCI 中获取 PR 前往的分支
【发布时间】:2019-08-04 15:34:51
【问题描述】:

CircleCI 有一个 CIRCLE_BRANCH 环境变量,它告诉你 PR 本身的分支的名称。

但我想反过来,我需要 PR 尝试合并的分支名称。

【问题讨论】:

    标签: circleci circleci-2.0 circleci-workflows


    【解决方案1】:

    没有内置环境变量(参见完整列表here)来获取拉取请求的基本分支的名称。但是,您可以使用 CIRCLE_PR_NUMBER 环境变量获取拉取请求编号,并使用 GitHub REST API 检索基本分支名称。

    你需要:

    1. Create a GitHub personal access token 使用 repo 范围
    2. Set a project environment variableGITHUB_ACCESS_TOKEN
    3. Retrieve the pull request data in JSON format
    4. 解析 JSON 以获得基本分支 ref - there's a few ways to achieve that

    这是一个示例 bash 脚本,它以 JSON 格式检索给定拉取请求的数据并使用 Python 2 对其进行解析:

    #!/bin/bash
    
    REPO_OWNER="replace_me"
    GITHUB_API_URL="https://api.github.com/repos/$REPO_OWNER/$CIRCLE_PROJECT_REPONAME/pulls/$CIRCLE_PR_NUMBER?access_token=$GITHUB_ACCESS_TOKEN"
    export PYTHONIOENCODING=utf8
    export PULL_REQUEST_BASE_REF=$(curl -s "$GITHUB_API_URL" | python -c "import sys, json; print json.load(sys.stdin)['base']['ref']")
    

    【讨论】:

      猜你喜欢
      • 2020-04-10
      • 1970-01-01
      • 2023-01-05
      • 2020-12-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-01-05
      • 2020-12-20
      相关资源
      最近更新 更多