Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Migrate to GitHub issue from Jira [LUCENE-10557] #11593

Closed
asfimport opened this issue May 4, 2022 · 102 comments
Closed

Migrate to GitHub issue from Jira [LUCENE-10557] #11593

asfimport opened this issue May 4, 2022 · 102 comments

Comments

@asfimport
Copy link

asfimport commented May 4, 2022

A few (not the majority) Apache projects already use the GitHub issue instead of Jira. For example,

Airflow: https://github.com/apache/airflow/issues

BookKeeper: https://github.com/apache/bookkeeper/issues

So I think it'd be technically possible that we move to GitHub issue. I have little knowledge of how to proceed with it, I'd like to discuss whether we should migrate to it, and if so, how to smoothly handle the migration.

The major tasks would be:

  • ✔ Get a consensus about the migration among committers
  • ✔ Choose issues that should be moved to GitHub - We'll migrate all issues towards an atomic switch to GitHub if no major technical obstacles show up.
    • Discussion thread https://lists.apache.org/thread/1p3p90k5c0d4othd2ct7nj14bkrxkr12
    • Conclusion for now: We don't migrate any issues. Only new issues should be opened on GitHub.
    • Write a prototype migration script - the decision could be made on that. Things to consider:
      • version numbers - labels or milestones?
      • add a comment/ prepend a link to the source Jira issue on github side,
      • add a comment/ prepend a link on the jira side to the new issue on github side (for people who access jira from blogs, mailing list archives and other sources that will have stale links),
      • convert cross-issue automatic links in comments/ descriptions (as suggested by Robert),
      • strategy to deal with sub-issues (hierarchies),
      • maybe prefix (or postfix) the issue title on github side with the original LUCENE-XYZ key so that it is easier to search for a particular issue there?
      • how to deal with user IDs (author, reporter, commenters)? Do they have to be github users? Will information about people not registered on github be lost?
      • create an extra mapping file of old-issue-new-issue URLs for any potential future uses.
      • what to do with issue numbers in git/svn commits? These could be rewritten but it'd change the entire git history tree - I don't think this is practical, while doable.
  • Prepare a complete migration tool
  • Build the convention for issue label/milestone management
  • ✔ Enable Github issue on the lucene's repository
    • Raise an issue on INFRA
    • (Create an issue-only private repository for sensitive issues if it's needed and allowed)
    • Set a mail hook to issues@lucene.apache.org (many thanks to the general mail group name)
  • Set a schedule for migration
    • See Make a detailed migration plan lucene-jira-archive#7
    • Give some time to committers to play around with issues/labels/milestones before the actual migration
    • Make an announcement on the mail lists
    • Show some text messages when opening a new Jira issue (in issue template?)

Migrated from LUCENE-10557 by Tomoko Uchida (@mocobeta), resolved Aug 18 2022
Parent: #11579
Attachments: image-2022-06-29-13-36-57-365.png, screenshot-1.png, Screen Shot 2022-06-29 at 11.02.35 AM.png
Linked issues:

Pull requests: #988, #1024, #1036

@asfimport
Copy link
Author

Michael McCandless (@mikemccand) (migrated from JIRA)

+1

Do we know whether we could (relatively easily) migrate our Jira issues over to GitHub issues?

@asfimport
Copy link
Author

Michael McCandless (@mikemccand) (migrated from JIRA)

Hmm at least ~4 years ago, migrating was not possible/easy.

@asfimport
Copy link
Author

asfimport commented May 4, 2022

Michael McCandless (@mikemccand) (migrated from JIRA)

INFRA-16128 was the issue when RocketMQ migrated: https://issues.apache.org/jira/browse/INFRA-16128

@asfimport
Copy link
Author

Tomoko Uchida (@mocobeta) (migrated from JIRA)

Among the tasks I mentioned in the issue description, the most important (and most difficult?) one could be "Get a consensus about the migration".

I look for explicit feedback (+1 or -1) on this topic from developers.

I'd definitely cast +1; not because I don't like Jira (it works well for me so far), but because the most development is already going on GitHub. Consolidation of conversation would be good for improving experiences I think.

@asfimport
Copy link
Author

Tomoko Uchida (@mocobeta) (migrated from JIRA)

Thank you @mikemccand for joining and giving the pointer!

@asfimport
Copy link
Author

Tomoko Uchida (@mocobeta) (migrated from JIRA)

INFRA team says Vote or PMC agreement are needed for the decision in the RocketMQ's issue (it makes sense to me).

We are going to need to see a PMC agreement on doing that, not just one persons say so. Please come back here with a link to a vote or discussion where the PMC agrees.

@asfimport
Copy link
Author

Shad Storhaug (migrated from JIRA)

The Lucene.NET project switched to GitHub issues 3 years ago, and we were able to get far more contributor participation than on JIRA, but that may just be mostly a .NET thing. We held a vote and all participants were unanimous on the GitHub Issues migration.

It was pretty straightforward for INFRA to do. We made a script to migrate the open issues to GitHub via API, but there were a couple of issues we had that you may need to find a workaround for:

  1. The issues were not added to GitHub in chronological order.
  2. Since INFRA wouldn't give us permission to the API, we gave the script to them and the issues were added to GitHub with the INFRA tech as the owner instead of the original person who submitted the issue.

There is a walkthrough of the process here: https://gist.github.com/jonmagic/5282384165e0f86ef105#start-an-issue-import%22
The INFRA ticket for this is: https://issues.apache.org/jira/browse/INFRA-20118

We didn't disable JIRA support, but we didn't really have to because we couldn't get users to participate on it, anyway. But that is something you will also need to take into consideration.

@asfimport
Copy link
Author

Tomoko Uchida (@mocobeta) (migrated from JIRA)

Shad Storhaug thanks for giving valuable information!

We are having a very long discussion on the migration in the mail list. :)

https://lists.apache.org/thread/78wj0vll73sct065m5jjm4z8gqb5yffk

@asfimport
Copy link
Author

Michael McCandless (@mikemccand) (migrated from JIRA)

Oh that's great news; thanks for sharing Shad Storhaug!

@asfimport
Copy link
Author

Tomoko Uchida (@mocobeta) (migrated from JIRA)

We are having a long discuss thread on the dev list and many issues are posed. Here is a short summary (with my brief thoughts/opinions).

  • Concerns for political neutrality of GitHub - in other words, concerns for account bans with no good reason
    • Seems there are several cases (including rumors) of GitHub account bans. It's unclear whether they violate its terms of policy or not, and we won't be able to correctly assess the risk to me. I would defer the judgment to the individuals.
    • For developers who don't use GitHub for whatever reason, we will always support contribution paths that do not rely on GitHub. Patches via Jira will be a decent option for good.
  • Concerns for its parent company, Microsoft
    • I'd defer the judgment on that to the individuals for the same reason for the previous subject. One thing I could say is, that the recent trend in their direction is GOOD - they support/sponsor OSS and Java communities and even publish very popular open-source software (VSCode and LightGBM are outstanding examples I think).
  • Concerns for lack of issue workflow and simpler metadata management
    • From the practical viewpoint, it fully makes sense to me that many people talked about it. We would need to carefully think of how to control versions and issue/PR metadata. Large projects that are fully operated on GitHub overcome this shortcoming in various ways - organized issue templates with fixed label sets would be an example. I think we will have a sandbox repository outside ASF, then try some experiments on it before actual migration.
  • Security issues that only PMC members are allowed to be accessed
    • We will be able to continue to use Jira for this purpose, or we could even have an issue-only private GitHub repository for Lucene?
  • Concerns for migration of whole Jira issue history to GitHub issue
    • I don't think it is possible. I'm almost sure there will be some information losses if we attempt to migrate the whole Jira issue with metadata/history into Github. Rather than trying to do that, I would prefer to let Jira issues as is, then simply refer them.
    • If we don't aim at perfection, I think we'll be able to migrate all (or part of) issues with APIs as Shad Storhaug kindly shared in this comment.

Aside from those concerns, there seems no disagreement with GitHub is superior to Jira in terms of overall UX design, and most new developers like it.

@asfimport
Copy link
Author

Tomoko Uchida (@mocobeta) (migrated from JIRA)

Issue stats on 28/May/2022.

# of total issues: 10543
# of unresolved issues: 1914

Breakdown of unresolved issues
By Issue Type

  • Type="Bug": 679
  • Type="Improvement": 790
  • Type="New Feature": 173
  • Type="Task": 163
  • Type="Test": 42
  • Type="Wish": 38
  • Type="Sub-task": 29

By Affects Version (overlapped)

  • Version < 4.0: 175
  • 4.0 <= Version < 5.0: 239
  • 5.0 <= Version < 6.0: 59
  • 6.0 <= Version < 7.0: 79
  • 7.0 <= Version < 8.0: 58
  • 8.0 <= Version < 9.0: 64
  • 9.0 <= Version: 2
  • No Version: 1258

By Created Date

  • ~ 31/Dec/2012: 544
  • 1/Jan/2013 ~ 31/Dec/2013: 134
  • 1/Jan/2014 ~ 31/Dec/2014: 166
  • 1/Jan/2015 ~ 31/Dec/2015: 176
  • 1/Jan/2016 ~ 31/Dec/2016: 139
  • 1/Jan/2017 ~ 31/Dec/2017: 123
  • 1/Jan/2018 ~ 31/Dec/2018: 102
  • 1/Jan/2019 ~ 31/Dec/2019: 145
  • 1/Jan/2020 ~ 31/Dec/2020: 120
  • 1/Jan/2021 ~ 31/Dec/2021: 170
  • 1/Jan/2022 ~ : 93

By Component

  • core: 508
  • modules/analysis: 147
  • modules/benchmark: 11
  • modules/classification: 2
  • modules/examples: 1
  • modules/expressions: 3
  • modules/facet: 39
  • modules/grouping: 5
  • modules/highlithter: 43
  • modules/join: 11
  • modules/luke: 2
  • modules/monitor: 2
  • modules/queryparser: 25
  • modules/replicator: 4
  • modules/sandbox: 5
  • modules/spatial: 38
  • modules/spatial-extras: 3
  • modules/spatial3d: 6
  • modules/suggest: 3
  • modules/spellchecker: 11
  • modules/test-framework: 5
  • modules/other: 29
  • release wizard: 1
  • luke: 2
  • general/build: 58
  • general/javadocs: 15
  • general/test: 22
  • general/website: 19
  • No Component: 916

@asfimport
Copy link
Author

Tomoko Uchida (@mocobeta) (migrated from JIRA)

Operational policies in other projects on GitHub (randomly selected).

Kubernetes (https://github.com/kubernetes/kubernetes)

  • Uses Milestone for version management
  • Uses Labels for categorizing/adding metadata to issues/PRs
  • Only limited members can add/edit Labels
  • Uses Issue templates to add issue type (kind) when opening one
    • Bug report/Feature request/Test Failure/...

Elasticsearch (https://github.com/elastic/elasticsearch)

  • Uses Labels for version management and categorizing/adding metadata to issues/PRs
  • Only limited members can add/edit Labels
  • Uses Issue templates to add issue type (kind) when opening one

OpenSearch (https://github.com/opensearch-project/OpenSearch)

  • Uses Labels for version management and categorizing/adding metadata to issues/PRs
  • Only limited members can add/edit Labels
  • Uses Issue templates to add issue type (kind) when opening one

Apache Solr Operator (https://github.com/apache/solr-operator)

  • Uses Milestone for version management
  • Uses Labels for categorizing/adding metadata to issues/PRs

Apache Airflow (https://github.com/apache/airflow)

  • Uses Milestone for version management
  • Uses Labels for categorizing/adding metadata to issues/PRs
  • Only limited members can add/edit Labels
  • Uses Issue templates to add issue type (kind) when opening one

Apache Lucene.NET (https://github.com/apache/lucenenet)

  • Uses Milestone for version management
  • Uses Labels for categorizing/adding metadata to issues/PRs
  • Only limited members can add/edit Labels

Spring Framework (https://github.com/spring-projects/spring-framework)

  • Uses Milestone for version management
  • Uses Labels for categorizing/adding metadata to issues/PRs
  • Only limited members can add/edit Labels

Gradle (https://github.com/gradle/gradle)

  • Uses Milestone for version management
  • Uses Labels for categorizing/adding metadata to issues/PRs
  • Only limited members can add/edit Labels
  • Uses Issue templates to add issue type (kind) when opening one

@asfimport
Copy link
Author

Tomoko Uchida (@mocobeta) (migrated from JIRA)

Migration plan (an early draft)

  • Set a criteria which issues should be migrated to GitHub issue
    • e.g. Migrate all unresolved issues
  • Set an operational policy for version/metadata management
    • Kubernetas's and Apache Airflow's method looks good to me
    • Map current JIRA metadata to GitHub milestones/labels
    • ... needs some trials and errors with a sandbox repository
  • Prepare migration scripts
  • Enable GitHub issue (raise an issue on INFRA)
  • Set a schedule for migration

@asfimport
Copy link
Author

Jan Høydahl (@janhoy) (migrated from JIRA)

Thanks for thorough research! I propose to skip bulk migration of Jira issues and instead bulk comment on all open JIRAs, prompting the reporter or assignee to take whatever action they see fit. Some will choose to migrate, others will finalize the feature in JIRA, quite some will probably be closed as won't do, and some will just remain open/stale/don't care. No history will be lost, we can still refer and link to historic Jira issues, as long as ASF keeps Jira alive.

@asfimport
Copy link
Author

Tomoko Uchida (@mocobeta) (migrated from JIRA)

Hi @janhoy, thanks for your suggestion.

"Migrate no issues and make a fresh start" is definitely an option, on the other hand, many issues that are worth revisiting may remain Jira forever - I feel a bit sorry for them. If unresolved issues are on GitHub (even just the title and description) from the start, possible contributors will be able to browse/search them. However, I think we can discuss it later.

@asfimport
Copy link
Author

Tomoko Uchida (@mocobeta) (migrated from JIRA)

One feature I couldn't find out in GitHub issue that is naturally equipped in Jira is the parent-child issue hierarchy. We can have an umbrella issue and tie any number of sub-issues to it with Jira but cannot with GitHub issue; I imagine "GitHub Project" is used for such issue grouping purpose (haven't used it) though, it'd be too much for us I think.

@asfimport
Copy link
Author

Dawid Weiss (@dweiss) (migrated from JIRA)

I don't think this is a problem. You just create a description with a bullet list and reference related issues - they do show up in mentions, I think this is sufficient.

@asfimport
Copy link
Author

Tomoko Uchida (@mocobeta) (migrated from JIRA)

Sure - it's not a big problem I think. Except for some minor functional gaps like this, I don't see any technical blocker for migration.

@asfimport
Copy link
Author

Jan Høydahl (@janhoy) (migrated from JIRA)

The "Project" grouping could for sure be used for larger pieces of work which we know will span multiple PRs. See Airflow using it for their AIP improvement proposals https://github.com/apache/airflow/projects/12

@asfimport
Copy link
Author

Tomoko Uchida (@mocobeta) (migrated from JIRA)

Thanks, it looks like a plain Kanban Board. I know it, I'm not sure Lucene people like it though.

@asfimport
Copy link
Author

Michael McCandless (@mikemccand) (migrated from JIRA)

Thanks @mocobeta for driving this discussion/vote!  I will now remove the trailing ? from the issue title :)

 

@asfimport
Copy link
Author

Tomoko Uchida (@mocobeta) (migrated from JIRA)

For version control, there are two considerations.

  1. Fix Version(s)

We have two options: Milestone or Label. One important difference between them is that an issue can have only one milestone but multiple labels. The other difference would be that while Milestone is special metadata, labels are just flexible text tags for searching. I'm personally fine with Milestone - we don't release a bug fix or improvement in multiple versions anyway. We don't have two CHANGES entries for one issue; if we resolve an issue in "10.0.0" and "9.3.0" the CHANGES entry appears only in Lucene 9.3.0's section.
If there are other perspectives, would you share your thoughts on it.

  1. Affects Version(s)

35% of unresolved issues have this field. Maybe we could have issue labels such as "affectsVersion:9.3.0". I have never used this metadata field and I myself have no problem with omitting this in GitHub. Is there anyone who has thoughts on it?


Aside from versions, I'm not fully sure about how to port the "Priority" field (Blocker, Critical, Major, Minor, Trivial). It's a mandatory field in Jira but there seem no clear standards on how to set a priority except for "Blocker". Should we have this also in GitHub as a mandatory label, or should we have this as an optional one, or perhaps can we omit this in GitHub if developers/committers don't really take care of this?

 

@asfimport
Copy link
Author

asfimport commented Jun 20, 2022

Tomoko Uchida (@mocobeta) (migrated from JIRA)

> I've added a few bullet points that script could/should handle under LUCENE-10557, hope you don't mind. If you place these script(s) in the open then perhaps indeed we could try to collaborate and see what can be done.

Thanks for your suggestions, Dawid. I'd move the conversation to this issue from the mail list. I think we'll be able to handle the requirements (cross-issue links, and so on) in some ways. I started work on #11658 and added the link to the sandbox repository where the migration scripts (early draft) were pushed.

For what it's worth, #1079 will be migrated something like this. Although the formatting and look-and-feel could be improved a bit, it would not be drastically changed in essentials. We cannot simulate Jira issues on GitHub. e.g.; it is not allowed to tweak the issue reporter and timestamp (very basic metadata to me), so they have to be embedded in the issue description as free texts. I'll continue to work on though - does this really meet your expectations, Mike McCandless and other folks who argue to preserve all issue history in GItHub?
https://github.com/mocobeta/sandbox-lucene-10557/issues/19

@asfimport
Copy link
Author

Dawid Weiss (@dweiss) (migrated from JIRA)

I've verified that searches for old issue numbers seem to work:
https://github.com/mocobeta/sandbox-lucene-10557/search?q=%22LUCENE-1%22+in%3Atitle&type=issues

I'm more familiar with the "hierarchical" tags like "affects/xyz" or "type/bug" but I can live with the comma version. Good to have some of the metadata transferred as well, even as a plain text content in the issue description.

@asfimport
Copy link
Author

Tomoko Uchida (@mocobeta) (migrated from JIRA)

As for User ID alignment, it'd be great if we can map the reporter/assignee/commenter to correct GitHub accounts. I just wanted to note that there is a trivial but very practical concern for me - we have to "mention" the accounts in the issue description/comment to create a hyperlink (we can't create resources on behalf of the original authors). I think we don't want to receive a huge volume of notifications from old issues. There could be a tip or workaround, otherwise we will not be able to create real links but just have markups like@mocobeta.

@asfimport
Copy link
Author

Tomoko Uchida (@mocobeta) (migrated from JIRA)

I browsed through several JSON dumps of Jira issues. These are some observations.

  • It'd be easy to extract various metadata of issues (reporter id, status, created timestamp, etc.)
  • It'd be easy to extract all linked issue ids and sub-task ids
  • It'd be easy to extract all attached file URLs
    • Can't estimate how many hours it will take to download all of the files
  • it'd be easy to extract all comments in an issue
    • Perhaps pagination is needed for issues with many comments Comments in an issue can be retrieved all at once.
  • We can apply parser/converter tools to convert the jira markups to markdown
    • I think this can be error-prone
  • It'd be cumbersome to extract GitHub PR links. The links to PRs only appear in the github bot's comments in the Work Log.

On GitHub side, there are no difficulties in dealing with the APIs.

  • It'd be a bit tedious to work with milestones via APIs. They can't be referred to by their text. Id - text mapping is needed
  • It might need some trials and errors to properly place attached files in their right place This is not possible (we can't programatically migrate attachment files to GitHub).

As for the cross-link conversion and account mapping script:

  • To "embed" github issue links / accounts in their right place (maybe next to the Jira issue keys / user names), we need to modify the original text. This can be tricky and the riskiest part to me. Instead of modifying the original text, we could just add some footnotes for the issues/comments - but it could considerably damage the readability.

Yes it should be possible with a set of small scripts. Maybe one problem is that it'd be difficult to detect conversion errors/omissions and we can't correct them ourselves if we notice migration errors later (it seems we are not allowed to have the github token of the ASF repository).

@asfimport
Copy link
Author

Tomoko Uchida (@mocobeta) (migrated from JIRA)

I was trying to figure out how to upload attachments (patches, images, etc.) to Github issue with API for hours. {}There is no way to upload files to GitHub with REST APIs{}; it is only allowed via the Web Interface. If you want to programatically port attachment files in Jira to GitHub, you have to  commit the files to the repository.

See isaacs/github#1133

 

@asfimport
Copy link
Author

Tomoko Uchida (@mocobeta) (migrated from JIRA)

Maybe GitHub's API call rate limit would be another consideration.

If you're making a large number of POST}, PATCH}, PUT}, or DELETE requests for a single user or client ID, wait at least one second between each request.

https://docs.github.com/en/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits

We can't really "bulk" import to GitHub. Every issue and comment has to be posted one by one and between the API calls, at least one-second sleep is required.

I encountered this rate limit many times - actually it seem that the rate limit is strictly monitored.

 

@asfimport
Copy link
Author

Michael McCandless (@mikemccand) (migrated from JIRA)

Finally catching up over here!

Thank you @mocobeta for tackling this!

I agree testing what is realistic/possible will enable us to make an informed decision.  I really hope we are not stuck asking all future developers to fallback to Jira and use two search engines.

To make Jira effectively read-only post-migration, Robert suggested we could use Jira's workflow controls to make a "degraded" workflow that does not allow any writes to the issues (creating new issues, adding comments, changing milestones, etc.).  We can add that to the (draft) migration steps.

For committers, https://id.apache.org has the mapping of apache userid to GitHub id, though I'm not sure if that is publicly queryable.  And as @msokolov pointed out on the dev list thread, the GitHub Apache org might also have it.

Did you see/start from the Lucene.Net migration tool? This is what Shad Storhaug pointed to (up above).

Those few migrated issues look like a great start!

{}There is no way to upload files to GitHub with REST APIs{}; it is only allowed via the Web Interface.

Wow that is indeed disappointing.  I wonder whether GitHub's issue search also search attachments?  Does Jira's search?
 

@asfimport
Copy link
Author

Uwe Schindler (@uschindler) (migrated from JIRA)

Maybe we can ask them to manually disable notifications during the import.

@asfimport
Copy link
Author

Tomoko Uchida (@mocobeta) (migrated from JIRA)

I changed the notification mails to noreply@ so that we can silence them. Could you check the notification in private@ again please, @uschindler? Thanks.
apache/lucene-jira-archive@bbcc1b3

Chris Lambertus (fluxo) is his private account. I don't like to use that account, too. I would prefer some generic "bot" account

I think it's against GitHub's terms of policy to have multiple free accounts. I'm not sure it is possible though if we have a paid organization account that is not tied to a person, we could ask infra if we use it for the migration?

noreply@lao did not work. This time it gave an error message!

Hmm, then I'll revert the change.

Maybe we can ask them to manually disable notifications during the import.

In the recent migration test where all issues are migrated, we verified that notifications are not sent when executing migration scripts (importing issues and updating issues/comments), thanks to Houston and Dawid.

@asfimport
Copy link
Author

Tomoko Uchida (@mocobeta) (migrated from JIRA)

We can't use an arbitrary github account for migration because importing/creating issues with GitHub API requires not only the access token but also admin access to the repo - it is not allowed to have for developers.

@asfimport
Copy link
Author

Tomoko Uchida (@mocobeta) (migrated from JIRA)

I found this issue is an excellent sample for testing - this includes:

  1. Cross-issue link
  2. Pull Request link
  3. External link (to an image)
  4. Attachments (images) and references to them
  5. Mention to Jira IDs
  6. Bullet list
  7. Code block
  8. Quote

So I would add a numbered list and a fake table in this comment to make this more convenient for testing. Please ignore this comment.

Jira GitHub
LUCENE-1 #251
LUCENE-2 #252
LUCENE-3 #253

@asfimport
Copy link
Author

Uwe Schindler (@uschindler) (migrated from JIRA)

I know from the past that INFRA had some video conferences with Github representatives, so ASF is not just "some arbitrary customer". I think there was a lot of discussions going on. The LUCENE.NET import was long before they had close contact to Github.

I would really prefer to keep all orginal contributors, the change of names to some private account is a real blocker to me. When we can't modify the comment/issue creator mail address to use the official ASF one of the person or use some generic bot account, I would vote now -1 to the migration.

P.S.: Spring used a generic user for the import "spring-projects-issues": https://github.com/spring-projects/spring-framework/issues/created_by/spring-projects-issues

@asfimport
Copy link
Author

Uwe Schindler (@uschindler) (migrated from JIRA)

Spring also have a cool redirector in their webserver. It only redirects if you don't have some special param: https://jira.spring.io/browse/SPR-17639?redirect=false

And they also added a comment at end of all their issues (also by the bot).

@asfimport
Copy link
Author

Tomoko Uchida (@mocobeta) (migrated from JIRA)

P.S.: Spring used a generic user for the import "spring-projects-issues"

Yes, I like it. It should be an organization account - maybe we can ask infra if we have one?

@asfimport
Copy link
Author

Tomoko Uchida (@mocobeta) (migrated from JIRA)

I think it looks like we have too many topics to deal with in one issue? We can break up them into sub-jira tasks though, I created a few github issues in the lucene-jira-archive repo.
For example apache/lucene-jira-archive#4 ("Which GitHub account should we use for migration?")

Notifications were sent to issues@ this time. Looks fine.

@asfimport
Copy link
Author

Tomoko Uchida (@mocobeta) (migrated from JIRA)

I'm sorry for the noise - Jira's special emojis should be converted to corresponding Unicode emojis. This is a test post to make sure the mapping is correct.
👍 👎 🛈 ✔ ❌ ⚠ + − ? 💡 💡 ⭐ ⭐ ⭐ ⭐ ⭐ 🏴 🏳

@asfimport
Copy link
Author

Tomoko Uchida (@mocobeta) (migrated from JIRA)

Overall, I think we have a relatively safe migration strategy on GitHub side (many bug fixes and tasks still remain to be done).

On Jira side, I would do just two things.

  1. Show some texts that say "Jira is deprecated" when opening Jira issues.
  2. Add comments to each Jira issue that say "Moved to GitHub. You can find corresponding GitHub issue by Jira issue key.", or if it is easily possible, "Moved to GitHub <URL>."

It may not fulfill everyone's request/hope though, I already have too much on my plate and can't really expect others' hands on that. Please feel free to work on further improvements on Jira side, if you think it should be done for the move to GitHub (making Jira read-only, redirecting to GitHub from Jira, and so on).

@asfimport
Copy link
Author

Tomoko Uchida (@mocobeta) (migrated from JIRA)

[TEST] This was moved to GitHub issue: https://github.com/mocobeta/migration-test-3/issues/196.

@asfimport
Copy link
Author

Michael McCandless (@mikemccand) (migrated from JIRA)

[TEST] This was moved to GitHub issue: https://github.com/mocobeta/migration-test-3/issues/196.

Oooh that looks promising!!

@asfimport
Copy link
Author

Michael McCandless (@mikemccand) (migrated from JIRA)

OK I am able to administer our Jira instance.

There are some wrinkles – apparently because some of our workflows are shared across two projects (Lucene and Solr), the workflows themselves are read-only!  So we cannot change them unless we work the workflows.

But there is much discussion about this problem, e.g.: https://community.atlassian.com/t5/Jira-questions/Fastest-way-to-make-JIRA-read-only/qaq-p/1261492

I'll try to find the simplest way that works for us.

@asfimport
Copy link
Author

Michael McCandless (@mikemccand) (migrated from JIRA)

Hi @mocobeta – I added you as a Jira Administrator so you can poke around if you want to.

But I'll still try to figure out how to make Jira read-only.

@asfimport
Copy link
Author

Tomoko Uchida (@mocobeta) (migrated from JIRA)

@mikemccand thank you, I'm now able to edit the configuration. However, I am struggling with figuring out how to tweak the issue creation panel. I just wanted to set a placeholder or default value to the "Description" field...

@asfimport
Copy link
Author

Tomoko Uchida (@mocobeta) (migrated from JIRA)

it seems "Project admin" is not really allowed to do meaningful things, almost all components are shared between projects, and only Jira administrators can change them.

@asfimport
Copy link
Author

Michael McCandless (@mikemccand) (migrated from JIRA)

OK hmm we will likely need Infra's help for this then.

@asfimport
Copy link
Author

Michael McCandless (@mikemccand) (migrated from JIRA)

I realized that the Infra team makes Jira projects read-only sometimes (e.g. when they retire / expire to Attic): https://issues.apache.org/jira/browse/INFRA-23440?page=com.atlassian.jira.plugin.system.issuetabpanels%3Aall-tabpanel

I'll send an email to Infra to see if they have some clean/simple way to do this at the start of our migration process.

@asfimport
Copy link
Author

Michael McCandless (@mikemccand) (migrated from JIRA)

Though, one small wrinkle we have is that we will need to append one final comment to all Jiras (what @mocobeta has been iterating on recently!) after the GitHub issue assignment is known ... so we can't make it completely read-only until after the migration.  Tricky.  There will be a window where users may update some Jiras mid-migration.

@asfimport
Copy link
Author

Tomoko Uchida (@mocobeta) (migrated from JIRA)

The migration plan takes into account some moratoriums (three days, I think).

apache/lucene-jira-archive#7

There will be a window where users may update some Jiras mid-migration.

I don't think it is a big problem. We'll be able to easily detect issues/comments that are created during migration and add follow-up comments to encourage the authors migrate the comments manually.

I'll send an email to Infra to see if they have some clean/simple way to do this at the start of our migration process.

Again - I don't think we have had any discussion about making Jira read-only in the mail list. I don't have strong opinion on that, but I am against it if we are going to do so without giving others time to consider / chance to express opinions on this.

@asfimport
Copy link
Author

Michael McCandless (@mikemccand) (migrated from JIRA)

Again - I don't think we have had any discussion about making Jira read-only in the mail list. I don't have strong opinion on that, but I am against it if we are going to do so without giving others time to consider / chance to express opinions on this.

OK – I'll start a [DISCUSS] and then [VOTE] thread to reach consensus on this.

@asfimport
Copy link
Author

ASF subversion and git services (migrated from JIRA)

Commit 8938e6a in lucene's branch refs/heads/main from Tomoko Uchida
https://gitbox.apache.org/repos/asf?p=lucene.git;h=8938e6a3fab

LUCENE-10557: Add GitHub issue templates (#1024)

@asfimport
Copy link
Author

ASF subversion and git services (migrated from JIRA)

Commit 781edf4 in lucene's branch refs/heads/main from Tomoko Uchida
https://gitbox.apache.org/repos/asf?p=lucene.git;h=781edf442b2

LUCENE-10557: Refine issue label texts (#1036)

@asfimport
Copy link
Author

Tomoko Uchida (@mocobeta) (migrated from JIRA)

[TEST] This was moved to GitHub issue: #10626.

@asfimport
Copy link
Author

Tomoko Uchida (@mocobeta) (migrated from JIRA)

The work has already been carried over to https://github.com/apache/lucene-jira-archive.
I'm closing this.

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

No branches or pull requests

2 participants