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 Cloud 간에 동기화하는 방법에 영향을 주지 않습니다.

Jira Data Center 또는 Jira Server의 경우 Atlassian이 개발 및 유지 관리하는 Jira DVCS 커넥터를 사용하십시오.

OAuth 인증 설정

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

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

  1. 왼쪽 사이드바에서 가장 아래쪽에 있는 Admin Area를 선택합니다.
  2. Applications를 선택합니다.
  3. New application을 선택합니다.
  4. Redirect URI에서:
    • 공식 마켓플레이스 목록에서 앱을 설치하는 경우 https://gitlab.com/-/jira_connect/oauth_callbacks를 입력합니다.
    • 앱을 수동으로 설치하는 경우 <instance_url>/-/jira_connect/oauth_callbacks를 입력하고 <instance_url>을 인스턴스의 URL로 대체합니다.
  5. TrustedConfidential 확인란을 지웁니다.

    note
    오류를 피하려면 이 확인란을 지워야 합니다.
  6. Scopes에서 api 확인란만 선택합니다.
  7. Save application을 선택합니다.
  8. Application ID 값을 복사합니다.
  9. 왼쪽 사이드바에서 Settings > General을 선택합니다.
  10. GitLab for Jira App을 확장합니다.
  11. Application ID 값을 Jira Connect Application ID에 붙여넣습니다.
  12. Save changes를 선택합니다.

Jira 사용자 요구 사항

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

Atlassian 조직에서 사용하는 Jira 사용자가 GitLab for Jira Cloud 앱을 설정하는 데 사용될 경우 반드시 다음 중 하나의 조직에 속해 있는지 확인해야 합니다:

  • 조직 관리자(org-admins) 그룹. 최신 Atlassian 조직에서는 중앙 집중식 사용자 관리를 사용하며 여기에 org-admins 그룹이 포함되어 있습니다. 기존 Atlassian 조직은 중앙 집중식 사용자 관리로 이관되고 있습니다. 가능한 경우 org-admins 그룹을 사용하여 어떤 Jira 사용자가 GitLab for Jira 앱을 관리할 수 있는지 나타내야 합니다. 또는 site-admins 그룹을 사용할 수 있습니다.
  • 사이트 관리자(site-admins) 그룹. site-admins 그룹은 원래 사용자 관리에서 사용되었습니다.

필요한 경우:

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

GitLab for Jira Cloud 앱 연결

  • GitLab 15.7에 도입되었습니다.

마켓플레이스에서 GitLab for Jira Cloud 앱을 설치한 후, 자체 관리형 인스턴스를 연결할 수 있습니다. Jira 앱은 마켓플레이스 목록당 하나의 URL에만 연결할 수 있습니다. 공식 목록은 GitLab.com에 연결됩니다.

이 방법으로:

  • GitLab.com이 Jira 트래픽의 프록시로 작동합니다.
  • Jira Cloud에서 브랜치를 생성할 수 없습니다. 자세한 정보는 이슈 391432를 참조하십시오.

GitLab for Jira Cloud 앱 수동으로 설치하기(#install-the-gitlab-for-jira-cloud-app-manually)

다음과 같은 경우에는 GitLab for Jira Cloud 앱을 수동으로 설치해야 합니다.

  • 인스턴스가 필수 구성 요소를 충족하지 않는 경우.
  • 공식 마켓플레이스 목록을 사용하고 싶지 않은 경우.
  • Jira Cloud에서 브랜치를 생성하고 싶은 경우.

Prerequisites

  • 인스턴스가 공개적으로 접근 가능해야 합니다.
  • 인스턴스가 GitLab 버전 15.7 이상이어야 합니다.
  • OAuth 인증을 설정해야 합니다.
  • 인스턴스가 HTTPS를 사용하는 경우, GitLab 인증서가 공개적으로 신뢰되거나 전체 체인 인증서를 포함해야 합니다.
  • 네트워크가 GitLab과 Jira 간의 들어오는 및 나가는 연결을 허용해야 합니다. 인터넷에서 직접 액세스할 수 없는 방화벽 뒤에 있는 자체 관리형 인스턴스의 경우:
    • 방화벽을 열고 Atlassian IP 주소에서의 들어오는 트래픽을 허용해야 합니다.
    • 자체 관리형 인스턴스 앞에 인터넷에 직면한 리버스 프록시를 설정해야 합니다.
    • 방화벽의 허용 목록에 GitLab IP 주소를 추가해야 합니다.
  • 앱을 설치하고 구성하는 Jira 사용자는 특정 요구 사항을 충족해야 합니다.

자체 관리형 인스턴스 설정하기

필수 구성 요소

GitLab 15.7 이상의 자체 관리형 인스턴스를 GitLab for Jira Cloud 앱에 설정하려면 다음을 수행하세요:

  1. 왼쪽 사이드바에서 관리 영역을 선택합니다.
  2. 설정 > 일반을 선택합니다.
  3. GitLab for Jira 앱을 확장합니다.
  4. Jira Connect 프록시 URLhttps://gitlab.com을 입력합니다.
  5. 변경 사항 저장을 선택합니다.

인스턴스 연결하기

필수 구성 요소

자체 관리형 인스턴스를 GitLab for Jira Cloud 앱에 연결하려면 다음을 수행하세요:

  1. GitLab for Jira Cloud 앱을 설치합니다.
  2. GitLab (자체 관리형)를 선택합니다.
  3. GitLab 인스턴스 URL을 입력합니다.
  4. 저장을 선택합니다.
  5. 선택 사항. Jira Cloud이 이제 연결되었는지 확인합니다.

Jira Cloud이 연결되었는지 확인하기

Rails 콘솔을 사용하여 Jira Cloud이 연결되었는지 확인할 수 있습니다.

  • 특정 그룹:

    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 Cloud 앱을 다음 중 하나로 수행해야 합니다:

Prerequisites

  • 인스턴스가 공개적으로 접근 가능해야 합니다.
  • OAuth 인증을 설정해야 합니다.
  • 네트워크가 GitLab과 Jira 간의 들어오는 및 나가는 연결을 허용해야 합니다. 인터넷에서 직접 액세스할 수 없는 방화벽 뒤에 있는 자체 관리형 인스턴스의 경우:
    • 방화벽을 열고 Atlassian IP 주소에서의 들어오는 트래픽을 허용해야 합니다.
    • 자체 관리형 인스턴스 앞에 인터넷에 직면한 리버스 프록시를 설정해야 합니다.
    • 방화벽의 허용 목록에 GitLab IP 주소를 추가해야 합니다.
  • 앱을 설치하고 구성하는 Jira 사용자는 특정 요구 사항을 충족해야 합니다.

개발 모드로 앱 설치

사전 조건

시장 외부에서 앱을 설치할 수 있도록 Jira 인스턴스를 구성하려면:

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

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

    3. 업로드를 선택합니다.
    4. 통합 구성을 위해 시작하기를 선택합니다.
  5. Jira 인스턴스에서 개발 모드를 비활성화합니다.

Apps > 앱 관리에서 GitLab for Jira Cloud가 나타납니다. 또는 GitLab 인스턴스에서 시작하기를 선택하여 구성 페이지를 엽니다.

GitLab 업그레이드로 앱 설명자에 변경이 생기면 앱을 재설치해야 합니다.

시장 목록 작성

사전 조건

개발 모드를 사용하지 않으려면, 자체 시장 목록을 작성할 수 있습니다. 이렇게 하면 Atlassian Marketplace에서 GitLab for Jira Cloud 앱을 설치할 수 있습니다.

시장 목록을 작성하려면:

  1. Atlassian Marketplace 판매자로 등록합니다.
  2. 애플리케이션 설명자 URL로 애플리케이션을 나열합니다.
    • 매니페스트 파일 위치: https://your.domain/your-path/-/jira_connect/app_descriptor.json
    • 공용 애플리케이션은 모든 사용자가 볼 수 있고 설치할 수 있으므로 애플리케이션을 private로 나열해야 합니다.

앞서 설명한 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 인스턴스는 프록시 인스턴스를 가리키기 위해 다음 설정을 구성해야 합니다:

  • Jira Connect 프록시 URL](#set-up-your-instance)
  • 리디렉션 URI](#set-up-oauth-authentication)

보안 고려 사항

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

GitLab.com을 프록시로 사용

GitLab.com을 프록시로 사용하는 경우 Jira 액세스 토큰이 GitLab.com과 공유됩니다.

Jira 액세스 토큰은 요청이 자체 관리형 인스턴스로 전송되기 전에 Jira에서 수신되는지 확인하기 위해 사용되어야 하므로 토큰은 GitLab.com에 저장됩니다. 토큰은 암호화되어 있으며 Jira의 데이터에 액세스하는 데 사용되지 않습니다. 자체 관리형 인스턴스의 데이터는 직접적으로 Jira로 전송됩니다.

OAuth를 통한 GitLab 액세스

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

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

OAuth 애플리케이션은 전체 읽기 및 쓰기 액세스 허용하는 api 스코프를 가져야 합니다. 이 액세스는 그룹 및 프로젝트, 컨테이너 레지스트리 및 패키지 레지스트리를 포함합니다. 그러나 GitLab for Jira Cloud 앱은 이 액세스를 사용하여 다음 작업에만 사용합니다:

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

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

Reverse Proxy 사용

인터넷에 액세스할 수 없는 온프레미스 인스턴스에서 Jira 클라우드 앱을 사용하려면, 온프레미스 인스턴스는 Jira 클라우드에서 접근 가능해야 합니다. Reverse Proxy를 사용할 수 있지만, 다음 사항을 주의하십시오: