Jira 마이그레이션 옵션
GitLab v19.1Offering: GitLab.com, GitLab Self-Managed, GitLab Dedicated
Jira 프로젝트를 GitLab으로 마이그레이션하기 위한 여러 옵션이 있습니다. Jira 이슈를 마이그레이션하기로 결정했다면, 다음과 같은 여러 마이그레이션 옵션 중에서 선택할 수 있습니다: GitLab Jira 가져오기 도구를 사용합니다.
Jira 프로젝트를 GitLab으로 마이그레이션하기 위한 여러 옵션이 있습니다. 마이그레이션 전략을 결정하기 전에, Jira 이슈를 GitLab으로 옮겨야 하는지 먼저 판단하세요. 많은 경우, Jira 이슈 데이터는 더 이상 관련성이 없거나 실행 가능하지 않을 수 있습니다. GitLab에서 새로 시작하면, GitLab 사용의 이점을 극대화할 수 있도록 프로세스와 워크플로를 설정하는 데 집중할 수 있습니다.
Jira 이슈를 마이그레이션하기로 결정했다면, 다음과 같은 여러 마이그레이션 옵션 중에서 선택할 수 있습니다:
-
GitLab Jira 가져오기 도구를 사용합니다.
-
CSV 파일을 가져옵니다.
-
GitLab Professional Services에 마이그레이션을 맡깁니다.
-
서드파티 서비스를 사용하여 단방향 또는 양방향 데이터 동기화 프로세스를 구축합니다.
-
서드파티 스크립트를 사용합니다.
-
직접 스크립트를 작성합니다.
GitLab Jira 가져오기 도구 사용#
GitLab에는 Jira 이슈 데이터를 가져오는 내장 도구가 있습니다. GitLab Jira 가져오기 도구를 사용하려면:
전체 프로세스 데모를 시청할 수 있습니다: Jira 프로젝트 이슈를 GitLab으로 가져오기
CSV 파일 가져오기#
CSV 파일에서 Jira 이슈 데이터를 GitLab 프로젝트로 가져오려면:
- Jira 데이터를 내보냅니다:
Jira 인스턴스에 로그인하고 마이그레이션할 프로젝트로 이동합니다.
-
프로젝트 데이터를 CSV 파일로 내보냅니다.
-
CSV 파일을 GitLab CSV 가져오기 도구에 필요한 칼럼 이름에 맞게 편집합니다.
title, description, due_date, milestone만 가져옵니다.
-
가져오기 프로세스 중에 다른 이슈 메타데이터를 자동으로 설정하려면 설명 필드에 빠른 작업을 추가할 수 있습니다.
-
새 GitLab 그룹과 프로젝트를 생성합니다:
GitLab 계정에 로그인하고 마이그레이션된 프로젝트를 호스팅할 그룹을 생성합니다.
-
새 그룹에서 마이그레이션된 Jira 이슈를 보관할 새 프로젝트를 생성합니다.
-
Jira 데이터를 GitLab으로 가져옵니다:
새 GitLab 프로젝트의 왼쪽 사이드바에서 Plan > Work items를 선택합니다.
-
Actions ( ellipsis_v ) > Import from Jira를 선택합니다.
-
화면의 안내에 따라 가져오기 프로세스를 완료합니다.
-
마이그레이션을 확인합니다:
가져온 이슈를 검토하여 프로젝트가 GitLab으로 성공적으로 마이그레이션되었는지 확인합니다.
-
GitLab에서 마이그레이션된 Jira 프로젝트의 기능을 테스트합니다.
-
워크플로와 설정을 조정합니다:
다음과 같이 GitLab 프로젝트 설정을 사용자 지정합니다:
-
라벨.
-
마일스톤.
-
팀이 GitLab 인터페이스와 마이그레이션으로 도입된 새 워크플로 또는 프로세스에 익숙해지도록 합니다.
-
마이그레이션에 만족하면, Jira 인스턴스를 종료하고 GitLab으로 완전히 전환할 수 있습니다.
GitLab Professional Services에 마이그레이션 맡기기#
개요를 확인하려면 Jira 마이그레이션 서비스 데이터 시트를 참조하세요.
개인화된 견적을 받으려면 GitLab Professional Services 페이지를 방문하고 Request Service를 선택하세요.
서드파티 서비스를 사용한 단방향 또는 양방향 데이터 동기화 구축#
Jira와 GitLab 간의 단방향 또는 양방향 데이터 동기화를 구축하려면 다음 서드파티 서비스를 사용할 수 있습니다:
-
Unito.io: GitLab + Jira 통합 문서, GitLab + Jira 양방향 동기화 Marketplace 애드온
-
Getint: GitLab Jira 동기화 Marketplace 애드온
서드파티 스크립트 사용#
사용 가능한 오픈소스 마이그레이션 스크립트를 사용하여 Jira 이슈를 GitLab으로 마이그레이션할 수 있습니다.
많은 고객이 jira2gitlab을 사용하여 성공적으로 마이그레이션했습니다.
전체 프로세스 데모를 시청하세요: Jira2GitLab로 Jira에서 GitLab으로 마이그레이션
자체 스크립트(first-party) 사용#
GitLab Professional Services는 앞서 언급한 jira2gitlab 스크립트의 포크인 Jira2Lab을 개발했습니다:
Jira2Lab README에 명시된 바와 같이:
마이그레이션 요구사항에 가장 적합한 도구를 찾기 위해 두 도구를 비교해 보시기를 권장합니다.
직접 스크립트 작성#
마이그레이션 프로세스를 완전히 제어하려면, 요구사항에 정확히 맞는 방식으로 Jira 이슈를 GitLab으로 마이그레이션하는 커스텀 스크립트를 직접 작성할 수 있습니다. GitLab은 마이그레이션 자동화를 위한 API를 제공합니다:
시작하려면 다음 GitLab API 엔드포인트를 숙지하세요:
스크립트를 작성할 때 Jira 이슈 필드를 해당 GitLab 동등 항목에 매핑해야 합니다. 다음은 몇 가지 팁입니다:
-
고정된 옵션 수를 가진 사용자 정의 필드: 필드 이름을 범위 지정 라벨 키로, 필드 값을 범위 지정 라벨 집합 값으로 사용하는 범위 지정 라벨 집합을 생성합니다(예:
input name::value1,input name::value2). -
문자열 또는 정수 값을 가진 사용자 정의 필드: 이슈 설명의 섹션에 사용자 정의 필드 이름과 값을 삽입합니다.
-
상태(Status): 상태를 범위 지정 라벨 키로, 상태 값을 범위 지정 라벨 집합 값으로 사용하는 범위 지정 라벨을 생성합니다(예:
status::in progress). -
우선순위(Priority): 우선순위를 범위 지정 라벨 키로, 우선순위 값을 범위 지정 라벨 집합 값으로 사용하는 범위 지정 라벨을 생성합니다(예:
priority::1). -
스토리 포인트(Story Point): 이 값을 GitLab 이슈의 weight 값에 매핑합니다.
-
스프린트(Sprint): 이 값을 GitLab 이슈의 iteration 값에 매핑합니다. 이 값은 완료되지 않았거나 미래 스프린트에 예약된 이슈에만 의미가 있습니다. 데이터를 가져오기 전에, 프로젝트의 상위 그룹에 필요한 이터레이션을 생성하세요.
Atlassian Document Format을 파싱하여 GitLab Flavored Markdown으로 매핑하는 처리도 필요할 수 있습니다. 이에 접근하는 방법은 다양합니다. 참고 사항으로, 예시 커밋을 검토하세요. 이 커밋은 GitLab Jira 가져오기 도구를 위해 Atlassian Document Format을 GitLab Flavored Markdown으로 파싱하는 메서드를 추가했습니다.
GitLab을 로컬에서 실행하는 경우, Rails 콘솔에서 Atlassian Document Format을 GitLab Flavored Markdown으로 수동으로 변환할 수도 있습니다. 이를 위해 다음을 실행하세요:
text = <document in Atlassian Document Format>
project = <project that wiki is in> or nil
Banzai.render(text, pipeline: :adf_commonmark, project: project)