[
https://issues.apache.org/jira/browse/ARROW-18381?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17637500#comment-17637500
]
Todd Farmer commented on ARROW-18381:
-------------------------------------
While possible to map existing ASF Jira Apache Arrow project versions to GitHub
milestones, there are some decisions needed to be made. The existing ASF Jira
Apache Arrow versions can be seen via API
[here|https://issues.apache.org/jira/rest/api/2/project/ARROW/version], and
I've done an initial import to a personal GitHub repo, which can be seen via
API
[here|https://api.github.com/repos/toddfarmer/test-arrow-config/milestones?state=all].
Some notes:
h2. Milestone name
This is set to the version pulled from ASF Jira. It is not prefixed with "v"
(e.g., "v1.0.0") or anything. There exist some [80+ Jira issues with
fixVersions prefixed with
"JS-"|https://issues.apache.org/jira/issues/?jql=project%20%3D%20ARROW%20AND%20fixVersion%20IN(%20JS-0.3.0%2C%20JS-0.3.1%2C%20JS-0.4.0%2C%20JS-0.4.1)].
To retain this metadata, I presume we will want to create corresponding
milestones. Everything else appears to have reasonable/expected numeric values
for version name.
h2. Milestone status
GitHub supports "open" or "closed" milestone statuses. ASF Jira versions have
discrete "archived" and "released" boolean fields. I propose mapping anything
that is either archived or released to a "closed" milestone status. The rest
will be set "open". Currently, this maps the following as
[open|https://api.github.com/repos/toddfarmer/test-arrow-config/milestones?state=open]:
* 9.0.1
* 10.0.1
* 10.0.2
* 11.0.0
* 12.0.0
h2. Milestone date metadata
GitHub milestones support a "due on" date. This is the only date field that can
be set during [creation or update
operations|https://docs.github.com/en/rest/issues/milestones]. GitHub also
tracks dates that milestones were created, last updated, and closed - but those
cannot be explicitly set. This is a little annoying, because these seem to be
what get displayed in the web interface for closed milestones:
!Screenshot from 2022-11-22 11-53-07.png!
Open milestones reference the "due on" date, which for open milestones, is not
yet defined:
!Screenshot from 2022-11-22 11-54-26.png!
While I am using the Jira version releaseDate field to map to the "due on"
field in the corresponding GitHub project milestone, it's not clear that this
is ever displayed or useful in the context of web views.
h2. Multiple fix versions
Some 314 Apache Arrow Jira issues are associated with multiple fix versions.
GitHub does not allow associating an issue with multiple milestones; adding a
second milestone replaces the existing milestone association. This means that
314 legacy issues will lose metadata associating with at least one version that
it was associated with in Jira. Is this acceptable? Should the lowest or
highest associated Jira version be used during import, if so?
> MIGRATION: Create milestones for every needed fix version
> ---------------------------------------------------------
>
> Key: ARROW-18381
> URL: https://issues.apache.org/jira/browse/ARROW-18381
> Project: Apache Arrow
> Issue Type: Task
> Reporter: Todd Farmer
> Priority: Major
> Attachments: Screenshot from 2022-11-22 11-53-07.png, Screenshot from
> 2022-11-22 11-54-26.png
>
>
> The Apache Arrow projects uses the "Fix version" field in ASF Jira issue to
> track the version in which issues were resolved/fixed/implemented. The most
> equivalent field in GitHub issues is the "milestone" field. This field is
> explicitly managed - the versions need to be added to the repository
> configuration before they can be used. This mapping needs to be established
> as a prerequisite for completing the import from ASF Jira.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)