GOOGLE ADS

понедельник, 25 апреля 2022 г.

Как получить ветку, на которую направляется PR в CircleCI

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

А я хочу наоборот, мне нужно название ветки ПР, против которой пытаются слить.


Решение проблемы

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

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

  • Создайте токен личного доступа GitHub, используя repoобласть

  • Установите переменную среды проекта с именемGITHUB_ACCESS_TOKEN

  • Получить данные запроса на вытягивание в формате JSON.

  • Разберите 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']")

    Комментариев нет:

    Отправить комментарий

    Laravel Datatable addColumn returns ID of one record only

    Я пытаюсь использовать Yajra Datatable для интеграции DataTable на свой веб-сайт. Я смог отобразить таблицу, но столкнулся с проблемой. В по...