GitLab for Jira Cloud 앱 개발

개발자는 GitLab for Jira Cloud 앱을 위한 개발 환경을 설정하는 두 가지 옵션이 있습니다:

  1. Jira와 함께하는 전체 환경 Jira로 설정하기. Jira와의 상호작용을 테스트해야 할 경우 이 방법을 사용하세요.
  2. Jira 없이 사용하는 로컬 환경 Jira 없이 설정하기. GitLab 프론트엔드를 테스트할 때처럼 Jira가 필요하지 않은 경우 이 빠른 설정을 사용할 수 있습니다.

Jira로 설정하기

앱을 설치하는 데 필요한 항목은 다음과 같습니다:

  • Jira Cloud 인스턴스. Atlassian에서는 개발 및 테스트를 위한 무료 인스턴스를 제공합니다.
  • 인터넷에서 사용할 수 있는 GitLab 인스턴스. 앱을 작동하게 하려면 Jira Cloud가 인터넷을 통해 GitLab 인스턴스에 연결할 수 있어야 합니다. 이를 위해 Gitpod 또는 비슷한 클라우드 개발 환경을 사용하는 것을 권장합니다. GDK와 함께 Gitpod 사용하는 방법에 대한 자세한 내용은 다음을 참조하십시오:

    GitLab 팀원은 Serveo 또는 ngrok과 같은 터널링 도구를 사용해서는 안 됩니다. 이는 보안 위험이 있으며 GitLab 개발자의 노트북에서 실행되어서는 안 됩니다.

    Jira는 모든 연결이 앱 호스트와 SSL을 통해 이루어져야 합니다. 자체 환경을 설정하는 경우 SSL과 적절한 인증서를 활성화하는 것을 잊지 마세요.

GitPod 설정하기

Gitpod를 사용하고 있다면 포트 3000을 공개해야 합니다.

Jira에 앱 설치하기

Jira에 앱을 설치하려면:

  1. Atlassian Marketplace에서 제공되지 않는 앱을 설치하기 위해 Jira 개발 모드를 활성화합니다:

    1. Jira에서 Jira 설정 > 앱 > 앱 관리로 이동합니다.
    2. 앱 관리 페이지 하단으로 스크롤하여 설정을 선택합니다.
    3. 개발 모드 활성화를 선택하고 적용을 선택합니다.
  2. 앱을 설치합니다:

    1. Jira에서 Jira 설정 > 앱 > 앱 관리로 이동합니다.
    2. 앱 업로드를 선택합니다.
    3. 이 URL에서 필드에 앱 설명자를 가리키는 링크를 제공합니다. 호스트와 포트는 귀하의 GitLab 인스턴스를 가리켜야 합니다.

      예:

      https://xxxx.gitpod.io/-/jira_connect/app_descriptor.json
      
    4. 업로드를 선택합니다.

    설치가 성공적으로 이루어지면 앱 관리에서 GitLab for Jira Cloud 앱을 볼 수 있습니다. 또한 시작하기를 선택하여 GitLab 인스턴스에서 렌더링된 구성 페이지를 열 수 있습니다.

    앱 설명자에 대한 변경 사항은 앱을 제거한 후 다시 설치해야 함을 유의하십시오.

  3. 설치되어 준비 완료! 대화 상자가 열리면 시작하기를 선택하지 말고 대신 닫기를 선택합니다.

  4. 이제 OAuth 인증 흐름 설정하기를 설정해야 합니다.

GitLab OAuth 인증 흐름 설정

Jira 사용자는 GitLab OAuth를 사용하여 GitLab과 인증합니다.

이 단계를 수행하기 전에 먼저 Jira에 앱을 설치했는지 확인하세요,

그렇지 않으면 Jira에서 앱 설치가 실패합니다.

다음 단계에서는 GitLab OAuth 흐름을 테스트하기 위한 환경 설정 방법을 설명합니다:

  1. Gitpod 세션을 시작합니다.
  2. GitLab 인스턴스에서 Admin > Applications로 이동합니다.
  3. 다음 설정으로 새 애플리케이션을 생성합니다:
    • 이름: GitLab for Jira
    • 리디렉션 URI: YOUR_GITPOD_INSTANCE/-/jira_connect/oauth_callbacks
    • 신뢰할 수 있는: 아니요
    • 비밀: 아니요
    • 범위: api
  4. Application ID 값을 복사합니다.
  5. Admin > Settings > General로 이동합니다.
  6. GitLab for Jira App을 확장합니다.
  7. Jira Connect Application IDApplication ID 값을 붙여넣습니다.
  8. Jira Connect Proxy URLYOUR_GITPOD_INSTANCE를 입력합니다 (예: https://xxxx.gitpod.io).
  9. 공개 키 저장소 활성화: 체크 해제합니다.
  10. 변경사항 저장을 선택합니다.

Jira에서 앱 설정

이 단계를 수행하기 전에 먼저 OAuth를 설정했는지 확인하세요,

그렇지 않으면 이 단계가 실패합니다.

  1. Jira에서 Jira settings > Apps > Manage apps로 이동합니다.
  2. User-installed apps로 스크롤하여 GitLab for Jira Cloud 앱을 찾고 확장합니다.
  3. Get started를 선택합니다.

GitLab 인스턴스와 인증하고 그룹을 연결할 수 있어야 합니다.

문제 해결

앱 설치 실패

앱 설치가 실패하면 데이터베이스에서 jira_connect_installations을 삭제해야 할 수 있습니다.

  1. 데이터베이스 콘솔을 엽니다.
  2. TRUNCATE TABLE jira_connect_installations CASCADE;를 실행합니다.

파일에 접근할 수 없음

Gitpod를 사용하는 경우 Jira가 설명자 파일에 접근할 수 없다는 오류가 발생하면 GitPod 포트를 공개해야 합니다.

Jira 없이 설정

테스트를 위해 Jira가 필요하지 않다면 Jira connect 테스트 도구와 로컬 GDK를 사용할 수 있습니다.

  1. Jira-connect-test-tool를 클론합니다: git clone git@gitlab.com:gitlab-org/manage/integrations/jira-connect-test-tool.git.
  2. 앱을 시작합니다 bundle exec rackup. (앱은 GDK GitLab이 http://127.0.0.1:3000에서 사용 가능해야 합니다).
  3. config/gitlab.yml을 열고 jira_connect 구성을 주석 해제합니다.
  4. localhost 이외의 도메인에서 GDK를 실행하는 경우, 해당 도메인을 additional_iframe_ancestors에 추가해야 합니다. 예를 들어:

    additional_iframe_ancestors: ['localhost:*', '127.0.0.1:*', 'gdk.test:*']
    
  5. GDK를 재시작합니다.
  6. http://127.0.0.1:3000/-/user_settings/personal_access_tokens로 이동합니다.
  7. api 범위로 새로운 토큰을 생성하고 토큰을 복사합니다.
  8. http://localhost:9292로 이동합니다.
  9. 토큰을 붙여넣고 Install GitLab.com Jira Cloud app을 선택합니다.