We found in the Grimoire stats for Maniphest that the number of closed tickets per month up to 2014 was 0, which obviously is wrong, since Bugzilla tickets were migrated to Maniphest.
The problem seems to be due to the migration process. Apparently, tickets closed in Bugzilla were migrated to Maniphest as closed tasks, but without a related transaction for the status change. So the table phabricator_maniphest.maniphest_task has the column closedEpoch as NULL, and the trouble is that for calculating closed tickets per month, and the backlogs in the past, in Grimoire we use "closing events", which must have a date.
See for example these two, closed but without closing event:
Compared to these two (look for "closed this task as Resolved"):
I wonder if the missing closing events could be migrated to Maniphest. If that is not possible, we will look for some workaround in Grimoire, but the stats for before 2014 will probably render void.
Bugzilla had about 7500 duplicates, with this distribution over time:
1. Data scraping
In the next days (2023-07) we will scrape Bugzilla history pages to generate something like this in CSV:
Here the full raw data-source in JSON:
The goal of the above dataset is to capture all the "meaningful status changes" and have a CSV with the "most meaningful status change".
2. Data matching
Please add here some instructions about how to do the match BugZillaID → PhabricatorID ✨
3. Update
The goal here is to execute a lot of UPDATE queries against the phabricator_maniphest.maniphest_task database table having lot of expected Phabricator numerical IDs and close dates. Example:
UPDATE phabricator_maniphest.maniphest_task SET closedEpoch = :epoch: WHERE closedEpoch IS NULL AND id = :expected_phab_id: