-
-
Notifications
You must be signed in to change notification settings - Fork 847
Description
Overview
We need a GitHub Action that notifies a developer when they have assigned themselves to multiple open issues, so that they don't "camp on issues".
Details
Camp on issues = when a person assigns themselves to multiple issues, planning on working on them in the future. You cannot work on two things simultaneously, so you are basically keeping other people who are looking for an issue from being able to start on them.
As a developer on the website team, you are expected to follow the chain of complexity when you assign yourself an issue; that is, two good first issues, one small issue, one medium issue, and at least one large issue while only working on one issue at a time.
Currently, when a developer assigns themselves an issue, a GitHub Action runs that posts this comment on the issue:
Message
Hi @developer, thank you for taking up this issue! Hfla appreciates you :)
Do let fellow developers know about your:-
i. Availability: (When are you available to work on the issue/answer questions other programmers might have about your issue?)
ii. ETA: (When do you expect this issue to be completed?)
You're awesome!
P.S. - You may not take up another issue until this issue gets merged (or closed). Thanks again :)
When a developer assigns themselves to more than one issue, we want to post an alternate message instead.
Action Items
- Become familiar with HfLA's GitHub Actions
- If you have not already done so, create a copy of the Project Board into your own repo (Tip 6: Creating your own Project Board)
- Be sure to read up on using Personal Access Tokens to test the project board in your own repo (Tip 7: Using Personal Access Tokens to test in your own Project Board)
- Review the .github/workflows/issue-trigger.yml workflow and note the job "Ask-For-Preliminary-update", which is triggered when an issue is assigned (
event_nameandevent.action). The workflow first checks labels, and then runspreliminary-update-comment.jsto post a comment on the issue. - In preliminary-update-comment.js, add to the existing script with code that checks whether the developer is assigned to multiple issues and if so posts the alternate message.
- Your script should check the following:
- Whether the dev is assigned to multiple open issues at once
- Since closed issues stay assigned to the dev that completed them, it should not look at any of the dev's closed issues
- This should exclude any issues with label
Complexity: Prework - This should exclude any devs who are members of either the 'website-merge' or 'website-admins' teams
- This should exclude any Agenda issues (2010, 2027, 2212, 2607)
- This should exclude any issues in the following columns:
- "Emergent Requests"
- "New Issue Approval"
- This should exclude any issues with label
- Navigate to the add-preliminary-comment collection
- Add a new .md file named
multiple-issue-reminder.md - Copy the following text into the .md file
<!-- Template for a notification to the assignee that they're already assigned to an open issue and that they will be unassigned --> Hello @${issueAssignee}, we appreciate you taking on this issue, however it looks like you're already working on another issue at this time. Please wait until your current issue is merged before taking on another issue. :) We are going to unassign you from this issue so you can focus on your current issue. Hfla appreciates you! :) - If the dev already has an open issue, the new comment
multiple-issue-reminder.mdshould post instead of the comment that asks the dev for their availability
- Add a new .md file named
- The script should also perform the following:
- Unassign the dev from the issue
- Add a
ready for dev leadlabel - Move the issue to the "New Issue Approval" column for dev leads to reprioritize
- Demonstrate your new GHA to the merge team
Resources/Instructions
- ER associated with this issue: ER from TLDL: GHA message when a team member is assigned to multiple issues at the same time #4230
- Never done GitHub actions? Start here!
- GitHub Complex Workflows doc
- GitHub Actions Workflow Directory
- Events that trigger workflows
- Workflow syntax for GitHub Actions
- actions/github-script
- GitHub RESTAPI
- HfLA GitHub Action workflows
- HfLA GitHub Action JavaScript files
- HfLA's GitHub Actions
Metadata
Metadata
Assignees
Labels
Type
Projects
Status