Мы работаем над проектом, где нам нужно отобразить все проекты человека в его репозитории в аккаунте GitHub.
Может ли кто-нибудь подсказать, как я могу отобразить имена всех репозиториев git конкретного человека, используя его имя пользователя git?
github
github-api
user1127981
источник
источник
?per_page=
developer.github.com/v3/#paginationИспользуйте Github API :
/users/:user/repos
Это предоставит вам все общедоступные репозитории пользователя. Если вам нужно найти частные репозитории, вам нужно будет пройти аутентификацию как конкретный пользователь. Затем вы можете использовать вызов REST:
/user/repos
чтобы найти все репозитории пользователя.
Для этого в Python сделайте что-нибудь вроде:
Если URL-адрес, переданный в функцию, является URL-адресом REST, как в приведенных выше примерах. Если вам не нужна аутентификация, просто измените метод, чтобы удалить добавление заголовка авторизации. Затем вы можете получить любой общедоступный URL-адрес API, используя простой запрос GET.
источник
?per_page=100
для получения максимального количества, но если у пользователя более сотни репозиториев, вам нужно будет следовать несколькимnext
URL-адресам в HTTP-Link
заголовке, отправленном с ответом.Попробуйте следующую
curl
команду, чтобы вывести список репозиториев:Чтобы вывести список клонированных URL-адресов, выполните:
Если он частный, вам нужно добавить свой ключ API (
access_token=GITHUB_API_TOKEN
), например:Если пользователь является организацией, используйте
/orgs/:username/repos
вместо этого, чтобы вернуть все репозитории.Чтобы клонировать их, см .: Как клонировать все репозитории сразу с GitHub?
См. Также: Как загрузить выпуск GitHub из частного репо с помощью командной строки
источник
per_page=1000
.-s
своюcurl
команду опцию, чтобы избавиться от этих неприглядных индикаторов выполнения, как вcurl -s ...
/orgs/:username/repos
верните все репозитории,/users/...
верните их часть, это действительно странно. имя пользователя может рассматриваться как как пользователь, так и как организация.Если у вас установлен jq , вы можете использовать следующую команду для вывода списка всех общедоступных репозиториев пользователя.
источник
Вероятно, вам понадобится решение jsonp:
https://api.github.com/users/[user name]/repos?callback=abc
Если вы используете jQuery:
$.ajax({ url: "https://api.github.com/users/blackmiaool/repos", jsonp: true, method: "GET", dataType: "json", success: function(res) { console.log(res) } });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
источник
Модуль NPM РЕПО хватает JSON для всех публичных сделок РЕПО для некоторого пользователя или группы. Вы можете запустить это прямо из,
npx
поэтому вам не нужно ничего устанавливать, просто выберите организацию или пользователя (здесь "W3C"):Это создаст файл с именем W3Crepos.json. Grep достаточно хорош, например, для получения списка репозиториев:
плюсы:
минусы:
npx
(илиnpm
если хотите установить по-настоящему).источник
Получите список всех публичных репозиториев пользователя GitHub с помощью Python:
import requests username = input("Enter the github username:") request = requests.get('https://api.github.com/users/'+username+'/repos') json = request.json() for i in range(0,len(json)): print("Project Number:",i+1) print("Project Name:",json[i]['name']) print("Project URL:",json[i]['svn_url'],"\n")
Справка
источник
Теперь есть возможность использовать замечательный GraphQL API Explorer .
Мне нужен список всех активных репозиториев моей организации с соответствующими языками. Этот запрос делает именно это:
источник
Если вы ищете репо организации -
api.github.com/orgs/$NAMEOFORG/repos
Пример:
Также вы можете добавить параметр per_page, чтобы получить все имена на всякий случай, если возникнет проблема с разбивкой на страницы -
источник
Вот полная спецификация API репозиториев:
https://developer.github.com/v3/repos/#list-repositories-for-a-user
GET /users/:username/repos
Параметры строки запроса:
Первые 5 задокументированы в приведенной выше ссылке API. Параметры для
page
и,per_page
которые задокументированы в другом месте и полезны в полном описании.type
(строка): Может быть один изall
,owner
,member
. По умолчанию:owner
sort
(строка): Может быть один изcreated
,updated
,pushed
,full_name
. По умолчанию:full_name
direction
(строка): может быть одним изasc
илиdesc
. По умолчанию:asc
при использованииfull_name
, в противном случаеdesc
page
(целое число): Текущая страницаper_page
(целое число): количество записей на страницеПоскольку это HTTP GET API, в дополнение к cURL, вы можете попробовать это просто в браузере. Например:
https://api.github.com/users/grokify/repos?per_page=1&page=2
источник
HTML
JavaScript
// Репозитории Github
Если вы хотите ограничить список репозиториев, вы можете просто добавить
?per_page=3
послеusername/repos
.например
username/repos?per_page=3
Вместо /
username
/ вы можете поместить имя пользователя любого человека на Github.источник
Пейджинг JSON
Приведенный ниже код JS предназначен для использования в консоли.
источник
Ответ - «/ users /: user / repo», но у меня есть весь код, который делает это в проекте с открытым исходным кодом, который вы можете использовать для установки веб-приложения на сервере.
Я создал проект GitHub под названием Git-Captain, который взаимодействует с API GitHub, в котором перечислены все репозитории.
Это веб-приложение с открытым исходным кодом, созданное с помощью Node.js и использующее GitHub API для поиска, создания и удаления ветки во многих репозиториях GitHub.
Его можно настроить для организаций или одного пользователя.
У меня есть пошаговая инструкция по настройке в read-me.
источник
Чтобы получить URL-адрес 100 общедоступных репозиториев пользователя:
$.getJSON("https://api.github.com/users/suhailvs/repos?per_page=100", function(json) { var resp = ''; $.each(json, function(index, value) { resp=resp+index + ' ' + value['html_url']+ ' -'; console.log(resp); }); });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
источник
источник