GitLab for Jira Cloud 앱 관리

Tier: Free, Premium, Ultimate Offering: Self-managed
note
이 페이지에는 GitLab for Jira Cloud 앱의 관리자 문서가 포함되어 있습니다. 사용자 문서는 GitLab for Jira Cloud 앱을 참조하십시오.

GitLab for Jira Cloud 앱을 사용하면 GitLab과 Jira Cloud를 연결하여 개발 정보를 실시간으로 동기화할 수 있습니다. 이 정보는 Jira 개발 패널에서 확인할 수 있습니다.

GitLab for Jira Cloud 앱을 사용하여 최상위 그룹 또는 하위 그룹을 연결할 수 있습니다. 프로젝트나 개인 네임스페이스를 직접 연결할 수는 없습니다.

Self-managed 인스턴스에 GitLab for Jira Cloud 앱을 설정하려면 다음 중 하나를 수행하십시오:

앱을 설정한 후에는 Atlassian에서 유지 및 관리되는 프로젝트 도구 체인을 사용하여 GitLab 리포지터리를 Jira 프로젝트에 연결할 수 있습니다. 프로젝트 도구 체인은 GitLab과 Jira Cloud 간의 개발 정보 동기화에 영향을 주지 않습니다.

Jira Data Center 또는 Jira Server의 경우 Atlassian에서 유지하고 개발된 Jira DVCS 연결기를 사용하십시오.

OAuth 인증 설정

다음을 위해 OAuth 인증을 설정해야 합니다:

Self-managed 인스턴스에서 OAuth 애플리케이션을 만들려면:

  1. 왼쪽 사이드바에서 아래쪽에서 관리 영역을 선택합니다.
  2. 애플리케이션을 선택합니다.
  3. 새 애플리케이션을 선택합니다.
  4. 리디렉션 URI에서:
    • 공식 마켓플레이스 디렉터리에서 앱을 설치하는 경우 https://gitlab.com/-/jira_connect/oauth_callbacks를 입력합니다.
    • 앱을 매뉴얼으로 설치하는 경우 <인스턴스_URL>/-/jira_connect/oauth_callbacks을 입력하고 <인스턴스_URL>을 인스턴스의 URL로 대체합니다.
  5. 신뢰할 수 있는기밀 확인란을 해제합니다.

    note
    오류를 피하려면 이 확인란을 해제해야 합니다.
  6. 범위에서 api 확인란만 선택합니다.
  7. 애플리케이션 저장을 선택합니다.
  8. 설정 > 일반을 선택합니다.
  9. GitLab for Jira 앱을 확장합니다.
  10. Jira Connect 애플리케이션 ID애플리케이션 ID 값을 붙여넣습니다.
  11. 변경 저장을 선택합니다.

Jira 사용자 요구 사항

  • GitLab 16.6에서 도입된 org-admins 그룹 지원.

Atlassian 조직에서 GitLab for Jira Cloud 앱을 설정하는 데 사용되는 Jira 사용자가 다음 중 하나의 그룹의 구성원인지 확인해야 합니다:

  • 조직 관리자 (org-admins) 그룹. 최신 Atlassian 조직에서는 중앙 사용자 관리를 사용하며 org-admins 그룹이 포함되어 있습니다. 기존 Atlassian 조직은 중앙 사용자 관리로 마이그레이션됩니다. 가능하면 Jira 사용자가 GitLab for Jira 앱을 관리할 수 있는 org-admins 그룹을 사용해야 합니다. 대안으로 site-admins 그룹을 사용할 수 있습니다.
  • 사이트 관리자 (site-admins) 그룹. site-admins 그룹은 원래 사용자 관리에서 사용되었습니다.

필요한 경우:

  1. 원하는 그룹을 만듭니다.
  2. 그룹을 편집하여 Jira 사용자를 구성원으로 추가합니다.
  3. Jira에서 글로벌 권한을 사용자 정의한 경우 사용자 및 그룹 찾아보기 권한을 Jira 사용자에게 부여해야 할 수도 있습니다.

GitLab for Jira Cloud 앱 연결

  • GitLab 15.7에서 도입됨.

GitLab for Jira Cloud 앱을 마켓플레이스에서 설치한 후 Self-managed 인스턴스를 연결할 수 있습니다. Jira 앱은 마켓플레이스 디렉터리 당 한 URL에만 링크를 할 수 있습니다. 공식 디렉터리은 GitLab.com에 링크합니다.

이 방법으로는:

  • GitLab.com이 인스턴스에서 Jira 트래픽의 프록시 역할을 합니다.
  • Jira Cloud에서 브랜치를 만드는 것은 불가능합니다. 자세한 내용은 issue 391432을 확인하십시오.

다음 중 하나에 해당하는 경우 GitLab for Jira Cloud 앱 매뉴얼 설치:

  • 인스턴스가 필수 구성 요건을 충족하지 않는 경우.
  • 공식 마켓플레이스 디렉터리을 사용하고 싶지 않은 경우.
  • Jira Cloud에서 브랜치를 만들고 싶은 경우.

Prerequisites (필수 요구 사항)

  • 인스턴스가 공개적으로 액세스 가능해야 합니다.
  • 인스턴스는 GitLab 버전 15.7 이상이어야 합니다.
  • OAuth 인증을 설정해야 합니다.
  • 인스턴스가 HTTPS를 사용하는 경우 GitLab 인증서가 공개적으로 신뢰할 수 있거나 전체 체인 인증서를 포함해야 합니다.
  • 네트워크에서 GitLab과 Jira 간의 들어오고 나가는 연결을 허용해야 합니다. 인터넷에서 직접 액세스할 수 없는 방화벽 뒤에 있는 Self-managed 인스턴스의 경우:
    • 방화벽을 열고 Atlassian IP 주소에서의 들어오는 트래픽을 허용해야 합니다.
    • Self-managed 인스턴스 앞에 인터넷에 직접 액세스할 수 없는 리버스 프록시를 설정해야 합니다.
    • 방화벽의 허용 디렉터리에 GitLab IP 주소를 추가해야 합니다.

인스턴스 설정

전제 조건

GitLab 15.7 이후의 버전을 사용하여 GitLab for Jira Cloud 앱을 위한 Self-managed 인스턴스를 설정하려면 다음을 수행합니다.

  1. 왼쪽 사이드바에서 아래쪽으로 이동하여 관리 영역을 선택합니다.
  2. 설정 > 일반을 선택합니다.
  3. GitLab for Jira 앱을 확장합니다.
  4. Jira Connect Proxy URL에서 https://gitlab.com을 입력합니다.
  5. 변경 사항 저장을 선택합니다.

인스턴스 연결

Prerequisites

Self-managed 인스턴스를 GitLab for Jira Cloud 앱에 연결하려면 다음을 수행합니다:

  1. GitLab for Jira Cloud 앱을 설치합니다.
  2. GitLab (Self-managed)를 선택합니다.
  3. GitLab 인스턴스 URL을 입력합니다.
  4. 저장을 선택합니다.
  5. 선택 사항. 지라 클라우드가 이제 연결되었는지 확인.

지라 클라우드가 연결되었는지 확인

Rails 콘솔을 사용하여 다음을 확인할 수 있습니다:

  • 특정 그룹:

    JiraConnectSubscription.where(namespace: Namespace.by_path('group/subgroup'))
    
  • 특정 프로젝트:

    Project.find_by_full_path('path/to/project').jira_subscription_exists?
    
  • 모든 그룹:

    installation = JiraConnectInstallation.find_by_base_url("https://customer_name.atlassian.net")
    installation.subscriptions
    

GitLab for Jira Cloud 앱 매뉴얼으로 설치

공식 마켓플레이스 디렉터리 사용하지 않으려면, GitLab for Jira Cloud 앱을 매뉴얼으로 설치합니다.

Jira 클라우드 앱을 각 위치에서 설치해야 합니다. Jira는 제공한 위치에서 매니페스트 파일을 가져옵니다. 매니페스트 파일은 시스템에 앱을 설명합니다.

Self-managed 인스턴스를 지라 클라우드에서 지원하려면 다음 중 하나를 수행합니다:

전제 조건

  • 인스턴스는 공개적으로 이용 가능해야 합니다.
  • OAuth 인증 설정을 해야 합니다.
  • 네트워크에서 GitLab과 Jira 사이의 들어오는 및 나가는 연결을 허용해야 합니다. 인터넷에서 직접 액세스할 수없는 방화벽 뒤에 있는 Self-managed 인스턴스의 경우:
  • 앱을 설치하고 구성하는 Jira 사용자는 특정 요구 사항을 충족해야 합니다.

개발 모드에서 앱 설치

전제 조건

Jira 인스턴스를 구성하여 마켓플레이스 외부에서 앱을 설치할 수 있도록합니다:

  1. 관리자로서 Jira 인스턴스에 로그인합니다.
  2. 개발 모드를 활성화합니다.
  3. 관리자로서 GitLab에 로그인합니다.
  4. GitLab을 Jira 인스턴스에서 설치:
    1. Jira 인스턴스에서 앱 > 앱 관리로 이동하여 앱 업로드를 선택합니다.
    2. 앱 설명자 URL에서 인스턴스 구성에 따라 매니페스트 파일의 전체 URL을 제공합니다.

      매니페스트 파일은 기본적으로 /-/jira_connect/app_descriptor.json에 위치합니다. 예를 들어, GitLab Self-managed 인스턴스 도메인이 app.pet-store.cloud인 경우, 매니페스트 파일은 https://app.pet-store.cloud/-/jira_connect/app_descriptor.json에 위치합니다.

    3. 업로드를 선택합니다.
    4. 통합을 구성하도록 시작하기를 선택합니다.
  5. 개발 모드를 비활성화합니다.

앱 > 앱 관리에서 GitLab for Jira Cloud이 나타납니다. 또한 GitLab에서 구성 페이지를 열기 위해 시작하기를 선택할 수 있습니다.

GitLab 업그레이드로 인해 앱 설명자에 변경 사항이 발생하면 앱을 다시 설치해야 합니다.

마켓플레이스 디렉터리 작성

전제 조건

개발 모드를 사용하지 않으려면 직접 마켓플레이스 디렉터리을 작성할 수 있습니다. 이 방법을 사용하면 Atlassian 마켓플레이스에서 GitLab for Jira Cloud 앱을 설치할 수 있습니다.

마켓플레이스 디렉터리을 작성하려면 다음을 수행합니다:

  1. Atlassian 마켓플레이스 업체로 등록합니다.
  2. 애플리케이션 설명자 URL로 애플리케이션을 디렉터리에 추가합니다.
    • 매니페스트 파일의 위치: https://your.domain/your-path/-/jira_connect/app_descriptor.json
    • 퍼블릭 애플리케이션은 모든 사용자가 볼 수 있고 설치할 수 있기 때문에 애플리케이션을 private로 디렉터리에 추가해야 합니다.
  3. 애플리케이션에 대한 테스트 라이선스 토큰을 생성합니다.

GitLab.com 마켓플레이스 디렉터리과 같이, 이 방법은 자동 업데이트를 사용합니다.

마켓플레이스 디렉터리 작성에 대한 자세한 정보는 Atlassian 문서를 참조하십시오.

GitLab 인스턴스를 프록시로 구성

GitLab 인스턴스는 GitLab for Jira Cloud 앱을 통해 다른 GitLab 인스턴스를 위한 프록시로 사용할 수 있습니다. 여러 GitLab 인스턴스를 관리하지만 앱을 한 번만 매뉴얼으로 설치하려는 경우 프록시를 사용하려고 할 수 있습니다.

GitLab 인스턴스를 프록시로 구성하려면 다음을 수행합니다:

  1. 왼쪽 사이드바에서 아래쪽으로 이동하여 관리 영역을 선택합니다.
  2. 설정 > 일반을 선택합니다.
  3. GitLab for Jira 앱을 확장합니다.
  4. 공개 키 저장 활성화를 선택합니다.
  5. 변경 사항 저장을 선택합니다.
  6. GitLab for Jira Cloud 앱을 매뉴얼으로 설치합니다.

프록시를 사용하는 다른 GitLab 인스턴스는 다음 설정을 프록시 인스턴스를 가리키도록 구성해야 합니다:

보안 고려 사항

GitLab for Jira Cloud 앱은 GitLab과 Jira를 연결합니다. 데이터는 두 애플리케이션 간에 공유되어야 하며 양방향으로 접근이 허용되어야 합니다.

GitLab.com을 프록시로 사용

GitLab.com을 프록시로 사용할 때, Jira 액세스 토큰이 GitLab.com과 공유됩니다.

Jira 액세스 토큰은 GitLab.com에 저장됩니다. 이는 토큰이 Self-managed 인스턴스로 전송되기 전에 Jira로부터의 요청을 확인해야 하기 때문입니다. 토큰은 암호화되며 Jira의 데이터에 액세스하는 데 사용되지 않습니다. Self-managed 인스턴스의 모든 데이터는 직접 Jira로 전송됩니다.

OAuth를 통한 GitLab 접근

GitLab은 Jira와 액세스 토큰을 공유하지 않습니다. 그러나 사용자는 앱을 구성하기 위해 OAuth를 통해 인증해야 합니다.

액세스 토큰은 PKCE OAuth 플로우를 통해 검색되며 클라이언트 측에만 저장됩니다. OAuth 플로우를 초기화하는 앱 프론트엔드는 Jira의 iframe에서 GitLab로부터 로드되는 JavaScript 애플리케이션입니다.

OAuth 애플리케이션에는 API에 대한 완전한 읽기 및 쓰기 액세스를 부여하는 api 스코프가 있어야 합니다. 이 액세스에는 모든 그룹 및 프로젝트, 컨테이너 레지스트리 및 패키지 레지스트리가 포함됩니다. 그러나 GitLab for Jira Cloud 앱은 이 액세스를 다음과 같이 사용합니다:

  • 링크할 그룹을 표시합니다.
  • 그룹을 링크합니다.

OAuth를 통한 액세스는 사용자가 GitLab for Jira Cloud 앱을 구성하는 동안에만 필요합니다. 자세한 내용은 액세스 토큰 만료를 참조하십시오.

역방향 프록시 사용

인터넷에서 액세스할 수 없는 Self-managed 인스턴스에서 GitLab for Jira Cloud 앱을 사용하려면 해당 인스턴스는 Jira Cloud에서 접근 가능해야 합니다. 역방향 프록시를 사용할 수 있지만 다음 사항을 유의해야 합니다: