GitLab 구독 내부 API
CustomersDot 애플리케이션이 GitLab 구독, 네임스페이스, 사용자, 애드온 구매를 관리하는 데 사용하는 내부 API 엔드포인트를 설명합니다.
GitLab 구독 내부 API는 CustomersDot 애플리케이션에서 사용하며, 다른 소비자는 사용할 수 없습니다. 이 문서는 GitLab 및 CustomersDot 코드베이스에서 작업하는 개발자를 위한 것입니다. 새 엔드포인트 추가 # API 엔드포인트는 기본적으로 적절한 인증 및 인가와 함께 외부에서 접근 가능해야 합니다. 새로운 내부 엔드포인트를 추가하기 전에, 해당 API가 더 넓은 GitLab 커뮤니티에 도움이 될 수 있는지, 그리고 외부에서 접근 가능하게 만들 수 있는지 검토하세요. GitLab 구독 포털의 경우, 사용자 컨텍스트 없이 GitLab을 업데이트해야 할 때 내부 API를 사용할 수 있습니다. 이는 사용자의 액세스 토큰에 접근할 수 없으며, 대신 CustomersDot 애플리케이션 전체로서 업데이트를 수행하는 것을 의미합니다. 인증 # CustomersDot JWT # 이 엔드포인트들은 모두 CustomersDot의 JWT 인증을 사용합니다. JWT로 인증하려면 클라이언트가 다음을 수행합니다: 자격 증명에서 서명 키의 내용을 읽습니다. 서명 키를 사용하여 JSON Web Token( JWT )을 생성합니다. X-CUSTOMERS-DOT-INTERNAL-TOKEN 헤더에 JWT를 전달합니다. 관리자 개인 액세스 토큰 (PAT) # 이 인증 방식은 Cells 아키텍처에서 지원되지 않아 더 이상 사용되지 않습니다. 향후 마일스톤에서 제거될 예정 입니다. 대신 JWT 인증을 사용하세요. 관리자로 인증하려면 api 및 admin_mode 스코프를 가진 관리자용 개인 액세스 토큰을 생성하세요. 이 토큰은 PRIVATE-TOKEN 헤더에 제공할 수 있습니다. 내부 엔드포인트 # 네임스페이스 # 그룹 Owner 가져오기 # GET 명령을 사용하여 네임스페이스의 직접 Owner를 가져옵니다. CustomersDot는 이 엔드포인트를 사용하여 청구 이벤트에 대해 알릴 사용자를 찾습니다. GET /internal/gitlab_subscriptions/namespaces/:id/owners 요청 예시: curl --header "X-CUSTOMERS-DOT-INTERNAL-TOKEN: <json-web-token>" "https://gitlab.com/api/v4/internal/gitlab_subscriptions/namespaces/1234/owners" 응답 예시: [ { "user": { "id": 1, "username": "john_smith", "name": "John Smith" }, "access_level": 50, "notification_email": "name@example.com" } ] ID로 네임스페이스 가져오기 # 네임스페이스에 대한 정보를 가져오는 데 사용됩니다. GET /internal/gitlab_subscriptions/namespaces/:id 파라미터: 속성 타입 필수 여부 설명 id integer/string yes 네임스페이스의 ID 또는 URL 인코딩된 경로 요청 예시: curl