Как получить ветку, на которую направляется PR в CircleCI - PullRequest
0 голосов
/ 13 марта 2019

CircleCI имеет переменную CIRCLE_BRANCH env, которая сообщает название ветви самого PR.

Но я хочу наоборот, мне нужно, чтобы название филиала PR пыталось объединиться против.

1 Ответ

0 голосов
/ 18 марта 2019

Нет встроенной переменной среды (см. Полный список здесь ), чтобы получить имя базовой ветви запроса на извлечение. Однако вы можете получить номер запроса на получение с помощью переменной среды CIRCLE_PR_NUMBER и использовать GITHub REST API для получения имени базовой ветви.

Вам понадобится:

  1. Создание токена личного доступа GitHub с использованием repo scope
  2. Установить переменную среды проекта с именем GITHUB_ACCESS_TOKEN
  3. Извлечение данных запроса извлечения в формате JSON
  4. Разобрать JSON, чтобы получить ссылку на базовую ветку - Есть несколько способов достичь этого

Вот пример сценария 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']")
...