Короче говоря, не похоже, что существует какой-либо простой способ получить эти конкретные данные (последние ветки).
Сделать это самостоятельно
Первое, о чем следует подумать, - это то, есть ли этот тип данных может быть извлечен вообще.
В git
ветка - это просто метка, указывающая на фиксацию в репозитории. В git
lin go это ref
, как и tag
s. A branch
в некотором роде отличается от tag
, одним из которых является то, что ветвь всегда обновляется, чтобы указывать на последнюю фиксацию, пока указанная ветка проверена (вы находитесь в этой ветке).
Сами ветки имеют только фиксацию ha sh и не имеют других свойств, таких как дата создания или время последнего обновления. Чтобы увидеть это, попробуйте просмотреть файлы в каталоге файловой системы .git
из репозитория; они находятся в ./git/refs/heads/
.
Сказав это, есть несколько способов угадать, когда ветвь была впервые создана, как описано в Как определить, когда была создана Git ветка? , но это выходит за рамки API Bitbucket publi c.
Выполнение этого через API
Я предлагаю вам сделать несколько прямых запросов API с помощью curl
или Postman, в чтобы понять, какие данные доступны. Если посмотреть на фактический API, а не на оболочку, которую вы используете, кажется, что конечная точка, которую вы используете, - /{workspace}/{repo_slug}/refs/branches/
. Кажется, это возвращает вам все активные ветки, с 10 результатами на страницу, в том порядке, в котором их возвращает git
, и без какого-либо очевидного способа запросить отсортированный набор. Чтобы разбить его, есть
- активных веток - похоже, совпадают с данными, которые вы хотите;
- 10 на страницу - это означает, что вам придется делать больше запросов пока вы не получите их все; в теле ответа должно быть свойство
next
, содержащее URL следующего набора результатов; - нет очевидного способа для API их отсортировать - это означает, что вам нужно выполнить некоторую обработку твой конец. Как только вы получите данные, вы можете копнуть глубже и найти даты, а затем отсортировать их по своему усмотрению.
Другой способ
Предыдущий метод будет выполнять запросы каждый раз, когда программа запущен. Если вам нужно что-то более близкое к реальному времени, вы можете настроить веб-перехватчик для срабатывания при каждой фиксации. Веб-перехватчик - это просто программа, которая запускается при запросе URL-адреса; вы подключаете его к некоторым другим событиям запуска системы. Как только фиксация нажата, вызывается веб-перехватчик с информацией о фиксации, например датой, ветвью. Затем вы можете сохранить их, например, { "branch1": "1590406741", "branch2": "1590406441"}
.
Bitbucket webhooks
Подводя итог, есть несколько способов добиться этого, но вы будете нужно сделать дополнительное кодирование.