GitLab을 사용하면 프로젝트가 API 목록에서 누락됩니다


18

GitLab API를 사용하여 (URL /api/v3/projects/all?private_token=xxx)에 액세스 할 수있는 프로젝트 목록을 가져 오지만 어떤 이유로 든 목록에 포함되지 않은 6-7 개의 프로젝트가 있습니다.

편집 : 내 사용자는 관리자이며 URL 표시 와 같은 모든 프로젝트 를 나열 하고 싶습니다 /projects/all.

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_pageHTTP 요청 행에서 변수 를 사용해야합니다 . page최대 값보다 큰 리포지토리가있는 경우 페이지 번호를 변경할 수도 있습니다 per_page. 최대 per_page값은 100을 지정할 수 있습니다 .

예를 들어, 다음과 같이 요청할 수 있습니다.

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

pageper_page가 기본 값을 가지고 당신은 당신이 원하지 않는 경우 중 하나를 포함 할 필요가 없습니다 변수는 필요하지 않습니다.

잘하면 이것은 당신의 문제를 해결합니다.


실제로 그렇습니다! 나는 게으르고 멍청한 느낌이 들었다.
Nils

어떤 문제가, 교훈 : 너무 자신을 위해 배운 적이
jaseeey

1
100 이상을 반환하는 방법이 있습니까? 사용자 활동의 결과는 100 개가 넘지 만 API는 최대 100 개만 반환합니다.
emmdee

API 설명서를 보면 per_page허용되는 최대 값은입니다 100. 참조 : docs.gitlab.com/ce/api/README.html#pagination
jaseeey


-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.