Jira 개발 환경 설정

앱을 설치하고 테스트하려면 다음이 필요합니다:

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

    Serveo나 ngrok와 같은 터널링 도구를 사용해서는 절대로 안 됩니다. 이들은 보안 위험이며 개발자 노트북에서 실행해서는 안 됩니다.

    Jira는 앱 호스트로의 모든 연결을 SSL을 통해 수행해야 합니다. 자체 환경을 설정하는 경우 SSL을 활성화하고 적절한 인증서를 사용하도록 합니다.

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. 업로드를 선택합니다.

    설치가 성공하면 Manage 앱 아래에 GitLab for Jira Cloud 앱을 볼 수 있습니다. 또한 시작하기를 선택하여 GitLab 인스턴스에서 렌더링된 구성 페이지를 여실 수 있습니다.

    앱 설명자에 대한 모든 변경은 앱을 제거한 다음 다시 설치해야 합니다.

간단한 설정

Gitpod 및 Jira Cloud 인스턴스와 같은 외부 종속성을 피하려면 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. 토큰을 붙여넣고 GitLab.com Jira Cloud 앱 설치를 선택합니다.

GitLab OAuth 인증 흐름 테스트

  • GitLab 14.9에서 도입되었습니다. 기본적으로 비활성화된 jira_connect_oauth이라는 플래그와 함께.
  • GitLab 16.0에서 일반적으로 사용 가능합니다. 기능 플래그 jira_connect_oauth가 제거되었습니다.

GitLab for Jira 사용자는 GitLab OAuth를 사용하여 GitLab과 인증할 수 있습니다.

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

  1. Gitpod 세션을 시작합니다.
  2. GitLab 인스턴스에서 운영자 > 애플리케이션로 이동합니다.
  3. 다음 설정으로 새 애플리케이션을 생성합니다:
    • 이름: GitLab for Jira
    • 리디렉션 URI: YOUR_GITPOD_INSTANCE/-/jira_connect/oauth_callbacks
    • 신뢰 가능한: 아니요
    • 비밀: 아니요
    • 범위: api
  4. Application ID 값을 복사합니다.
  5. 운영자 > 설정 > 일반으로 이동합니다.
  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_connect_installations를 삭제해야 할 수 있습니다.

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

파일에 액세스 권한이 없음

Gitpod을 사용하고 Jira가 설명자 파일에 액세스할 수 없다는 오류가 발생하는 경우, GDK 포트를 공개하도록 설정해야 할 수 있습니다.

  1. Gitpod에서 GitLab 작업 공간을 엽니다.
  2. GDK가 실행 중인 경우, 오른쪽 하단에 있는 포트를 선택합니다.
  3. 왼쪽 사이드바에서 GDK가 수신 대기 중인 포트(일반적으로 3000)를 선택합니다.
  4. 포트가 비공개로 표시된 경우, 공개로 설정하려면 잠금 아이콘을 선택합니다.