servo / highfive

Github hooks to provide an encouraging atmosphere for new contributors
Mozilla Public License 2.0
254 stars 58 forks source link

Help people without permissions claim issues #30

Open edunham opened 8 years ago

edunham commented 8 years ago

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":

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?

jdm commented 8 years ago

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:

edunham commented 8 years ago

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.

jdm commented 8 years ago

That's a very interesting solution!

perlun commented 8 years ago

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.

edunham commented 8 years ago

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