ใช้ GitLab โครงการหายไปจากรายการ API


18

ฉันใช้ GitLab API เพื่อดึงรายการของโครงการที่ฉันเข้าถึง (URL /api/v3/projects/all?private_token=xxx) แต่มี 6-7 โครงการที่ไม่รวมอยู่ในรายการด้วยเหตุผลบางประการ

แก้ไข: ผู้ใช้ของฉันเป็นผู้ดูแลระบบและฉันต้องการแสดงรายการโครงการทั้งหมดตามที่/projects/allระบุใน URL

ฉันสามารถเข้าถึงโครงการได้โดยใช้ git เองและเว็บอินเตอร์เฟส GitLab คำแนะนำใด ๆ ที่ทำให้โครงการไม่ปรากฏในรายการจาก API

โครงการที่หายไปทั้งหมดเป็นโครงการใหม่กว่าโครงการอื่น ๆ ฉันลองรีเฟรชโทเค็น API แล้ว ไม่มีการเปลี่ยนแปลง.

รุ่น:

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

คำตอบ:


27

ฉันเพิ่งทดสอบสิ่งนี้และดูเหมือนว่าการตอบสนอง GitLab API กำลังใช้การแบ่งหน้า ตามเอกสาร ( http://api.gitlab.org ) จำนวนผลลัพธ์เริ่มต้นต่อหน้าถูกกำหนดเป็น 20 และหน้าเริ่มต้นคือ 1

ในการปรับผลลัพธ์สูงสุดต่อหน้าคุณต้องใช้per_pageตัวแปรในบรรทัดคำขอ HTTP คุณสามารถเปลี่ยนจำนวนหน้าโดยใช้เช่นกันถ้าคุณมีเก็บมากกว่าค่าสูงสุดpage per_pageคุณสามารถระบุper_pageค่าสูงสุด100

ตัวอย่างเช่นคำขอของคุณอาจมีลักษณะดังนี้:

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

pageและper_pageตัวแปรที่ไม่จำเป็นที่พวกเขามีค่าเริ่มต้นดังนั้นคุณจึงไม่จำเป็นต้องรวมทั้งหากคุณไม่ต้องการที่จะ

หวังว่านี่จะช่วยแก้ปัญหาของคุณ


มันแน่นอน! ฉันรู้สึกขี้เกียจและโง่ในตอนนี้;) ขอบคุณมาก!
นิลส์

ไม่มีปัญหาบทเรียนสำหรับตัวเองมากเกินไป :)
jaseeey

1
มีวิธีการคืนมากกว่า 100 หรือไม่? ผลลัพธ์ของกิจกรรมผู้ใช้ของฉันมีมากกว่า 100 รายการ แต่ api จะส่งคืนได้สูงสุด 100 เท่านั้น
emmdee

จากการดูที่เอกสาร API ดูเหมือนสูงสุดคุ้มค่าที่ได้รับอนุญาตper_page 100อ้างอิง: docs.gitlab.com/ce/api/README.html#pagination
jaseeey

0

ใช่มันทำงานได้กับการแบ่งหน้าคุณจำเป็นต้องเปลี่ยนค่าพารามิเตอร์ "หน้า" และโทรหลายครั้งดังต่อไปนี้

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

https://gitlab.example.com/api/v3/projects/all?page=2&per_page=100&private_token=some_token


-1

หากคุณไม่แน่ใจเกี่ยวกับจำนวนหน้าให้ใช้ดังต่อไปนี้: https://git.example.com/api/v3/projects/all?per_page=-1&private_token=some_token_key


ไม่ได้แสดงรายการโครงการทั้งหมด ... ให้เฉพาะค่าเริ่มต้น 20 รายการ
Saurabh

เหมือนกับฉัน แสดงเฉพาะรายการเริ่มต้น 20 รายการในหน้าแรก
Marslo

ไม่ได้ทำอะไรเลยส่งคืนค่าเริ่มต้น 20
Ivan
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.