Menggunakan GitLab, proyek tidak ada dalam daftar API


18

Saya menggunakan API GitLab untuk mengambil daftar proyek yang saya akses (URL /api/v3/projects/all?private_token=xxx), tetapi ada 6-7 proyek yang tidak termasuk dalam daftar karena beberapa alasan.

EDIT: Pengguna saya adalah seorang administrator, dan saya ingin membuat daftar semua proyek seperti yang /projects/allditunjukkan oleh URL.

Saya memiliki akses ke proyek dengan baik menggunakan git sendiri dan antarmuka web GitLab. Adakah saran mengapa proyek tidak ditampilkan dalam daftar dari API?

Semua proyek yang hilang lebih baru dari yang lain. Saya telah mencoba menyegarkan token API saya; tidak ada perubahan.

Versi:

GitLab        6.4.3
GitLab Shell  1.8.0
GitLab API    v3
Ruby          2.0.0p353
Rails         4.0.2

Jawaban:


27

Saya baru saja menguji ini dan sepertinya respons API GitLab menggunakan pagination. Menurut dokumentasi ( http://api.gitlab.org ), jumlah hasil default per halaman diatur ke 20 dan halaman awal adalah 1.

Untuk menyesuaikan hasil maksimum per halaman, Anda perlu menggunakan per_pagevariabel di baris permintaan HTTP. Anda dapat mengubah nomor halaman dengan menggunakan pagejuga, jika Anda memiliki lebih banyak repositori daripada nilai maksimum per_page. Anda dapat menentukan per_pagenilai maksimum 100.

Misalnya, permintaan Anda mungkin terlihat seperti:

https://git.example.com/api/v3/projects/all?page=1&per_page=100&private_token=abc123

The pagedan per_pagevariabel tidak diperlukan karena mereka memiliki nilai-nilai default, sehingga Anda tidak perlu menyertakan baik jika Anda tidak ingin.

Semoga ini menyelesaikan masalah Anda.


Memang benar! Saya merasa malas dan bodoh sekarang;) Terima kasih banyak!
Nils

Tidak ada masalah, pelajaran juga saya pelajari :)
jaseeey

1
Apakah ada cara untuk mengembalikan lebih dari 100? Hasil aktivitas pengguna saya jauh lebih dari 100 tetapi api hanya mengembalikan maksimal 100.
emmdee

Dari melihat dokumentasi API, sepertinya nilai maksimum yang per_pagediperbolehkan 100. Lihat: docs.gitlab.com/ce/api/README.html#pagination
jaseeey


-1

Jika Anda tidak yakin tentang jumlah halaman, gunakan seperti di bawah ini: https://git.example.com/api/v3/projects/all?per_page=-1&private_token=some_token_key


tidak mencantumkan semua proyek ... hanya memberikan 20 catatan standar
Saurabh

Sama dengan saya. Hanya menampilkan 20 item default di halaman pertama
Marslo

tidak melakukan apa-apa, hanya mengembalikan default 20
Ivan
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.