Jira 개발 환경 설정

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

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

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

    설치가 성공하면 Jira 클라우드용 GitLab 앱이 앱 관리 아래에 표시됩니다. 또한 시작하기를 선택하여 GitLab 인스턴스에서 생성된 구성 페이지를 열 수 있습니다.

    앱 기술자에 대한 변경 내용을 적용하려면 앱을 다시 설치해야 합니다.

간단한 설정

Gitpod 및 Jira 클라우드 인스턴스와 같은 외부 의존성을 피하려면 Jira connect test tool 및 로컬 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. additional_iframe_ancestorslocalhost와 같은 도메인을 추가해야 하는 경우 localhost를 포함시킵니다. 예:

    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 클라우드 앱 설치를 선택합니다.

GitLab OAuth 인증 흐름 테스트

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

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

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

  1. Gitpod 세션을 시작합니다.
  2. GitLab 인스턴스에서 관리자 > 애플리케이션으로 이동합니다.
  3. 다음과 같은 설정으로 새 애플리케이션을 생성합니다:
    • 이름: GitLab for Jira
    • 리디렉션 URI: YOUR_GITPOD_INSTANCE/-/jira_connect/oauth_callbacks
    • 신뢰할 수 있는: 아니요
    • 비밀: 아니요
    • 스코프: api
  4. 애플리케이션 ID 값을 복사합니다.
  5. 관리자 > 설정 > 일반으로 이동합니다.
  6. Jira for GitLab 앱을 확장합니다.
  7. 애플리케이션 ID 값을 Jira Connect 애플리케이션 ID에 붙여넣습니다.
  8. Jira Connect 프록시 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. 포트가 비공개로 표시되면 잠금 아이콘을 선택하여 공개로 설정합니다.