GitLab for Jira Cloud 앱 개발

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

  1. Jira와 함께 설정하기(#Jira와 함께 설정). 이 옵션은 Jira와의 상호 작용을 테스트해야 하는 경우에 사용합니다.
  2. Jira 없이 로컬 환경 설정하기(#Jira 없이 설정). Jira가 필요하지 않은 경우 더 빠른 설정을 할 수 있습니다. 예를 들어, GitLab 프론트엔드를 테스트할 때 사용할 수 있습니다.

Jira와 함께 설정

앱을 설치하려면 다음이 필요합니다:

  • Jira 클라우드 인스턴스. Atlassian은 무료 개발 및 테스트용 인스턴스를 제공합니다.
  • 인터넷을 통해 접근할 수 있는 GitLab 인스턴스. 앱이 작동하려면 Jira 클라우드가 인터넷을 통해 GitLab 인스턴스에 연결할 수 있어야 합니다. 이를 위해 Gitpod나 유사한 클라우드 개발 환경을 사용하는 것을 권장합니다. Gitpod를 GDK와 사용하는 자세한 정보는 다음을 참조하세요:

    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. 이제 GitLab OAuth 인증 흐름 설정을 진행해야 합니다.

GitLab OAuth 인증 흐름 설정

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

이러한 단계를 수행하기 전에 Jira에 앱을 설치해야 합니다. 그렇지 않으면 Jira에서 앱 설치가 실패합니다.

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

  1. Gitpod 세션을 시작합니다.
  2. GitLab 인스턴스에서 관리 > 응용 프로그램으로 이동합니다.
  3. 다음과 같이 새 응용 프로그램을 만듭니다:
    • 이름: GitLab for Jira
    • 리디렉션 URI: YOUR_GITPOD_INSTANCE/-/jira_connect/oauth_callbacks
    • 신뢰할 수 있는 앱: 아니오
    • 기밀: 아니오
    • 범위: api
  4. 애플리케이션 ID 값을 복사합니다.
  5. 관리 > 설정 > 일반으로 이동합니다.
  6. GitLab for Jira App을 확장합니다.
  7. Application ID 값을 Jira Connect Application ID에 붙여넣습니다.
  8. Jira Connect Proxy URLYOUR_GITPOD_INSTANCE(예: https://xxxx.gitpod.io)를 입력합니다.
  9. 공개 키 저장 활성화: 확인하지 않음 선택
  10. 변경 사항 저장을 선택합니다.

Jira에서 앱 설정하기

이러한 단계가 실패하지 않으려면 먼저 OAuth를 설정해야 합니다.

  1. Jira에서 Jira 설정 > 앱 > 앱 관리로 이동합니다.
  2. 사용자 설치 앱으로 스크롤하여 GitLab for Jira Cloud 앱을 찾고 확장합니다.
  3. 시작하기를 선택합니다.

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

문제 해결

앱 설치 실패

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

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

파일에 액세스할 수 없는 권한이 없음

Gitpod을 사용하여 서술자 파일에 액세스할 수 없다는 오류가 발생하는 경우 GitPod 포트를 공개로 만들어야 합니다.

Jira가 없이 설정

Jira를 테스트하기 위해 Jira 연결 테스트 도구와 로컬 GDK를 사용하지 않으려면 Jira connect test tool을 사용할 수 있습니다.

  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을 선택합니다.