API статуса GitHub

Я новичок в настройке сложных функций Github, но я хотел бы убедиться, что код действительно собирается, прежде чем запрос на вытягивание можно будет объединить через мои ветки (например, Feature -> Develop, Develop -> Release, Release -> Master и т. д. ).

Я нашел раздел, который позволит мне убедиться, что статус «успех» существует, прежде чем PR можно будет объединить, но мой вопрос заключается в следующем:

Почему в Github должен быть уже определен статус, прежде чем я смогу выбрать его из списка необходимых контекстов статуса? Разве это не ситуация «курица перед яйцом»?

По сути, я перехожу на вкладку «Настройки» моего репозитория, нажимаю «ветки», затем в разделе «Защищенные ветки» я выбираю свою ветку и нажимаю «Изменить». Оттуда я выбираю раздел, в котором говорится: «Требовать проверки состояния перед слиянием». Отсюда, если не было обновлений статуса каких-либо SHA для этой ветки, мне сообщается, что их не было за последнюю неделю. Почему я не могу не указать, в каком контексте будет обновляться мой статус, прежде чем мне действительно нужно будет его выбрать? Что, если это был первый раз, когда кто-то отправляет в мою ветку? Этот код теоретически мог пройти весь путь?


person El Guapo    schedule 20.09.2017    source источник


Ответы (1)


Это это проблема курицы и яйца, но решить ее несложно. Создайте себе токен доступа к github и следуйте инструкциям curl:

$ curl -XPOST -H "Authorization: token $GITHUB_API_TOKEN" \
       -d '{"state":"success"}' \
       https://api.github.com/repos/<your_username>/<your_repo>/statuses/<latest_sha>

Это создаст статус default (вы можете переопределить его с помощью context, см. документы), и вы можете вернуться к настройкам, чтобы настроить этот статус для вашей защищенной ветки.

person heph    schedule 20.09.2017
comment
Спасибо... Я надеялся, что это не так, но que sera sera. - person El Guapo; 20.09.2017