highfive icon indicating copy to clipboard operation
highfive copied to clipboard

Help people without permissions claim issues

Open edunham opened this issue 9 years ago • 5 comments

Servo has the wonderful problem of new contributors stepping on each others' toes for introductory bugs. To reduce this, it would be nice to have Highfive note that an issue is claimed when someone claims it. I can think of two ways to implement an "assign to newbie":

  • Find or make the "C-Assigned" tag, tag the issue with it, comment "this issue was claimed by ___ on //____"
  • Add the new user to a team with read-only permissions, then add them as the actual assignee in the github UI (not sure if this works; it should be documented on https://help.github.com/articles/permission-levels-for-an-organization-repository/ and I've contacted support to get it added)

Either way, I'd propose a syntax like "@highfive assign @username" (usable by people with r+ perms on the repo to assign to arbitrary newbies) plus "@highfive assign me" for someone who has no perms yet to claim the ticket through whichever mechanic we decide.

It could also be nice to have the issue-claiming syntax include a timeout, like "@highfive assign me 1week", and have highfive unassign the issue if it ever sits for longer than the specified timeout with no new comments.

@jdm, thoughts?

edunham avatar Nov 23 '15 18:11 edunham

The timeout idea would require some notion of state to be preserved, as well as figuring out when and how to trigger highfive to deal with expired items, since it's only run as a webhook at the moment. Here's a way we could make the special assignment syntax maximally useful:

  • when an issue marked "E-easy" or "E-less easy" receives a comment from a user who is not in the list of repository contributors
  • if it is the user's first comment in the issue
  • we could have highfive add a comment saying something like "Hi [username]! I'm an automated bot to help new contributors; if you're asking to have this issue assigned to you, just say "@highfive assign me" and I'll make it happen!" This would hopefully act as a useful learning device without being an annoyance.

jdm avatar Nov 23 '15 19:11 jdm

Heard back from github support:

To answer your question, you must have at least Read permission on a repository to be assigned an issue

so the teams implementation could work for this.

edunham avatar Nov 23 '15 20:11 edunham

That's a very interesting solution!

jdm avatar Nov 23 '15 20:11 jdm

I think the idea of adding people who are helping out in various small ways to a read-only team makes sense. It makes it possible to properly assign issues to people, which is a great benefit. The administrative burden of doing this should also be fairly low.

perlun avatar Jun 22 '16 05:06 perlun

Today I learned about https://github.com/eeyorebot/eeyore, which might have the features to address this issue.

edunham avatar Aug 25 '16 05:08 edunham