Uploaded image for project: 'Qt Quality Assurance Infrastructure'
  1. Qt Quality Assurance Infrastructure
  2. QTQAINFRA-5145

Rewrite the Jira-closer/fixes bot



    • Bug
    • Resolution: Fixed
    • P1: Critical
    • None
    • production
    • qtqa module
    • None
    • a940e8658 (dev)


      The current fixes bot at qt/qtqa/scripts/jira/jira-bug-closer has developed a number of issues which are too difficult to rectify in the current architecture.

      • The fixed-version field is rarely set correctly. Release notes for a new version contain vastly more Jira issues than a fixed-version filter in Jira shows. This bug occurs silently and it is unclear why the bot does not choose a fixed version when closing an issue.
      • The commits field is updated with duplicated shas of tqtc/* shadow repositories when a change was originally merged in the corresponding public repo. This issue requires rearchitecting to implement a system of queries and checks to avoid duplication.
      • After a change is closed, the commits field in Jira gets replaced instead of updated if a follow-up cherry-pick attempts to add to the commits field.
      • The bot occasionally leaks file handles, presumably from git when operating on local repos.
      • The bot contributes to congestion on codereview.qt-project.org when it clones or updates local repositories (code.qt.io cannot be used since access to tqtc repos is needed). This should be rectified by using rate-limited REST calls to gerrit instead of local repo clones.
      • The bot may use an invalid Jira Issue Transition on projects which do not use the historical transition name "Close"


      The new bot should:

      • Utilize gerrit webhooks for incoming event stream data.
      • Utilize gerrit/Jira queries to identify missed work
      • Close issues where the corresponding change in gerrit has a commit message which includes the footer "Fixes:"
      • Reliably identify the target version of a merged change in gerrit and update the "Fix Versions" field in Jira.
      • Update the "commits" field of a Jira ticket with the merged commit sha of a given gerrit change.
      • Intelligently truncate commits and fix version field data as necessary to fit in the Jira Max Character Limit (255) for custom fields.
      • Dynamically identify valid state transitions for a given Jira Project and use the appropriate transition to close an issue.


        Issue Links

          No reviews matched the request. Check your Options in the drop-down menu of this sections header.



              daniel.smith Daniel Smith
              daniel.smith Daniel Smith
              Jukka Jokiniva Jukka Jokiniva
              0 Vote for this issue
              4 Start watching this issue



                Gerrit Reviews

                  There are no open Gerrit changes