Используя Github API, можно ли определить, находится ли ветка впереди ветви по умолчанию?
Используя API Github (без локальных команд git), можно ли сравнить ветку, чтобы увидеть, есть ли какие-либо изменения перед веткой по умолчанию?
Я создаю инструмент аудита и хотел бы определить ветви, которые являются кандидатами на закрытие, поскольку все их изменения существуют в ветви по умолчанию.
Я хочу ту же информацию, которая ведет диаграммы на странице веток: (См. https://github.com/octokit/octokit.rb/branches)
Можно ли получить эту информацию исключительно с помощью API Github?
1 ответ
Вы можете:
получить ветку по умолчанию, используя https://api.github.com/repos/octokit/octokit.rb
сравните указанную ветку с веткой по умолчанию с помощью API сравнения двух коммитов и извлечения
ahead_by
&behind_by
поля.
В этом случае это будет: https://api.github.com/repos/octokit/octokit.rb/compare/kytrinyx/generator/spike...master
Пример использования bash, curl & jq:
branch=kytrinyx/generator/spike
default_branch=$(curl -s "https://api.github.com/repos/octokit/octokit.rb" | jq -r '.default_branch')
curl -s "https://api.github.com/repos/octokit/octokit.rb/compare/$branch...$default_branch" | \
jq -r '.ahead_by, .behind_by'