GitLab.com, GitLab Self-Managed, GitLab Dedicated에 앱을 연결해 GitLab REST API로 프로젝트, 이슈, 머지 리퀘스트, 파이프라인, 저장소 파일을 다룹니다.
GitLab API에 앱 연결하기
GitLab.com, GitLab Self-Managed, GitLab Dedicated에 앱을 연결해 GitLab REST API로 프로젝트, 이슈, 머지 리퀘스트, 파이프라인, 저장소 파일을 다루세요.
GitLab은 소스 코드, 이슈, 머지 리퀘스트, CI/CD 파이프라인을 호스팅합니다. GitLab API 커넥터는 Lovable 앱이 GitLab.com, GitLab Self-Managed, GitLab Dedicated에서 GitLab REST API를 호출하게 해줍니다. 이슈 대시보드, 머지 리퀘스트 대기열, 배포 대시보드, 개발자 워크플로처럼 GitLab 데이터를 읽거나 업데이트하는 앱을 만들 때 사용하세요.
앱이 누구의 GitLab 계정을 사용해야 하는지에 따라 연결 유형을 선택하세요.
| 사용 방식 | 원하는 작업 |
|---|---|
| App + chat connector(이 페이지) | 채팅과 게시된 앱에서 공유 GitLab 연결 하나를 사용 |
| App user connector | 게시된 앱의 각 사용자가 자신의 GitLab 계정을 연결해 접근 가능한 데이터로 작업 |
두 연결 유형 모두 Free, Pro, Business, Enterprise 플랜에서 사용할 수 있습니다. Business와 Enterprise 플랜에서는 워크스페이스 admin이 연결과 클라이언트를 만들 수 있는 사용자를 제어합니다. Enterprise 플랜에서는 admin이 변경하기 전까지 이 설정이 연결 유형마다 No one으로 기본 설정됩니다. 자세한 내용은 연결 및 클라이언트를 만들 수 있는 사용자를 참고하세요.
GitLab API를 연결하면 앱은 다음 작업이 가능합니다.
- 프로젝트, 브랜치, 커밋, 저장소 파일 조회
- 이슈와 머지 리퀘스트 생성 및 업데이트
- 파이프라인과 파이프라인 상태 읽기
- GitLab 데이터 기반 대시보드 및 자동화 구축
이 커넥터는 앱에 GitLab REST API 접근 권한을 제공합니다. Lovable 프로젝트 코드를 내보내거나 동기화하지는 않습니다. Lovable 프로젝트를 GitLab 저장소와 양방향 동기화하려면 GitLab Git sync를 사용하세요.
주요 활용 사례 및 예시 앱
아래 예시를 보고 앱에 공유 GitLab 연결 하나가 필요한지, 사용자별 접근이 필요한지 판단하세요.
| 예시 앱 | 설명 |
|---|---|
| 이슈 분류 보드 | 여러 프로젝트에 걸친 작업 우선순위 정하기. 열린 이슈를 나열하고 라벨, 마일스톤, 담당자, 우선순위별로 묶습니다. |
| 머지 리퀘스트 리뷰 대기열 | 리뷰가 멈추지 않게 하기. 열린 머지 리퀘스트, 리뷰어, 승인 상태, 파이프라인 결과, 경과 시간을 한곳에 표시합니다. |
| 배포 대시보드 | 무엇이 출시되고 있는지 추적하기. 파이프라인과 커밋 데이터를 팀을 위한 하나의 뷰로 결합합니다. |
| 저장소 브라우저 | 소스 코드 맞춤 뷰 만들기. 사용자가 프로젝트, 브랜치, 커밋, 저장소 파일을 둘러볼 수 있게 합니다. |
| 피드백 접수 워크플로 | 사용자 피드백을 이슈로 전환하기. 누군가 앱에서 피드백을 제출하거나 버그를 신고하면 GitLab 이슈를 만듭니다. |
| 개인 개발자 허브 | 사용자마다 맞춤 워크스페이스 제공하기. App user 커넥터를 사용해 로그인한 각 사용자가 자신의 GitLab 계정으로 접근할 수 있는 프로젝트, 이슈, 머지 리퀘스트를 보게 합니다. |
공유 연결이라면 다음과 같은 프롬프트로 시작할 수 있습니다.
우리 공유 GitLab 연결을 사용해서 팀 프로젝트의 이슈 분류 대시보드를 만들어줘. 열린 이슈를 라벨과 담당자별로 보여주고, 사용자가 새 이슈를 만들 수 있게 해줘.사용자별 접근이 필요하면 app user 커넥터를 사용하고 Lovable에게 로그인 흐름을 만들어 달라고 요청하세요.
로그인한 사용자가 각자 자신의 GitLab 계정을 연결하게 하고, 그 사용자의 리뷰를 기다리는 머지 리퀘스트를 보여줘.사전 준비
앱 + 채팅 연결을 만들기 전에 다음을 준비하세요.
- GitLab.com, GitLab Self-Managed, GitLab Dedicated 접근 권한
- 앱에 필요한 scope와 리소스 접근 권한을 가진 GitLab 개인·프로젝트·그룹 액세스 토큰(access token)
- 연결 및 클라이언트를 만들 수 있는 사용자에 설명된 대로 Lovable 워크스페이스에서 연결을 만들 수 있는 권한
- 접근이 제한된 Self-Managed 또는 Dedicated 인스턴스라면 Lovable 커넥터 게이트웨이 IP 범위의 트래픽을 허용하는 네트워크 규칙
통합을 빌드하는 데는 워크스페이스 빌드 크레딧이 사용됩니다. 게시된 앱에서 보내는 요청은 앱에 내장된 백엔드를 거쳐 실행되며 Cloud 사용량에 합산됩니다. 플랜 요건, API 할당량, 요청 제한(rate limit), 청구는 GitLab이 자체적으로 관리합니다. 게이트웨이 요청에는 프로젝트별 사용량 한도도 적용됩니다.
GitLab API 연결 방식
앱 + 채팅 연결은 GitLab 액세스 토큰 하나를 사용합니다. 그 연결을 사용하는 모든 사람은 해당 토큰의 신원, 권한, 리소스 접근 범위로 동작합니다. 팀, 프로젝트, 환경을 분리하려면 서로 다른 토큰으로 연결을 여러 개 만들 수 있습니다.
Lovable은 커넥터 게이트웨이를 거쳐 요청을 보냅니다. 게이트웨이는 토큰을 안전하게 저장하고 GitLab 요청에 붙이며, 프로젝트 코드와 게시된 앱에는 토큰이 노출되지 않게 합니다.
GitLab Self-Managed와 GitLab Dedicated의 경우 연결에 인스턴스 URL도 저장됩니다. Lovable은 GitLab.com 대신 그 인스턴스로 API 요청을 보냅니다.
액세스 토큰으로 GitLab API 연결하기
Step 1: GitLab 액세스 토큰 생성
이 커넥터는 세 가지 GitLab 액세스 토큰 유형을 받습니다.
| 토큰 유형 | 접근 범위 |
|---|---|
| 개인 액세스 토큰(personal access token) | GitLab 사용자가 접근할 수 있는 리소스 |
| 그룹 액세스 토큰(group access token) | 선택한 그룹과 그 그룹의 프로젝트 |
| 프로젝트 액세스 토큰(project access token) | 프로젝트 하나 |
앱의 사용 사례를 충족하는 가장 좁은 범위의 토큰 유형을 선택하세요. 토큰 유형별 요건과 제공 여부는 GitLab token overview를 참고하세요.
GitLab에서 토큰 설정 열기
개인 액세스 토큰이라면 GitLab에 로그인한 뒤 아바타를 선택하고 Edit profile → Access → Personal access tokens를 엽니다.
그룹 또는 프로젝트 액세스 토큰이라면 해당 그룹이나 프로젝트의 설정을 열고 GitLab의 액세스 토큰 문서를 따릅니다.
최소 필요 scope 선택
앱이 GitLab 데이터를 읽기만 한다면 read_api를 선택합니다. 앱이 프로젝트, 이슈, 머지 리퀘스트, 파이프라인, 저장소 파일을 만들거나 변경한다면 api를 선택합니다.
토큰은 소유자인 사용자 또는 봇 계정의 권한과 리소스 접근 범위도 그대로 물려받습니다. scope는 그 계정에 없는 접근 권한을 부여할 수 없습니다.
만료일 설정
조직의 보안 정책에 맞는 만료일을 선택합니다. 토큰이 만료되기 전에 토큰을 교체하고 Lovable 연결을 업데이트할 계획을 세우세요.
토큰 생성 및 복사
토큰을 생성하고 GitLab이 표시할 때 복사합니다. 페이지를 떠나거나 새로 고치면 GitLab은 토큰을 다시 보여 주지 않습니다.
액세스 토큰은 비밀번호처럼 다루세요. 안전하게 보관하고, 프롬프트나 프로젝트 코드에 절대 넣지 말고, Lovable의 GitLab API 연결 폼에만 붙여넣으세요.
자세한 절차는 GitLab 문서의 Personal access tokens와 Access token scopes를 참고하세요.
Step 2: GitLab API를 Lovable에 연결
Lovable에서 공유 연결을 추가하고 검증합니다.
앱 + 채팅 연결 추가
Add connection을 클릭한 뒤 App + chat connector를 선택합니다.
연결 구성
- Display name(선택): 연결 이름을 지정합니다(예:
GitLab Production). 비워 두면 Lovable이 이름을 생성합니다. - Access token: 앞서 만든 개인, 프로젝트 또는 그룹 액세스 토큰을 붙여넣습니다.
- Instance URL(선택): GitLab.com이라면 비워 둡니다. GitLab Self-Managed 또는 GitLab Dedicated라면 Advanced settings를 펼치고 인스턴스의 HTTPS 루트 URL(예:
https://gitlab.example.com)을 입력합니다./api/v4나 리소스 경로는 붙이지 마세요.
연결을 사용할 수 있는 사람 선택
Who can use this connection에서 연결을 비공개로 유지하거나, 특정 워크스페이스 멤버를 추가하거나, 워크스페이스 전체를 초대합니다.
접근 권한이 있는 모든 사람은 연결을 프로젝트에 링크하고 토큰으로 접근할 수 있는 GitLab 데이터를 사용할 수 있습니다. 자세한 내용은 연결 및 클라이언트를 사용할 수 있는 사용자를 참고하세요.
연결
Connect를 클릭합니다. Lovable은 연결을 저장하기 전에 구성된 GitLab 인스턴스로 액세스 토큰을 검증합니다.
연결을 프로젝트에 링크
프로젝트 채팅에서 GitLab으로 무엇을 만들고 싶은지 Lovable에게 말합니다. Lovable이 접근 가능한 연결을 링크한 뒤 기능을 빌드합니다.
연결이 Connectors → GitLab API에 나타나면 준비가 끝난 것입니다. 프로젝트에 링크하면 해당 프로젝트의 App connections 아래에도 표시됩니다.
제한 사항
이 페이지에서 설명하는 GitLab 앱 + 채팅 커넥터는 다음을 할 수 없습니다.
- 별도의 최종 사용자 계정에 GitLab OAuth 사용. 사용자별 OAuth가 필요하면 GitLab app user 커넥터를 사용하세요.
- Lovable 프로젝트 코드베이스를 내보내거나 양방향 동기화하는 GitLab Git sync 대체
- 토큰 소유자의 멤버십, 역할, 토큰 유형, 선택한 scope 밖의 리소스 접근
- 개인, 프로젝트, 그룹 액세스 토큰 자동 갱신·교체. 토큰이 만료되거나 취소되거나 교체되면 연결을 업데이트하세요.
- Lovable 커넥터 게이트웨이 트래픽을 차단하는 Self-Managed 또는 Dedicated 인스턴스 접근
- GitLab 또는 Lovable 게이트웨이의 요청 제한(rate limit) 우회
문제 해결
연결이나 GitLab API 요청이 실패하면 다음 항목을 확인하세요.
GitLab API 연결 관리
연결은 Connectors에서 관리합니다. **GitLab API**을 선택한 다음 연결을 여세요.
- Unlink projects를 사용하면 다른 프로젝트에서 연결을 계속 사용할 수 있도록 유지하면서 특정 프로젝트의 GitLab API 접근 권한만 제거할 수 있습니다. 단계별 절차는 연결에서 프로젝트 연결 해제를 참고하세요.
- Delete the connection을 사용하면 워크스페이스에서 연결을 완전히 제거할 수 있습니다. 삭제는 영구적이며 연결된 모든 프로젝트에서 자격 증명이 제거되고, GitLab API을 사용하는 앱 기능은 새 연결을 추가할 때까지 작동하지 않습니다. 단계와 삭제 권한은 연결 삭제를 참고하세요.