Kami sedang mengerjakan proyek di mana kami perlu menampilkan semua proyek seseorang di repositori di akun GitHub.
Adakah yang bisa menyarankan, bagaimana cara menampilkan nama semua repositori git orang tertentu menggunakan nama pengguna gitnya?
github
github-api
pengguna1127981
sumber
sumber
?per_page=
developer.github.com/v3/#paginationGunakan Github API :
/users/:user/repos
Ini akan memberi Anda semua repositori publik pengguna. Jika Anda perlu mengetahui repositori pribadi, Anda perlu mengautentikasi sebagai pengguna tertentu. Anda kemudian dapat menggunakan panggilan REST:
/user/repos
untuk menemukan semua repositori pengguna.
Untuk melakukan ini dengan Python, lakukan sesuatu seperti:
Dimana url yang diteruskan ke fungsi tersebut adalah url REST seperti pada contoh di atas. Jika Anda tidak perlu mengautentikasi, cukup ubah metode untuk menghapus penambahan header Otorisasi. Anda kemudian bisa mendapatkan url api publik menggunakan permintaan GET sederhana.
sumber
?per_page=100
untuk mendapatkan jumlah maksimum tetapi jika pengguna memiliki lebih dari seratus repo, Anda harus mengikuti beberapanext
URL diLink
header HTTP yang dikirim dengan respons.Coba
curl
perintah berikut untuk mendaftar repositori:Untuk membuat daftar URL yang digandakan, jalankan:
Jika itu pribadi, Anda perlu menambahkan kunci API Anda (
access_token=GITHUB_API_TOKEN
), misalnya:Jika pengguna adalah organisasi, gunakan
/orgs/:username/repos
sebagai gantinya, untuk mengembalikan semua repositori.Untuk mengkloningnya, lihat: Bagaimana cara mengkloning semua repo sekaligus dari GitHub?
Lihat juga: Cara mengunduh GitHub Release dari repo pribadi menggunakan baris perintah
sumber
per_page=1000
.-s
opsi kecurl
perintah Anda untuk menyingkirkan bilah kemajuan yang tidak sedap dipandang itu, seperti dalamcurl -s ...
/orgs/:username/repos
kembalikan semua repo,/users/...
kembalikan sebagian, ini memang aneh. nama pengguna dapat diperlakukan sebagai pengguna atau organisasi.Jika Anda memiliki jq terinstal, Anda dapat menggunakan perintah berikut untuk membuat daftar semua repo publik pengguna
sumber
Anda mungkin membutuhkan solusi jsonp:
https://api.github.com/users/[user name]/repos?callback=abc
Jika Anda menggunakan 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>
sumber
Repos modul NPM mengambil JSON untuk semua repo publik untuk beberapa pengguna atau grup. Anda dapat menjalankan ini langsung dari
npx
sehingga Anda tidak perlu menginstal apa pun, cukup pilih org atau pengguna ("W3C" di sini):Ini akan membuat file bernama W3Crepos.json. Grep cukup baik untuk misalnya mengambil daftar repo:
kelebihan:
kontra:
npx
(ataunpm
jika Anda ingin menginstalnya secara nyata).sumber
Ambil daftar semua repositori publik pengguna GitHub menggunakan 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")
Referensi
sumber
Sekarang ada opsi untuk menggunakan GraphQL API Explorer yang mengagumkan .
Saya ingin daftar semua repositori aktif organisasi saya dengan bahasanya masing-masing. Kueri ini hanya melakukan itu:
sumber
Jika mencari repo dari suatu organisasi-
api.github.com/orgs/$NAMEOFORG/repos
Contoh:
Anda juga bisa menambahkan parameter per_page untuk mendapatkan semua nama kalau-kalau ada masalah pagination-
sumber
Berikut adalah spesifikasi lengkap untuk API repos:
https://developer.github.com/v3/repos/#list-repositories-for-a-user
GET /users/:username/repos
Parameter String Kueri:
5 yang pertama didokumentasikan dalam tautan API di atas. Parameter untuk
page
danper_page
yang didokumentasikan di tempat lain dan berguna dalam deskripsi lengkap.type
(string): Bisa menjadi salah satuall
,owner
,member
. Default:owner
sort
(string): Bisa menjadi salah satucreated
,updated
,pushed
,full_name
. Default:full_name
direction
(string): Bisa salah satu dariasc
ataudesc
. Default:asc
saat menggunakanfull_name
, sebaliknyadesc
page
(integer): Halaman saat iniper_page
(integer): jumlah record per halamanKarena ini adalah HTTP GET API, selain cURL, Anda dapat mencobanya di browser. Sebagai contoh:
https://api.github.com/users/grokify/repos?per_page=1&page=2
sumber
HTML
JavaScript
// Repo Github
Jika Anda ingin membatasi daftar repositori, Anda dapat menambahkan
?per_page=3
setelahnyausername/repos
.misalnya
username/repos?per_page=3
Sebagai ganti /
username
/, Anda dapat memasukkan nama pengguna siapa pun di Github.sumber
Paging JSON
Kode JS di bawah ini dimaksudkan untuk digunakan di konsol.
sumber
Jawabannya adalah "/ users /: user / repo", tetapi saya memiliki semua kode yang melakukan ini dalam proyek sumber terbuka yang dapat Anda gunakan untuk membuat aplikasi web di server.
Saya mendukung proyek GitHub bernama Git-Captain yang berkomunikasi dengan GitHub API yang mencantumkan semua repo.
Ini adalah aplikasi web sumber terbuka yang dibangun dengan Node.js menggunakan GitHub API untuk menemukan, membuat, dan menghapus cabang di banyak repositori GitHub.
Ini dapat disiapkan untuk organisasi atau satu pengguna.
Saya punya step-by-step cara mengaturnya juga di read-me.
sumber
Untuk mendapatkan url 100 repositori publik pengguna:
$.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>
sumber
sumber