【发布时间】:2019-08-04 15:34:51
【问题描述】:
CircleCI 有一个 CIRCLE_BRANCH 环境变量,它告诉你 PR 本身的分支的名称。
但我想反过来,我需要 PR 尝试合并的分支名称。
【问题讨论】:
标签: circleci circleci-2.0 circleci-workflows
CircleCI 有一个 CIRCLE_BRANCH 环境变量,它告诉你 PR 本身的分支的名称。
但我想反过来,我需要 PR 尝试合并的分支名称。
【问题讨论】:
标签: circleci circleci-2.0 circleci-workflows
没有内置环境变量(参见完整列表here)来获取拉取请求的基本分支的名称。但是,您可以使用 CIRCLE_PR_NUMBER 环境变量获取拉取请求编号,并使用 GitHub REST API 检索基本分支名称。
你需要:
repo 范围GITHUB_ACCESS_TOKEN
这是一个示例 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']")
【讨论】: