Skip to content

Instantly share code, notes, and snippets.

@toddfarmer
Last active December 14, 2022 15:56
Show Gist options
  • Save toddfarmer/12aa88361532d21902818a6044fda4c3 to your computer and use it in GitHub Desktop.
Save toddfarmer/12aa88361532d21902818a6044fda4c3 to your computer and use it in GitHub Desktop.
Documentation of migration for Apache Arrow issue tracking from ASF Jira to GitHub issues.

DRAFT: Apache Arrow Issue Tracking Migration to GitHub Issues

NOTE: This is a very early draft of this document and is very incomplete.

Overview

The Apache Arrow project voted to migrate issue tracking from the ARROW project in ASF Jira to GitHub issues. This documents important information that is important for members of the Apache Arrow community to know about this migration.

Migration Schedule

TBD

Migration Process

TBD

Migrated Content

Jira and GitHub issue content differ in serveral notable ways that impact migrated content. The following information documents the differences and decisions made negotiating them during the migration.

Filtering Comments

ASF GitHub Bot has commented on a number of Jira issues. Some of these comments cause failures when migrating to GitHub issues, and the project has elected to filter all GitHub Bot comments during the migration.

User identification mapping

ASF Jira and GitHub track user identity independently, and there is no direct mapping of ASF Jira user account identifers to corresponding user accounts in GitHub. An attempt has been made to map ASF Jira and GitHub user identifiers based on past pull request activity, but this may be incomplete or contain errors. When an ASF Jira user account for which no corresponding GitHub user account can be found, ASF user information will be used.

User mentions in Jira issue content will be converted to GitHub user information using the same mapping table. If no mapping can be found, the ASF Jira username will be retained, escaped within a code block to prevent potential association with a different GitHub user account.

Issue activity user identification

The GitHub issue import API provides no mechanism to specify the following during the import operation:

  • Issue reporter
  • Comment author
  • Issue watcher

The issue assignee can and will be set during issue import, provided a mapped GitHub user account can be identified from the ASF Jira issue assignee user information.

Issue Type

Jira supports different issue "types", while GitHub issues do not have a top-level issue "type" field. A decision was made to map Jira issue types to labels to retain this metadata. The values are mapped as follows:

Jira issue type(s) GitHub label
Bug Type: bug
Improvement, Wish, New Feature Type: enhancement
Task, Sub-task Type: task
Test Type: test

Issue Component(s)

Jira allows tracking of components affected by an issue, while GitHub lacks a dedicated field for the same. This information is mapped from ASF Jira values into GitHub issue labels with a Component: prefix. For example, a Jira issue with a component value of Java will be mapped to a GitHub issue having a label of Component: Java.

Issue Status

Unlike GitHub issues, Jira supports a range of statuses. The GitHub import API only supports indicating whether the issue is open or closed; even variants of closed issues are not supported in the import API. As a result, no distinction can be made between migrated issues that were closed due as resolved versus those rejected as Won't Do. Furthermore, non-terminal statuses (e.g., Open, Assigned, In Review, etc.) all simply map to Open in GitHub.

Issue Links

Issue links appear in different ways:

  1. Sub-tasks formally tracked in a parent/child relationship
  2. Issues formally tracked as related using established Jira relationships
  3. Referenced inline in issue comments.

This issue establishs that the first two mechanisms will be captured and added to the issue description on the migrated GitHub issue. Inline comments linking to other ARROW issues will not be transformed to link to the corresponding migrated GitHub issue.

Issue Attachments

Issue attachment content will not be copied from ASF Jira to GitHub. Issues with attachments will have a list of attachments with links back to the content hosted on the source ASF Jira issue added to the description of the migrated GitHub issue. Any inline images in issue descriptions or comments will have the link converted to reference the ASF Jira source issue content to display correctly.

Issue Priority

TBD

Issue Version Data

ASF Jira supports tracking the versions which an issue was discovered to initially affect (Affects version) and the version where the issue is resolved (Fixed version). GitHub issues provides a single Milestone field. The Fixed version field in ASF Jira is used to populate the Milestone field in migrated GitHub issues. The Affects version field values will not be retained in migrated issue content.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment