콘텐츠로 이동

Pivotal Tracker, Jira 및 다른 트래커에서 이전하기

Pivotal Tracker, Jira, Linear, Asana, Trello, Shortcut, GitLab, Plane 또는 GitHub에서 East Agile Tracker로 옮기시나요? 먼저 드라이런 미리보기로 익스포트를 가져오세요 — 각 소스에서 무엇이 넘어오고 무엇이 남는지.

East Agile Tracker는 열한 가지 소스에서 가져올 수 있습니다. 열 가지는 다른 도구가 이미 만들어 내는 익스포트 파일을 읽고, GitHub는 저장소에 직접 연결합니다. 모든 소스가 같은 화면과 같은 미리보기를 거치므로, 아래 단계는 그 전부에 적용됩니다. 그 뒤의 섹션들은 각 소스에서 무엇이 넘어오는지 정리합니다.

  1. 다른 도구에서 작업을 내보냅니다 — 사용할 메뉴는 아래 해당 소스의 섹션에 나와 있습니다.
  2. 스토리를 넣고 싶은 프로젝트에서 Project Settings → Import / Export를 엽니다. 필요하면 빈 프로젝트를 먼저 만드세요.
  3. 소스를 고르고 익스포트 파일을 지정합니다.
  4. 드라이런 미리보기를 실행합니다. 파일 전체를 파싱해 실제 가져오기가 무엇을 할지 보고합니다 — 스토리와 라벨이 몇 개, 건너뛴 행이 몇 개, 그리고 멤버와 일치시킬 수 없었던 사람 — 그러고는 아무것도 쓰지 않습니다.
  5. 가져옵니다.

Jira를 소스로 선택하고 내보내기 파일을 지정해 미리 보기나 가져오기를 할 준비가 된 Import / Export 탭

미리 보기 보고서: 스토리 8개와 라벨 3개를 가져올 예정이며 건너뛴 행은 없고, 일치하지 않은 사람이 한 명

같은 파일을 다시 가져와도 안전합니다. 이미 가져온 행은 소스 id로 매칭되어 건너뛰므로, 두 번째 실행은 프로젝트를 중복시키는 대신 채워 넣습니다.

업로드는 10 MiB, 한 번의 가져오기는 5,000 스토리로 제한됩니다. 그보다 큰 이전은 배치로 나누며, 다시 가져오기가 멱등이므로 배치가 겹쳐도 중복이 생기지 않습니다.

  • 스토리, 상태, 라벨. 각 행이나 카드는 스토리가 되고, 그 상태는 unstarted → started → finished → delivered → accepted 루프에서 가장 가까운 상태에 놓이며, 라벨도 함께 넘어옵니다. 취소되었거나 won’t-fix인 상태는 rejected이면서 보관된 채로 도착하므로, 포기한 작업은 보드에도 속도에도 들어가지 않습니다.
  • 소유자. 멤버와 일치하는 이메일이 담긴 칸은 그 멤버를 붙입니다. 그 밖의 값 — 표시 이름, 사용자 이름 — 은 표시 전용 외부 인물을 붙이므로, 여기에 계정이 없는 사람에 대해서도 누가 무엇을 맡았는지가 남습니다.
  • 날짜. 생성일과 완료일을 가져오므로 과거 이터레이션과 그것을 읽는 차트가 비어 있지 않고 채워집니다.
  • 이터레이션. 익스포트에 스프린트나 사이클이 담긴 모든 소스에서 넘어옵니다.

요청자, 댓글, 에픽, 작업은 소스에 따라 다르며, 어느 것이 넘어오는지는 아래 해당 소스의 섹션에 나와 있습니다.

  • 첨부 파일. 파일을 옮기는 임포터는 없습니다. 스토리는 그것들 없이 도착합니다.
  • 계정으로서의 사람. 아직 멤버가 아닌 소유자, 요청자, 댓글 작성자는 표시 전용 외부 인물로 붙습니다. 빠지는 것도 없고 잘못 귀속되는 것도 없지만, 계정은 생성되지 않고 초대도 발송되지 않습니다 — 평소처럼 초대하면 그 이력은 이미 붙어 있습니다.
  • 최종 수정일. 들어오는 길에 updated 타임스탬프는 없습니다.
  • 워크플로의 미묘한 차이. 커스텀 상태는 위 루프에서 가장 가까운 상태로 접힙니다. 큰 프로젝트를 가져오기 전에 표본을 확인하는 곳이 드라이런 미리보기입니다.

소스: Pivotal Tracker (CSV export). Pivotal Tracker는 2025년 4월 30일에 문을 닫았으므로 이제는 익스포트를 받아올 살아 있는 서비스가 없습니다. 이 임포터가 읽는 것은 종료 전에 보관해 둔 CSV 익스포트입니다. 보드와 스토리 상태, 그리고 수락 루프가 같은 모델을 따르므로 가져온 프로젝트는 예전과 같은 방식으로 읽힙니다.

Pivotal Tracker이렇게 됩니다
Title, Description스토리의 제목과 설명. URL 열은 스토리의 출처로 보존되며, 내용이 있는 설명에는 View original issue 링크가 덧붙습니다.
Type스토리 유형 — feature, bug, chore, release 모두 직접 대응되는 것이 있습니다.
Current State스토리의 상태.
Estimate스토리의 포인트 추정치.
Labels라벨, 값마다 하나.
Owned By스토리 소유자. Pivotal은 이 열을 소유자마다 반복하고 그 전부가 읽힙니다.
Requested By스토리의 요청자.
Comment (댓글마다 한 열)스토리 댓글로, 원래 작성자와 원래 타임스탬프가 함께 들어옵니다.
Task / Task Status스토리의 작업으로, 완료된 작업은 완료 상태로 도착합니다.
Blocker / Blocker Status블로커로, 해결된 것은 해결된 상태로 도착합니다.
Type=epic 행실제 에픽으로, 재구성되어 그것을 참조하는 스토리들과 연결되며 에픽의 설명도 함께 넘어옵니다.
Iteration, Iteration Start이터레이션 그리드. 아직 시작되지 않았던 이터레이션의 스토리는 Backlog에 남아 스프린트 순으로 정렬됩니다.
Created at, Accepted at스토리의 생성일과 완료일.
Deadlinerelease 스토리의 계획된 날짜.

Pivotal 익스포트에는 작업 시작 열이 없으므로, 가져온 스토리의 사이클 타임 수치는 비어 있게 됩니다. 에픽은 그 멤버 스토리들을 통해 재구성되므로, 어떤 스토리도 참조하지 않는 에픽 행은 아무것도 만들지 않습니다.

소스: Jira (CSV export). Jira에서 원하는 이슈를 검색한 뒤 **Export → Export Excel CSV (all fields)**를 사용하세요. 가져가야 할 것은 all fields 익스포트입니다 — current fields 익스포트는 스프린트, 스토리 포인트, 댓글 열을 뺍니다.

Jira이렇게 됩니다
Summary스토리의 제목. summary가 빈 행은 가져오지 않습니다.
Description스토리의 설명으로, Jira wiki 마크업에서 markdown으로 변환됩니다. 제목, 굵게, 코드 블록, 목록, 링크는 변환되고, 그 밖의 것은 그대로의 텍스트로 보존됩니다.
Issue Type스토리 유형 — Bug는 bug가 되고, Story와 Feature는 feature가 되며, Task는 chore가 됩니다.
Status스토리의 상태.
Priority스토리의 우선순위로, Highest부터 Lowest까지.
스토리 포인트 커스텀 필드스토리의 추정치. 헤더에 스토리 포인트가 언급된 첫 번째 열이 쓰이므로 Custom field (Story Points)와 Custom field (Story point estimate) 둘 다 동작합니다.
Labels라벨, 값마다 하나.
Fix Version/s값마다 Release: <version> 라벨 하나.
Sprint이터레이션 그리드. Jira는 이슈가 거쳐 간 스프린트마다 이 열을 반복하며 마지막 것이 최종 소속입니다. 이름이 있는 스프린트는 Sprint: <name> 라벨로도 남습니다.
Assignee스토리의 소유자로, 표시 전용 외부 인물로 처리됩니다 — Jira CSV에는 멤버와 맞춰 볼 이메일 주소가 없습니다.
Reporter스토리의 요청자, 같은 규칙으로 처리됩니다.
Comment (댓글마다 한 열)스토리 댓글로, 각각 원래 작성자와 타임스탬프를 가집니다.
Sub-task 이슈부모 스토리의 작업으로, 완료된 하위 작업은 완료 상태로 도착합니다. 부모가 파일에 없는 하위 작업은 그 자체로 하나의 스토리가 됩니다.
Epic 이슈그 에픽의 이름을 딴 라벨이, 그 안의 모든 자식 이슈에 붙습니다.
Issue key설명 끝에 일반 텍스트로 덧붙습니다 (Original issue: PROJ-12).
Created, Resolved스토리의 생성일과 완료일.

Jira 에픽은 에픽 레코드가 아니라 자식들에 붙는 라벨로 도착합니다. 그룹화는 남고 검색도 되지만, 에픽 자체의 설명은 남지 않습니다. Jira는 스프린트 이름을 내보내고 날짜는 내보내지 않으므로, 이터레이션은 스프린트 이름 순으로 정렬됩니다.

소스: Linear (CSV export) — Linear에서 Workspace settings → Import/Export → Export CSV.

  • Assignee는 소유자가 되고 Creator는 요청자가 됩니다.
  • Project는 스토리의 에픽이 됩니다.
  • 하위 이슈는 부모 스토리의 작업이 됩니다.
  • 사이클이 이터레이션 그리드를 만듭니다. 아직 시작되지 않은 사이클의 스토리는 Backlog에 남아 사이클 순으로 정렬됩니다.
  • Started 열을 읽으므로, 가져온 스토리에서도 사이클 타임이 동작합니다.
  • Linear의 CSV에는 유형 열이 없습니다. Bug 라벨이 붙은 스토리는 bug로, 그 밖에는 feature로 도착합니다.
  • Linear의 CSV 익스포트에는 댓글이 없으며, 보관된 이슈는 건너뜁니다.

소스: Asana (CSV export) — Asana에서 Project menu → Export/Print → CSV.

  • Assignee는 소유자가 되며, Assignee Email이 있으면 그것으로 멤버와 매칭됩니다.
  • 태그는 라벨이 됩니다.
  • 하위 작업은 부모 스토리의 작업이 됩니다.
  • Completed At 날짜가 있는 작업은 accepted로 도착합니다.
  • Asana의 CSV에는 작성자 열도 댓글도 없으므로, 가져오기를 실행한 멤버가 요청자가 됩니다.

소스: Trello (JSON export) — Trello에서 Menu → Print and export → Export as JSON.

  • 각 카드는 스토리가 되고, 카드가 놓인 리스트가 그 상태를 정합니다 (To Do, Doing, Done 및 비슷한 이름).
  • 카드의 멤버는 소유자가 됩니다.
  • 댓글은 작성자와 타임스탬프와 함께 넘어옵니다.
  • 체크리스트 항목은 작업이 됩니다.
  • 라벨은 이름과 색을 유지합니다. 색은 있고 이름이 없는 라벨은 Trello-<colour>로 도착합니다.
  • 보관된 카드는 보관된 채로 도착합니다.
  • Bug 라벨이 붙은 카드는 bug로 도착합니다. Trello에는 에픽도 추정치도 없으므로 둘 다 만들어지지 않습니다.

소스: Shortcut (CSV export) — Shortcut에서 Settings → Import/Export → Export to CSV.

  • owners는 소유자가 되고 requester는 요청자가 됩니다.
  • epic은 스토리의 에픽이 됩니다.
  • tasks는 스토리의 작업이 됩니다. CSV에는 완료 플래그가 기록되지 않으므로 미완료 상태로 도착합니다.
  • 이터레이션이 이터레이션 그리드를 만듭니다.
  • started_at 열을 읽으므로, 가져온 스토리에서도 사이클 타임이 동작합니다.
  • 보관된 스토리는 보관된 채로 도착합니다. Shortcut의 CSV에는 댓글이 없습니다.

소스: GitLab (CSV export) — GitLab에서 이슈 목록을 열고 Export as CSV를 사용하세요. GitLab이 파일을 이메일로 보내 줍니다.

  • 열린 이슈는 unstarted로, 닫힌 이슈는 accepted로 도착합니다.
  • Weight는 추정치가 됩니다.
  • 담당자는 소유자가 되고 작성자는 요청자가 됩니다.
  • 이슈의 URL은 출처로 보존됩니다.
  • Include milestones를 켜면 각 마일스톤이 에픽이 됩니다. 끄면 마일스톤 열은 무시됩니다.
  • GitLab의 이슈 CSV에는 댓글이 없습니다.

소스: Plane (CSV export) 또는 Plane (JSON export) — Plane에서 Workspace settings → Exports.

  • 모든 담당자가 소유자가 됩니다.
  • 댓글은 작성자와 타임스탬프와 함께 넘어옵니다.
  • Plane의 상태 그룹이 상태를 정합니다. 취소된 이슈는 rejected이면서 보관된 채로 도착합니다.
  • 사이클은 이터레이션 그리드를 만들고 Cycle: <name> 라벨로도 남습니다. 모듈은 Module: <name> 라벨이 됩니다.
  • Plane 익스포트에는 작성자 열이 없으므로, 가져오기를 실행한 멤버가 요청자가 됩니다. Plane은 작업 시작일을 내보내지 않으므로 사이클 타임이 없습니다.

소스: GitHub (Issues via API). 파일을 업로드하는 대신 소유자와 저장소를 입력합니다. 이슈는 담당자, 작성자, 라벨, 댓글, 체크리스트 항목과 함께 스토리가 됩니다. 풀 리퀘스트, 마일스톤(에픽으로), 릴리스는 옵트인입니다. 토큰, 요청 한도 및 나머지 내용은 GitHub 저장소에서 프로젝트 채우기에 있습니다.

다른 East Agile Tracker 프로젝트에서

섹션 제목: “다른 East Agile Tracker 프로젝트에서”

소스: East Agile Tracker (native export) — 다른 프로젝트에서 Settings → Import / Export → 내보내기 다운로드. 이것이 무손실 경로입니다. 팔로워, 리뷰어, 에픽, 작업, 블로커, 링크, Icebox가 모두 돌아오며, 소유자는 이메일로 멤버에 다시 붙습니다.

이 스토리들은 평범한 스토리입니다 — 상태 머신, 이터레이션, 속도가 모두 적용됩니다. 같은 화면에서 나중에 프로젝트를 다시 내보낼 수 있습니다. 무손실 사본을 위한 East Agile Tracker 형식으로, 또는 다른 도구들의 모양 어느 것으로든. 사용 안내 → 프로젝트 내보내기를 참고하세요.

프로젝트를 만들고 익스포트를 가져오기 — 임포터는 모든 프로젝트의 설정 화면에 있습니다.