BitBucket — как получить все URL-адреса репозитория с сервера

Есть ли способ получить ВСЕ удаленные URL-адреса с данного сервера BitBucket.

У нас есть много приложений, которые переносятся из существующего SCM в BitBucket. Наши администраторы BB создают для нас репозитории на сервере BitBucket.

Затем мы получим URL-адрес ssh, аналогичный (ssh://[email protected]:7999/sample/template-repo.git), для каждого репозитория, перейдя в веб-интерфейс. Затем мы выбираем репозиторий, который хотим использовать для этого запуска, выбираем клон -> протокол ssh для этого репозитория и копируем информацию. Затем этот URL-адрес будет использоваться в процессе для заполнения репозитория файлами из текущего приложения SCM.

Я посмотрел на ls-remote, но я думаю, что это для другой цели.

Мне интересно, есть ли какая-либо команда git из командной строки, которая даст мне список ВСЕХ URL-адресов репозитория с данного сервера за один раз, которые я могу сохранить в текстовом файле и использовать их в моем процессе перехода. Я очень новичок в git и начал работать с ним всего пару недель назад. Я еще не нашел команду для этого.

Ценю любую помощь в том, как это сделать, или любые ресурсы, которые могут помочь мне достичь моей цели.


person adbdkb    schedule 02.07.2016    source источник


Ответы (2)


Это не будет команда git, которая не имеет понятия «сервер» (она имеет дело только с одним репозиторием git).

Вы можете попробовать использовать Bitbucket Server REST API и посмотрите, сможете ли вы таким образом получить список репозиториев (при условии, что ваша аутентификация дает вам доступ ко всем репозиториям).
Его поддерживаемые конечные точки API включают projects и projects/repos.

 curl -u fred:fred http://<yourBitBucketServer>/rest/api/1.0/projects
person VonC    schedule 02.07.2016

Вы можете попробовать Bitbucket RestAPI для получения сведений о каждом репозитории (URL-адреса , ветки и др.).

пример 1 Чтобы получить все данные репозитория из определенной рабочей области

curl -u {credentials} 'https://api.bitbucket.org/2.0/repositories/WORKSPACE/?pagelen=100&page=1'

пример 2 Чтобы получить определенные данные (имена репозиториев) из всех репозиториев в определенной рабочей области

curl -u ${credential} 'https://api.bitbucket.org/2.0/repositories/WORKSPACE/?pagelen=100&page=1&fields=values.full_name'

Также здесь приведен пример, приведенный мной. https://www.svastikkka.com/2020/12/how-to-fetch-all-repositories-of-any.html

person Manshu Sharma    schedule 02.01.2021
comment
Попробуйте объяснить ответ здесь и ссылку для получения дополнительной информации и дополнительных объяснений. - person BABAK ASHRAFI; 02.01.2021
comment
Эй, брат, я обновил ответ, надеюсь, это поможет - person Manshu Sharma; 02.01.2021
comment
Это помогает. Проголосовал. Полезное дополнение к моему старому ответу 2015 года. - person VonC; 02.01.2021