Gather ticket system information to ensure commit message quality and profile change

  • What are you trying to accomplish?
    We have a deep integration between our ticket system (Jira) and our source control (Bitbucket). If developers use the ticket number in the commit message it is possible to jump between sources and requirements / defects. We don’t have a way to “force” this and we don’t profit from this information during code review.

  • Why does this matter to you?
    The existence of a ticket does not ensure a good documentation, but it encourages developers to avoid the usage of a “commit” like a “save button”. Work belonging together should be trackable, naturally one ticket can have more than one commit.

  • How would that look in SonarQube? Alternatives?

  1. Provide a check for a particular commit and/or pull request to check naming conventions / existence of a ticket reference. This would be the “minimum viable product”.
  2. Provide a navigation from the code to the ticket system
  3. Show a color bar next to the code indicating “no ticket”, “defect”, “task”, “epic” (categories depending on the ticket system) for the last change.
  4. Show aggregate information about the code base as metric: changed with “no ticket”, as “defect”, as part of a “task” or “epic”.
  • How would we know it works well?
    A test with commits with and without references should be easy to setup.

  • Why should it be a priority now?
    A startup competitor is providing exactly this feature to navigate through the code.