dhis2 / notes

:memo: Memos, proposals, agendas and meeting minutes
19 stars 8 forks source link

Migrate to JIRA Issue Tracker #135

Closed varl closed 3 years ago

varl commented 3 years ago

The discussion about "GitHub Issues vs. JIRA" is unlikely to have slipped by unnoticed. It is a topic that is controversial with strong opinions and good arguments, for and against.

The general consensus is that since JIRA is the official issue tracker for DHIS2, we can better visualize dependencies across the entire project if we move everything into that single tool. That said, I am not going to reiterate all of the arguments here and instead focus on the practical side of things.

How do we actually move from GitHub Issues to JIRA?

First we need to lay out the current structure.

Current JIRA project structure:

When we move to continuous application versions, then the web applications and core will no longer have the same release cycle and apps will need to manage their own versions.

Further than that, each web application depends on a suite of libraries that we develop, which in turn has their own versions and releases.

Today, our libraries are managed independently completely outside of JIRA, while our applications are managed in the context of the DHIS2 project in JIRA.

Future JIRA project structure

Phase 1: Migrate libraries

  1. Set up JIRA project for LIBS
  2. Move GitHub Issues to JIRA per repo.
  3. No release version tracking in JIRA.
  4. Keep the release pipeline as it is today.
  5. Set up simple workflow in JIRA for LIBS project.
  6. Set up source code links for Smart Commits.
  7. Disable GitHub Issues in repository
  8. Add deeplinks and info on how to report issues for the library in README.

Example:

Phase 2:

...

Phase 3:

...

varl commented 3 years ago

Migrated

App Hub

Libs

CLI

varl commented 3 years ago

Phase 1 has been completed.

varl commented 3 years ago

tl;dr: I have re-enabled the issues section and added a comment-and-close workflow to the library repositories.

There are tools we use that are deeply integrated into GitHub that create issues in certain situations, for example, if something fails. Dependabot, semantic-release, and Kodiak do this, and there may be more.

Disabling Issues cause these integrations to fail, so we need to keep Issues available to those tools. At the same time, we want to inform everyone that our issue tracker is JIRA, and close any issues that are created by non-bot users.

This has been done for all the migrated repos in the list above.

varl commented 3 years ago

I went over the apps as well and added the comment-and-close workflow.

Only these apps have issues in them that need to be migrated to JIRA. At least no new issues can be opened by non-exempt user from now on.

varl commented 3 years ago

This is more or less obsolete now that there are no open issues on the repos noted above: https://github.com/dhis2/notes/issues/135#issuecomment-731216466

Phase 2 is moving apps out from the core project to the apps project within JIRA, but it is tracked elsewhere.

Closing this.