Page MenuHomePhabricator

Decrease number of open Phab tickets with assignee field set for more than two years (aka cookie licking) (Q3/2023 edition)
Closed, ResolvedPublic

Description

Biannual followup to T315875

  1. Optional: Run: SELECT u.userName, CONCAT("https://phabricator.wikimedia.org/T",t.id) FROM phabricator_maniphest.maniphest_task t JOIN phabricator_user.user u JOIN phabricator_user.user_email ue JOIN phabricator_maniphest.maniphest_transaction ta WHERE (ta.transactionType = "reassign" AND ta.dateModified < (UNIX_TIMESTAMP() - 63072000)) AND u.phid = SUBSTR(ta.newValue, INSTR(ta.newValue, 'PHID-USER-'), 30) AND ta.objectPHID = t.phid AND t.ownerPHID = u.phid AND (t.status = "open") AND ue.userPHID = u.phid AND ue.isPrimary = 1 AND t.phid NOT IN (SELECT e.src FROM phabricator_maniphest.edge e WHERE e.type = 41 AND (e.dst = "PHID-PROJ-iuj2chpabktaluedrqsf" OR e.dst = "PHID-PROJ-hwr4habt5dzuabb5w2xz")) AND t.phid NOT IN (SELECT ta.objectPHID FROM phabricator_maniphest.maniphest_transaction ta WHERE (ta.transactionType = "reassign" AND ta.dateModified > (UNIX_TIMESTAMP() - 63072000))) AND t.phid IN (SELECT e.src FROM phabricator_maniphest.edge e WHERE e.type = 41 AND e.dst = "PHID-PROJ-onnxucoedheq3jevknyr") ORDER BY u.userName, t.id; to go through open assigned tasks with Patch-For-Review to manually check if they should still have that project tag
  2. Run: SELECT u.userName, ue.address FROM phabricator_maniphest.maniphest_task t JOIN phabricator_user.user u JOIN phabricator_user.user_email ue JOIN phabricator_maniphest.maniphest_transaction ta WHERE (ta.transactionType = "reassign" AND ta.dateModified < (UNIX_TIMESTAMP() - 63072000)) AND u.phid = SUBSTR(ta.newValue, INSTR(ta.newValue, 'PHID-USER-'), 30) AND ta.objectPHID = t.phid AND t.ownerPHID = u.phid AND (t.status = "open") AND ue.userPHID = u.phid AND ue.isPrimary = 1 AND t.phid NOT IN (SELECT e.src FROM phabricator_maniphest.edge e WHERE e.type = 41 AND (e.dst = "PHID-PROJ-onnxucoedheq3jevknyr" OR e.dst = "PHID-PROJ-iuj2chpabktaluedrqsf" OR e.dst = "PHID-PROJ-hwr4habt5dzuabb5w2xz")) AND t.phid NOT IN (SELECT ta.objectPHID FROM phabricator_maniphest.maniphest_transaction ta WHERE (ta.transactionType = "reassign" AND ta.dateModified > (UNIX_TIMESTAMP() - 63072000))) GROUP BY u.userName; only to get the number of different assignees, to be used in the nagging email
  3. Run: SELECT u.userName, ue.address, t.id FROM phabricator_maniphest.maniphest_task t JOIN phabricator_user.user u JOIN phabricator_user.user_email ue JOIN phabricator_maniphest.maniphest_transaction ta WHERE (ta.transactionType = "reassign" AND ta.dateModified < (UNIX_TIMESTAMP() - 63072000)) AND u.phid = SUBSTR(ta.newValue, INSTR(ta.newValue, 'PHID-USER-'), 30) AND ta.objectPHID = t.phid AND t.ownerPHID = u.phid AND (t.status = "open") AND ue.userPHID = u.phid AND ue.isPrimary = 1 AND t.phid NOT IN (SELECT e.src FROM phabricator_maniphest.edge e WHERE e.type = 41 AND (e.dst = "PHID-PROJ-onnxucoedheq3jevknyr" OR e.dst = "PHID-PROJ-iuj2chpabktaluedrqsf" OR e.dst = "PHID-PROJ-hwr4habt5dzuabb5w2xz")) AND t.phid NOT IN (SELECT ta.objectPHID FROM phabricator_maniphest.maniphest_transaction ta WHERE (ta.transactionType = "reassign" AND ta.dateModified > (UNIX_TIMESTAMP() - 63072000))) ORDER BY u.userName, t.id; to get actual data (which intentionally excludes tasks with Patch-For-Review or Epic or periodic-update)
  4. Convert output of second SQL query to a CSV file
  5. Remove duplicate task IDs
  6. Use script at https://gitlab.com/aklapper/wikimedia-maniphest-assignee-nagging to create raw email file to import into your email client
  7. Send first round of emails
  8. [FUTURE] Wait three weeks
  9. [FUTURE] Run updated query to see which tasks are left
  10. [FUTURE] Send second and last round of emails
  11. [FUTURE] Wait two weeks
  12. Remove assignee for tasks left and add explanatory text comment:

Removing task assignee as this open task has been assigned for more than two years - See the email sent to task assignee on <INSERT DATE HERE>.
Please assign this task to yourself again if you still realistically [plan to] work on this task - it would be welcome! :)
If this task has been resolved in the meantime, or should not be worked on by anybody ("declined"), please update its task status via "Add Action… 🡒 Change Status".
Also see https://www.mediawiki.org/wiki/Bug_management/Assignee_cleanup for tips how to best manage your individual work in Phabricator. Thanks!

  1. Create followup task for same stuff in half a year.

Details

Due Date
Nov 20 2023, 11:00 PM

Event Timeline

Aklapper changed the task status from Stalled to Open.Sep 17 2023, 2:16 PM
Aklapper raised the priority of this task from Lowest to Low.
Aklapper changed the task status from Open to Stalled.Sep 18 2023, 5:13 PM
Aklapper set Due Date to Oct 5 2023, 10:00 PM.

First batch of emails sent to the email addresses registered in Phabricator of 186 task assignees about their 353 open tasks assigned to them for more than two years without changes in task assignment, excluding any tasks tagged with either Patch-For-Review or Epic or periodic-update.

Content of email sent:

Hi $phabricatorUsername,

You receive this message because you are one of 186 people who have
open tasks in Wikimedia Phabricator assigned for more than two years:

https://phabricator.wikimedia.org/maniphest/?ids=XXX,YYY,ZZZ#R

Are you still realistically working (or planning to work) on them?

If you do not plan to work on a task anymore, please remove yourself
from the Assignee field (via "Add Action… 🡒 Assign / Claim" in the
dropdown menu above the comment field), to avoid cookie-licking.

If a task has been resolved or should not be worked on ("declined"),
then please update its status via "Add Action… 🡒 Change Status".

If you will work on a task soon and want to stay assigned, please
remove yourself as assignee and then assign it again to yourself.

You can see all your tasks assigned to you at:
https://phabricator.wikimedia.org/maniphest/query/assigned/

For general info plus help on managing your tasks and work in Phab,
see: https://www.mediawiki.org/wiki/Bug_management/Assignee_cleanup

Please do not reply to this message. For general feedback, use:
https://www.mediawiki.org/wiki/Talk:Bug_management/Assignee_cleanup

Thanks for your help!
andre

Reminder email sent to 117 task assignees about their 221 open assigned tasks.

Aklapper changed Due Date from Oct 5 2023, 10:00 PM to Nov 20 2023, 11:00 PM.Nov 13 2023, 6:00 PM

Unassigned 108 task assignees from their 198 open assigned tasks.