GitLab for Jira Cloud 앱 개발
개발자는 GitLab for Jira Cloud 앱을 위한 개발 환경을 설정하는 두 가지 옵션이 있습니다:
- Jira와 함께하는 전체 환경 Jira로 설정하기. Jira와의 상호작용을 테스트해야 할 경우 이 방법을 사용하세요.
- Jira 없이 사용하는 로컬 환경 Jira 없이 설정하기. GitLab 프론트엔드를 테스트할 때처럼 Jira가 필요하지 않은 경우 이 빠른 설정을 사용할 수 있습니다.
Jira로 설정하기
앱을 설치하는 데 필요한 항목은 다음과 같습니다:
- Jira Cloud 인스턴스. Atlassian에서는 개발 및 테스트를 위한 무료 인스턴스를 제공합니다.
-
인터넷에서 사용할 수 있는 GitLab 인스턴스. 앱을 작동하게 하려면 Jira Cloud가 인터넷을 통해 GitLab 인스턴스에 연결할 수 있어야 합니다. 이를 위해 Gitpod 또는 비슷한 클라우드 개발 환경을 사용하는 것을 권장합니다. GDK와 함께 Gitpod 사용하는 방법에 대한 자세한 내용은 다음을 참조하십시오:
-
Gitpod와 GDK 문서.
-
Gitpod에서 GDK 비디오.
GitLab 팀원은 Serveo 또는
ngrok
과 같은 터널링 도구를 사용해서는 안 됩니다. 이는 보안 위험이 있으며 GitLab 개발자의 노트북에서 실행되어서는 안 됩니다.Jira는 모든 연결이 앱 호스트와 SSL을 통해 이루어져야 합니다. 자체 환경을 설정하는 경우 SSL과 적절한 인증서를 활성화하는 것을 잊지 마세요.
-
GitPod 설정하기
Gitpod를 사용하고 있다면 포트 3000
을 공개해야 합니다.
Jira에 앱 설치하기
Jira에 앱을 설치하려면:
-
Atlassian Marketplace에서 제공되지 않는 앱을 설치하기 위해 Jira 개발 모드를 활성화합니다:
- Jira에서 Jira 설정 > 앱 > 앱 관리로 이동합니다.
- 앱 관리 페이지 하단으로 스크롤하여 설정을 선택합니다.
- 개발 모드 활성화를 선택하고 적용을 선택합니다.
-
앱을 설치합니다:
- Jira에서 Jira 설정 > 앱 > 앱 관리로 이동합니다.
- 앱 업로드를 선택합니다.
-
이 URL에서 필드에 앱 설명자를 가리키는 링크를 제공합니다. 호스트와 포트는 귀하의 GitLab 인스턴스를 가리켜야 합니다.
예:
https://xxxx.gitpod.io/-/jira_connect/app_descriptor.json
- 업로드를 선택합니다.
설치가 성공적으로 이루어지면 앱 관리에서 GitLab for Jira Cloud 앱을 볼 수 있습니다. 또한 시작하기를 선택하여 GitLab 인스턴스에서 렌더링된 구성 페이지를 열 수 있습니다.
앱 설명자에 대한 변경 사항은 앱을 제거한 후 다시 설치해야 함을 유의하십시오.
-
설치되어 준비 완료! 대화 상자가 열리면 시작하기를 선택하지 말고 대신 닫기를 선택합니다.
-
이제 OAuth 인증 흐름 설정하기를 설정해야 합니다.
GitLab OAuth 인증 흐름 설정
Jira 사용자는 GitLab OAuth를 사용하여 GitLab과 인증합니다.
이 단계를 수행하기 전에 먼저 Jira에 앱을 설치했는지 확인하세요,
그렇지 않으면 Jira에서 앱 설치가 실패합니다.
다음 단계에서는 GitLab OAuth 흐름을 테스트하기 위한 환경 설정 방법을 설명합니다:
- Gitpod 세션을 시작합니다.
- GitLab 인스턴스에서 Admin > Applications로 이동합니다.
- 다음 설정으로 새 애플리케이션을 생성합니다:
- 이름:
GitLab for Jira
- 리디렉션 URI:
YOUR_GITPOD_INSTANCE/-/jira_connect/oauth_callbacks
- 신뢰할 수 있는: 아니요
- 비밀: 아니요
- 범위:
api
- 이름:
- Application ID 값을 복사합니다.
- Admin > Settings > General로 이동합니다.
- GitLab for Jira App을 확장합니다.
- Jira Connect Application ID에 Application ID 값을 붙여넣습니다.
-
Jira Connect Proxy URL에
YOUR_GITPOD_INSTANCE
를 입력합니다 (예:https://xxxx.gitpod.io
). - 공개 키 저장소 활성화: 체크 해제합니다.
- 변경사항 저장을 선택합니다.
Jira에서 앱 설정
이 단계를 수행하기 전에 먼저 OAuth를 설정했는지 확인하세요,
그렇지 않으면 이 단계가 실패합니다.
- Jira에서 Jira settings > Apps > Manage apps로 이동합니다.
- User-installed apps로 스크롤하여 GitLab for Jira Cloud 앱을 찾고 확장합니다.
- Get started를 선택합니다.
GitLab 인스턴스와 인증하고 그룹을 연결할 수 있어야 합니다.
문제 해결
앱 설치 실패
앱 설치가 실패하면 데이터베이스에서 jira_connect_installations
을 삭제해야 할 수 있습니다.
- 데이터베이스 콘솔을 엽니다.
-
TRUNCATE TABLE jira_connect_installations CASCADE;
를 실행합니다.
파일에 접근할 수 없음
Gitpod를 사용하는 경우 Jira가 설명자 파일에 접근할 수 없다는 오류가 발생하면 GitPod 포트를 공개해야 합니다.
Jira 없이 설정
테스트를 위해 Jira가 필요하지 않다면 Jira connect 테스트 도구와 로컬 GDK를 사용할 수 있습니다.
-
Jira-connect-test-tool를 클론합니다:
git clone git@gitlab.com:gitlab-org/manage/integrations/jira-connect-test-tool.git
. - 앱을 시작합니다
bundle exec rackup
. (앱은 GDK GitLab이http://127.0.0.1:3000
에서 사용 가능해야 합니다). -
config/gitlab.yml
을 열고jira_connect
구성을 주석 해제합니다. -
localhost
이외의 도메인에서 GDK를 실행하는 경우, 해당 도메인을additional_iframe_ancestors
에 추가해야 합니다. 예를 들어:additional_iframe_ancestors: ['localhost:*', '127.0.0.1:*', 'gdk.test:*']
- GDK를 재시작합니다.
-
http://127.0.0.1:3000/-/user_settings/personal_access_tokens
로 이동합니다. -
api
범위로 새로운 토큰을 생성하고 토큰을 복사합니다. -
http://localhost:9292
로 이동합니다. - 토큰을 붙여넣고 Install GitLab.com Jira Cloud app을 선택합니다.