1

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

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

4

1 回答 1

1

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

您将需要:

  1. 使用repo范围创建 GitHub 个人访问令牌
  2. 设置一个名为的项目环境变量GITHUB_ACCESS_TOKEN
  3. 以 JSON 格式检索拉取请求数据
  4. 解析 JSON 以获取基本分支 ref -有几种方法可以实现

这是一个示例 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']")
于 2019-03-18T12:51:40.663 回答