Migrate JIRA to Gitlab
(this overview is not 100% final and might evolve as we receive more comments)
To read more about the motivation to migrate away from JIRA and what we aim to improve for users, see: https://lab.civicrm.org/infrastructure/ops/wikis/gitlab-roadmap
tl;dr, the Core Team is planning to move off JIRA:
- We will keep pull-requests on Github
- We will not require to open an issue for a pull-request
- Will require enforcing the PR template more strictly
- Having clear commit messages
- Nonetheless strongly encourage to create an issue early on, before a dev invests significant energy in a pull-request that might be rejected, and to encourage collaboration / early feedback.
- Under the "Development Team" space in Gitlab, there will be multiple projects, ex: civicase, event, contribution, accounting, cloud-native, translation, etc (hopefully not more than a dozen, but we'll see).
- These issues can then be referenced in commit messages.
- Gitlab will fill a gap between Mattermost and Stack Exchange, where we might want to discuss improvements (or bugs without a PR), get feedback and encourage collaboration, create roadmaps, etc.
- Separating project spaces will help with LeXiM, whose discussion already happens in other repositories.
- It should also help to see who helps maintain various components, to be able to ping people to get feedback/review on PRs.
- We can search across the projects under a group (dev-team) using labels, for example, to find open critical/blocker issues.
- JIRA archives will be migrated to an archived project in Gitlab (so that we can eventually turn off the JIRA server, while keeping a searchable archive).
- Around February 2018, it will no longer be possible to create a new issue in JIRA, but it will still be possible to comment or otherwise followup on existing issues.
- The archives would be migrated to Gitlab towards June.
- Add redirects from https://issues.civicrm.org/CRM-XXXX to the new URL in Gitlab
Tasks / Roadmap:
March/April 2017: Test Gitlab usability for general projects, such as CiviCamps and civicrm.org
June 2017: Officially adopt Gitlab and announce moving away from Confluence
July 2017 to January 2018: Get community feedback on JIRA to Gitlab migration plan
January 2018: Ensure that Release Notes do not rely on JIRA (the script is parsing the git log? discussed with AGH)
January 2018: Automatically assign the correct milestone (fix-version).
February 2018: Implement policy that opening a JIRA issue is no longer required to submit a pull-request
- Propose updates to the developer docs.
- Ensure that Release Notes tools have what they need to work as expected (ex: github release milestones)
FebruaryMarch 2018: remove permission to create new issues in JIRA.
~ March 2018: Move Extensions (EXT) to Gitlab(archive not migrated, discussion moved to various trackers, whether docs or extdir)
~ March 2018: Move CiviVolunteer to either Gitlab or Github(archive not migrated, issues now on github)
~ June 2018: Migrate the JIRA archives to an archive project in Gitlab (which means that the 1798 open issues would have to be re-triaged / moved?)(archive not moved, archive will be converted to a static site)
December 2018: Create a static HTML version of JIRA in case any information is missing from the migration to Gitlab. See: infrastructure/ops#868
Configure a redirection from issues.c.o/CRM-1234 to lab.c.o/dev/archive/1234(not required anymore, since we are not migrating issues)