저장소 API
GitLab의 Git 저장소를 관리하기 위한 REST API를 설명합니다.
이 API를 사용하여 Git 리포지터리 를 관리합니다. 프로젝트의 모든 리포지터리 트리 목록 조회 # 히스토리 with_last_commit 속성이 GitLab 19.3에서 도입 되었습니다. 지정된 프로젝트의 모든 리포지터리 파일과 디렉터리를 나열합니다. 리포지터리가 공개되어 있으면 인증 없이 이 엔드포인트에 접근할 수 있습니다. 이 명령은 git ls-tree 명령과 본질적으로 동일한 기능을 제공합니다. 자세한 내용은 Git 내부 구조 문서의 tree 오브젝트 항목을 참고합니다. Warning GitLab 17.7 버전에서는 요청한 경로를 찾지 못했을 때의 오류 처리 방식이 변경되었습니다. 이제 엔드포인트는 상태 코드 404 Not Found 를 반환합니다. 이전에는 상태 코드가 200 OK 였습니다. 존재하지 않는 경로에 대해 빈 배열과 함께 200 상태 코드를 받는 것에 구현이 의존하고 있다면, 새로운 404 응답을 처리하도록 오류 처리를 수정해야 합니다. GET /projects/:id/repository/tree 지원되는 속성: 속성 유형 필수 여부 설명 id integer or string 예 프로젝트의 ID 또는 URL 인코딩된 경로 . page_token string 아니요 다음 페이지를 가져올 트리 레코드 ID. keyset 페이지네이션에서만 사용합니다. pagination string 아니요 keyset 이면 keyset 기반 페이지네이션 방식 을 사용합니다. path string 아니요 리포지터리 내부 경로. 하위 디렉터리의 내용을 가져올 때 사용합니다. per_page integer 아니요 페이지당 표시할 결과 수. 지정하지 않으면 기본값은 20 입니다. 자세한 내용은 페이지네이션 을 참고합니다. recursive boolean 아니요 true 이면 트리를 재귀적으로 가져옵니다. 기본값은 false 입니다. ref string 아니요 리포지터리 브랜치 또는 태그 이름. 지정하지 않으면 기본 브랜치를 사용합니다. with_last_commit boolean 아니요 true 이면 각 트리 항목의 마지막 커밋을 포함합니다. recursive 와 함께 사용할 수 없습니다. 기본값은 false 입니다. 성공하면 200 OK 와 트리 오브젝트 배열을 반환합니다. with_last_commit 이 true 이면 각 트리 오브젝트에 해당 항목을 마지막으로 변경한 커밋의 상세 정보를 담은 last_commit 오브젝트가 포함됩니다. last_commit 오브젝트는 커밋 API 와 동일한 속성을 사용합니다. 요청 예시: curl --header "PRIVATE-TOKEN: <your_access_token>" \ --url "https://gitlab.example.com/api/v4/projects/13083/repository/tree" 응답 예시: [ { "id" : "a1e8f8d745cc87e3a9248358d9352bb7f9a0aeba" , "name" : "html" , "type" : "tree" , "path