InfoGrab DocsInfoGrab Docs

Jira Cloud 앱용 GitLab 개발 환경 설정

요약

개발자가 GitLab for Jira Cloud 앱의 개발 환경을 구성하는 방법은 다음과 같이 여러 가지가 있습니다. Jira Cloud 인스턴스. 인터넷으로 접근할 수 있는 GitLab 인스턴스. GitLab 팀원은 Serveo 나 ngrok과 같은 터널링 도구를 사용하지 않아야 합니다.

개발자가 GitLab for Jira Cloud 앱의 개발 환경을 구성하는 방법은 다음과 같이 여러 가지가 있습니다.

  1. Jira를 사용하는 전체 환경입니다. Jira와의 상호작용을 테스트해야 할 때 사용합니다.
  2. Jira Connect 프록시를 사용하는 전체 환경입니다. 여러 GitLab 인스턴스가 Jira Connect 프록시를 통해 Jira에 연결되는 상황을 테스트하거나 Jira Connect 프록시 자체의 변경 사항을 테스트할 때 사용합니다.
  3. Jira 없이 구성하는 로컬 환경입니다. 예를 들어 GitLab 프론트엔드를 테스트할 때처럼 Jira가 필요하지 않다면 이 빠른 구성을 사용할 수 있습니다.

Jira를 사용하여 설정#

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

  • Jira Cloud 인스턴스. Atlassian은 개발 및 테스트용 무료 인스턴스를 제공합니다.

  • 인터넷으로 접근할 수 있는 GitLab 인스턴스. 앱이 동작하려면 Jira Cloud가 인터넷을 통해 GitLab 인스턴스에 연결할 수 있어야 합니다. 이를 위해 Gitpod 또는 유사한 클라우드 개발 환경을 사용하는 방법을 권장합니다. GDK와 함께 Gitpod를 사용하는 방법에 대한 자세한 내용은 다음을 참고합니다.

    GitLab 팀원은 Serveo 나 ngrok과 같은 터널링 도구를 사용하지 않아야 합니다. 이러한 도구는 보안 위험이며 GitLab 개발자 노트북에서 실행해서는 안 됩니다.

    Jira는 앱 호스트로 향하는 모든 연결이 SSL 이어야 합니다. 직접 환경을 구성한다면 SSL과 적절한 인증서를 활성화해야 합니다.

GitPod 설정#

Gitpod를 사용한다면 포트 3000을 공개로 설정해야 합니다.

Jira에 앱 설치#

Jira에 앱을 설치하는 방법은 다음과 같습니다.

  1. Atlassian Marketplace에서 제공하지 않는 앱을 설치할 수 있도록 Jira 개발 모드를 활성화합니다.

    1. Jira에서 Jira settings > Apps > Manage apps로 이동합니다.
    2. Manage apps 페이지 하단으로 스크롤해 Settings를 선택합니다.
    3. Enable development mode를 선택한 뒤 Apply를 선택합니다.
  2. 앱을 설치합니다.

    1. Jira에서 Jira settings > Apps > Manage apps로 이동합니다.

    2. Upload app을 선택합니다.

    3. From this URL 필드에 앱 디스크립터 링크를 입력합니다. 호스트와 포트는 사용 중인 GitLab 인스턴스를 가리켜야 합니다.

      예를 들면 다음과 같습니다.

      https://xxxx.gitpod.io/-/jira_connect/app_descriptor.json
      
    4. Upload를 선택합니다.

    설치에 성공하면 Manage apps 아래에 GitLab for Jira Cloud 앱이 표시됩니다. Getting Started를 선택하면 GitLab 인스턴스에서 렌더링된 구성 페이지를 열 수도 있습니다.

    [!note] 앱 디스크립터를 변경하면 앱을 제거한 뒤 다시 설치해야 합니다.

  3. Installed and ready to go! 대화 상자가 열리면서 Get started를 권하더라도 아직 시작하지 말고 Close를 선택합니다.

  4. 이제 OAuth 인증 플로를 설정해야 합니다.

GitLab OAuth 인증 플로 설정#

GitLab for Jira 사용자는 GitLab OAuth를 사용해 GitLab에 인증합니다.

이 단계를 진행하기 전에 Jira에 앱을 설치했는지 확인합니다. 그렇지 않으면 Jira의 앱 설치가 실패합니다.

GitLab OAuth 플로를 테스트할 환경을 구성하는 단계는 다음과 같습니다.

  1. Gitpod 세션을 시작합니다.
  2. GitLab 인스턴스에서 Admin > Applications로 이동합니다.
  3. 다음 설정으로 새 애플리케이션을 만듭니다.
    • Name: GitLab for Jira
    • Redirect URI: YOUR_GITPOD_INSTANCE/-/jira_connect/oauth_callbacks
    • Trusted: No
    • Confidential: No
    • Scopes: api
  4. Application ID 값을 복사합니다.
  5. Admin > Settings > General로 이동합니다.
  6. GitLab for Jira App을 확장합니다.
  7. 복사한 Application ID 값을 Jira Connect Application ID에 붙여 넣습니다.
  8. Jira Connect Proxy URL에 YOUR_GITPOD_INSTANCE를 입력합니다(예: https://xxxx.gitpod.io).
  9. 공개 키 저장 활성화: Leave unchecked.
  10. Save changes를 선택합니다.

Jira에서 앱 설정#

이 단계를 진행하기 전에 OAuth를 설정했는지 확인합니다. 그렇지 않으면 이 단계가 실패합니다.

  1. Jira에서 Jira settings > Apps > Manage apps로 이동합니다.
  2. User-installed apps로 스크롤해 GitLab for Jira Cloud 앱을 찾아 확장합니다.
  3. Get started를 선택합니다.

이제 GitLab 인스턴스로 인증하고 그룹 연결을 시작할 수 있습니다.

문제 해결#

앱 설치 실패#

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

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

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

Gitpod를 사용하는 중에 Jira가 디스크립터 파일에 접근하지 못한다는 오류가 발생하면 GitPod 포트를 공개로 설정해야 합니다.

Jira Connect 프록시 설정#

GitLab Self-Managed 인스턴스가 Atlassian Marketplace에서 GitLab for Jira 앱을 설치하면, 해당 인스턴스는 GitLab.com을 Jira Connect 프록시로 사용해야 합니다. Jira 수명 주기 이벤트 처리나 브랜치 생성과 같은 기능을 개발하거나 테스트해야 한다면 이 구성을 재현할 수 있습니다.

개발용 Jira Connect 프록시를 구성하려면 다음이 필요합니다.

  • Jira Cloud 인스턴스. Atlassian은 개발 및 테스트용 무료 인스턴스를 제공합니다.
  • 인터넷으로 접근할 수 있는 GitLab 인스턴스 두 개.
    • 하나는 Jira Connect proxy 역할을 합니다(GitLab.com을 모사).

    • 다른 하나는 Jira Connect 프록시를 통해 Jira에 연결하는 GitLab instance 역할을 합니다.

    • 앱이 동작하려면 Jira Cloud가 인터넷을 통해 Jira Connect proxy 인스턴스에 연결할 수 있어야 합니다. 이를 위해 Gitpod 또는 유사한 클라우드 개발 환경을 사용하는 방법을 권장합니다. GDK와 함께 Gitpod를 사용하는 방법에 대한 자세한 내용은 다음을 참고합니다.

      GitLab 팀원은 Serveo 나 ngrok과 같은 터널링 도구를 사용하지 않아야 합니다. 이러한 도구는 보안 위험이며 GitLab 개발자 노트북에서 실행해서는 안 됩니다.

      Jira는 앱 호스트로 향하는 모든 연결이 SSL 이어야 합니다. 직접 환경을 구성한다면 SSL과 적절한 인증서를 활성화해야 합니다.

GitPod 설정#

Gitpod를 사용한다면 포트 3000을 공개로 설정해야 합니다.

Jira Connect 프록시 인스턴스 설정#

  1. Jira Connect proxy 인스턴스는 GDK with Gitpod 안내에 따라 새 Gitpod 워크스페이스를 시작합니다.
  2. GitLab OAuth 인증 플로 설정 절을 따라 Jira Connect proxy에서 OAuth 인증을 설정합니다.
  3. Jira Connect proxy를 프록시 역할을 하도록 구성합니다.

Jira에 GitLab for Jira Cloud 앱 설치#

Jira에 앱 설치 절을 따르되, 앱 디스크립터에는 Jira Connect proxy 인스턴스의 URL을 사용합니다.

https://JIRA_CONNECT_PROXY_INSTANCE/-/jira_connect/app_descriptor.json

Installed and ready to go! 대화 상자가 열리면 Close를 선택합니다(아직 Get started를 선택하지 않습니다).

보조 GitLab 인스턴스 설정#

  1. 프록시 인스턴스와 동일한 GDK with Gitpod 안내에 따라 Gitpod로 두 번째 GitLab 인스턴스를 구성합니다

  2. GitLab OAuth 인증 플로 설정과 동일한 단계로 이 인스턴스에서 OAuth 인증을 설정하되, 다음 한 가지가 다릅니다.

    • Redirect URI를 설정할 때 이 보조 인스턴스가 아니라 Jira Connect proxy 인스턴스의 URL을 사용합니다.

      https://JIRA_CONNECT_PROXY_INSTANCE/-/jira_connect/oauth_callbacks
      
  3. 이 GitLab 인스턴스가 프록시를 사용하도록 구성합니다.

    1. Admin > Settings > General로 이동합니다
    2. GitLab for Jira App을 확장합니다
    3. 복사한 Application ID 값을 Jira Connect Application ID에 붙여 넣습니다
    4. Jira Connect Proxy URL에 JIRA_CONNECT_PROXY_INSTANCE를 입력합니다(예: https://xxxx.gitpod.io)
    5. Save changes를 선택합니다

Jira에서 설정 완료#

  1. Jira에서 Jira settings > Apps > Manage apps로 이동합니다.
  2. User-installed apps로 스크롤해 GitLab for Jira Cloud 앱을 찾아 확장합니다.
  3. Get started를 선택합니다.
  4. 앱을 보조 GitLab 인스턴스에 연결하려면 Change GitLab version을 선택합니다.
  5. 모든 체크박스를 선택한 뒤 Next를 선택합니다.
  6. GitLab instance URL에 GITLAB_INSTANCE를 입력한 다음(예: https://xxxx.gitpod.io) Save를 선택합니다.
  7. Sign in to GitLab을 선택합니다.
  8. Authorize를 선택합니다. 이제 그룹 목록이 표시됩니다.
  9. Link groups를 선택합니다.
  10. 그룹에 연결하려면 Link를 선택합니다.

Jira 없이 설정#

테스트에 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. 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을 선택합니다.

Jira Cloud 앱용 GitLab 개발 환경 설정

GitLab v19.4
원문 보기

요약

개발자가 GitLab for Jira Cloud 앱의 개발 환경을 구성하는 방법은 다음과 같이 여러 가지가 있습니다. Jira Cloud 인스턴스. 인터넷으로 접근할 수 있는 GitLab 인스턴스. GitLab 팀원은 Serveo 나 ngrok과 같은 터널링 도구를 사용하지 않아야 합니다.

개발자가 GitLab for Jira Cloud 앱의 개발 환경을 구성하는 방법은 다음과 같이 여러 가지가 있습니다.

  1. Jira를 사용하는 전체 환경입니다. Jira와의 상호작용을 테스트해야 할 때 사용합니다.
  2. Jira Connect 프록시를 사용하는 전체 환경입니다. 여러 GitLab 인스턴스가 Jira Connect 프록시를 통해 Jira에 연결되는 상황을 테스트하거나 Jira Connect 프록시 자체의 변경 사항을 테스트할 때 사용합니다.
  3. Jira 없이 구성하는 로컬 환경입니다. 예를 들어 GitLab 프론트엔드를 테스트할 때처럼 Jira가 필요하지 않다면 이 빠른 구성을 사용할 수 있습니다.

Jira를 사용하여 설정#

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

  • Jira Cloud 인스턴스. Atlassian은 개발 및 테스트용 무료 인스턴스를 제공합니다.

  • 인터넷으로 접근할 수 있는 GitLab 인스턴스. 앱이 동작하려면 Jira Cloud가 인터넷을 통해 GitLab 인스턴스에 연결할 수 있어야 합니다. 이를 위해 Gitpod 또는 유사한 클라우드 개발 환경을 사용하는 방법을 권장합니다. GDK와 함께 Gitpod를 사용하는 방법에 대한 자세한 내용은 다음을 참고합니다.

    GitLab 팀원은 Serveo 나 ngrok과 같은 터널링 도구를 사용하지 않아야 합니다. 이러한 도구는 보안 위험이며 GitLab 개발자 노트북에서 실행해서는 안 됩니다.

    Jira는 앱 호스트로 향하는 모든 연결이 SSL 이어야 합니다. 직접 환경을 구성한다면 SSL과 적절한 인증서를 활성화해야 합니다.

GitPod 설정#

Gitpod를 사용한다면 포트 3000을 공개로 설정해야 합니다.

Jira에 앱 설치#

Jira에 앱을 설치하는 방법은 다음과 같습니다.

  1. Atlassian Marketplace에서 제공하지 않는 앱을 설치할 수 있도록 Jira 개발 모드를 활성화합니다.

    1. Jira에서 Jira settings > Apps > Manage apps로 이동합니다.
    2. Manage apps 페이지 하단으로 스크롤해 Settings를 선택합니다.
    3. Enable development mode를 선택한 뒤 Apply를 선택합니다.
  2. 앱을 설치합니다.

    1. Jira에서 Jira settings > Apps > Manage apps로 이동합니다.

    2. Upload app을 선택합니다.

    3. From this URL 필드에 앱 디스크립터 링크를 입력합니다. 호스트와 포트는 사용 중인 GitLab 인스턴스를 가리켜야 합니다.

      예를 들면 다음과 같습니다.

      https://xxxx.gitpod.io/-/jira_connect/app_descriptor.json
      
    4. Upload를 선택합니다.

    설치에 성공하면 Manage apps 아래에 GitLab for Jira Cloud 앱이 표시됩니다. Getting Started를 선택하면 GitLab 인스턴스에서 렌더링된 구성 페이지를 열 수도 있습니다.

    [!note] 앱 디스크립터를 변경하면 앱을 제거한 뒤 다시 설치해야 합니다.

  3. Installed and ready to go! 대화 상자가 열리면서 Get started를 권하더라도 아직 시작하지 말고 Close를 선택합니다.

  4. 이제 OAuth 인증 플로를 설정해야 합니다.

GitLab OAuth 인증 플로 설정#

GitLab for Jira 사용자는 GitLab OAuth를 사용해 GitLab에 인증합니다.

이 단계를 진행하기 전에 Jira에 앱을 설치했는지 확인합니다. 그렇지 않으면 Jira의 앱 설치가 실패합니다.

GitLab OAuth 플로를 테스트할 환경을 구성하는 단계는 다음과 같습니다.

  1. Gitpod 세션을 시작합니다.
  2. GitLab 인스턴스에서 Admin > Applications로 이동합니다.
  3. 다음 설정으로 새 애플리케이션을 만듭니다.
    • Name: GitLab for Jira
    • Redirect URI: YOUR_GITPOD_INSTANCE/-/jira_connect/oauth_callbacks
    • Trusted: No
    • Confidential: No
    • Scopes: api
  4. Application ID 값을 복사합니다.
  5. Admin > Settings > General로 이동합니다.
  6. GitLab for Jira App을 확장합니다.
  7. 복사한 Application ID 값을 Jira Connect Application ID에 붙여 넣습니다.
  8. Jira Connect Proxy URL에 YOUR_GITPOD_INSTANCE를 입력합니다(예: https://xxxx.gitpod.io).
  9. 공개 키 저장 활성화: Leave unchecked.
  10. Save changes를 선택합니다.

Jira에서 앱 설정#

이 단계를 진행하기 전에 OAuth를 설정했는지 확인합니다. 그렇지 않으면 이 단계가 실패합니다.

  1. Jira에서 Jira settings > Apps > Manage apps로 이동합니다.
  2. User-installed apps로 스크롤해 GitLab for Jira Cloud 앱을 찾아 확장합니다.
  3. Get started를 선택합니다.

이제 GitLab 인스턴스로 인증하고 그룹 연결을 시작할 수 있습니다.

문제 해결#

앱 설치 실패#

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

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

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

Gitpod를 사용하는 중에 Jira가 디스크립터 파일에 접근하지 못한다는 오류가 발생하면 GitPod 포트를 공개로 설정해야 합니다.

Jira Connect 프록시 설정#

GitLab Self-Managed 인스턴스가 Atlassian Marketplace에서 GitLab for Jira 앱을 설치하면, 해당 인스턴스는 GitLab.com을 Jira Connect 프록시로 사용해야 합니다. Jira 수명 주기 이벤트 처리나 브랜치 생성과 같은 기능을 개발하거나 테스트해야 한다면 이 구성을 재현할 수 있습니다.

개발용 Jira Connect 프록시를 구성하려면 다음이 필요합니다.

  • Jira Cloud 인스턴스. Atlassian은 개발 및 테스트용 무료 인스턴스를 제공합니다.
  • 인터넷으로 접근할 수 있는 GitLab 인스턴스 두 개.
    • 하나는 Jira Connect proxy 역할을 합니다(GitLab.com을 모사).

    • 다른 하나는 Jira Connect 프록시를 통해 Jira에 연결하는 GitLab instance 역할을 합니다.

    • 앱이 동작하려면 Jira Cloud가 인터넷을 통해 Jira Connect proxy 인스턴스에 연결할 수 있어야 합니다. 이를 위해 Gitpod 또는 유사한 클라우드 개발 환경을 사용하는 방법을 권장합니다. GDK와 함께 Gitpod를 사용하는 방법에 대한 자세한 내용은 다음을 참고합니다.

      GitLab 팀원은 Serveo 나 ngrok과 같은 터널링 도구를 사용하지 않아야 합니다. 이러한 도구는 보안 위험이며 GitLab 개발자 노트북에서 실행해서는 안 됩니다.

      Jira는 앱 호스트로 향하는 모든 연결이 SSL 이어야 합니다. 직접 환경을 구성한다면 SSL과 적절한 인증서를 활성화해야 합니다.

GitPod 설정#

Gitpod를 사용한다면 포트 3000을 공개로 설정해야 합니다.

Jira Connect 프록시 인스턴스 설정#

  1. Jira Connect proxy 인스턴스는 GDK with Gitpod 안내에 따라 새 Gitpod 워크스페이스를 시작합니다.
  2. GitLab OAuth 인증 플로 설정 절을 따라 Jira Connect proxy에서 OAuth 인증을 설정합니다.
  3. Jira Connect proxy를 프록시 역할을 하도록 구성합니다.

Jira에 GitLab for Jira Cloud 앱 설치#

Jira에 앱 설치 절을 따르되, 앱 디스크립터에는 Jira Connect proxy 인스턴스의 URL을 사용합니다.

https://JIRA_CONNECT_PROXY_INSTANCE/-/jira_connect/app_descriptor.json

Installed and ready to go! 대화 상자가 열리면 Close를 선택합니다(아직 Get started를 선택하지 않습니다).

보조 GitLab 인스턴스 설정#

  1. 프록시 인스턴스와 동일한 GDK with Gitpod 안내에 따라 Gitpod로 두 번째 GitLab 인스턴스를 구성합니다

  2. GitLab OAuth 인증 플로 설정과 동일한 단계로 이 인스턴스에서 OAuth 인증을 설정하되, 다음 한 가지가 다릅니다.

    • Redirect URI를 설정할 때 이 보조 인스턴스가 아니라 Jira Connect proxy 인스턴스의 URL을 사용합니다.

      https://JIRA_CONNECT_PROXY_INSTANCE/-/jira_connect/oauth_callbacks
      
  3. 이 GitLab 인스턴스가 프록시를 사용하도록 구성합니다.

    1. Admin > Settings > General로 이동합니다
    2. GitLab for Jira App을 확장합니다
    3. 복사한 Application ID 값을 Jira Connect Application ID에 붙여 넣습니다
    4. Jira Connect Proxy URL에 JIRA_CONNECT_PROXY_INSTANCE를 입력합니다(예: https://xxxx.gitpod.io)
    5. Save changes를 선택합니다

Jira에서 설정 완료#

  1. Jira에서 Jira settings > Apps > Manage apps로 이동합니다.
  2. User-installed apps로 스크롤해 GitLab for Jira Cloud 앱을 찾아 확장합니다.
  3. Get started를 선택합니다.
  4. 앱을 보조 GitLab 인스턴스에 연결하려면 Change GitLab version을 선택합니다.
  5. 모든 체크박스를 선택한 뒤 Next를 선택합니다.
  6. GitLab instance URL에 GITLAB_INSTANCE를 입력한 다음(예: https://xxxx.gitpod.io) Save를 선택합니다.
  7. Sign in to GitLab을 선택합니다.
  8. Authorize를 선택합니다. 이제 그룹 목록이 표시됩니다.
  9. Link groups를 선택합니다.
  10. 그룹에 연결하려면 Link를 선택합니다.

Jira 없이 설정#

테스트에 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. 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을 선택합니다.