-
Notifications
You must be signed in to change notification settings - Fork 6
Open
Description
❌ This issue is not open for contribution. Visit Contributing guidelines to learn about the contributing process and how to find suitable issues.
Current behavior
When a contributor comments on an unassigned help wanted issue, a Slack notification is sent to #support-dev. A team member then needs to manually review and assign the contributor to the issue. This creates delays and requires manual intervention for every assignment.
Desired behavior
Add a /assign slash command that allows contributors to self-assign to help wanted issues, with safeguards to prevent abuse.
How it works:
- The
help wantedheader (automatically added to issues) is updated to include instructions to comment/assignand a note about the 2-issue maximum limit - When a contributor comments
/assignon an eligible issue (labeledhelp wanted, currently unassigned), the bot automatically assigns them and posts a confirmation - Contributors are limited to a maximum of 2 assigned issues at a time across all community repositories (kolibri, studio, kolibri-design-system, le-utils, .github, ricecooker)
- To prevent issue shopping (dropping issues to grab more interesting ones), issues unassigned within the last 7 days still count toward the 2-issue limit
- When a contributor is at the limit, the bot declines and lists their current assignments (and recently dropped issues with remaining cooldown days)
What stays the same:
- Existing Slack notifications for issue comments
- Existing bot replies for non-eligible issues (
BOT_MESSAGE_ISSUE_NOT_OPEN,BOT_MESSAGE_ALREADY_ASSIGNED) - All close contributor and core team handling
/assign behavior
| Contributor type | Issue type | Comment | Action |
|---|---|---|---|
| Core team | Any | /assign |
No action (not a contributor) |
| Close contributor | Any | /assign |
No action (not processed) |
| Other | Unassigned help-wanted |
/assign (under limit) |
Assign user, bot confirms |
| Other | Unassigned help-wanted |
/assign (at limit) |
Bot declines, lists current + recently dropped assignments |
| Other | help-wanted assigned to someone else |
/assign |
Bot says already assigned (existing behavior) |
| Other | Not help-wanted |
/assign |
Bot says not open for contribution (existing behavior) |
Value add
- Eliminates manual assignment overhead for the team - no more monitoring Slack and manually assigning contributors to issues
- Faster turnaround for contributors - they can start working immediately instead of waiting for a team member to assign them
- The 2-issue limit and 7-day cooldown enforce good contribution habits (focus on completing work, not grabbing issues)
Possible tradeoffs
- The GitHub App token needs issue write permissions (assign) in addition to the existing comment permissions - this may need to be verified/updated in consuming repositories
- The 7-day cooldown on recently unassigned issues requires querying issue timeline events across all community repos, which adds API calls
- The 2-issue limit is org-wide across all community repos - a contributor can't have e.g. 2 issues in kolibri and 1 in studio. This is intentional but worth noting for the team
Acceptance Criteria
- The
help wantedissue header includes instructions to comment/assignand mentions the 2-issue limit - Commenting
/assignon an unassignedhelp wantedissue assigns the commenter and posts a confirmation message - Contributors with 2+ currently assigned issues (across all community repos) are declined with a message listing their assignments
- Issues unassigned within the last 7 days count toward the 2-issue limit
- The decline message shows both current assignments and recently dropped issues with remaining cooldown days
-
/assignon a non-help wantedissue or an already-assigned issue is handled by existing bot messages - Existing Slack notification behavior is unchanged
- Documentation in
docs/community-automations.mdis updated
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels
