website
website copied to clipboard
GitHub Actions: Notify developers if they are working on multiple issues at once
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
- [x] Become familiar with HfLA's GitHub Actions
- [x] 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)
- [x] 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)
- [x] 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_name
andevent.action
). The workflow first checks labels, and then runspreliminary-update-comment.js
to post a comment on the issue. - [x] 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.
- [x] Your script should check the following:
- [x] Whether the dev is assigned to multiple open issues at once
- [x] Since closed issues stay assigned to the dev that completed them, it should not look at any of the dev's closed issues
- [x] This should exclude any issues with label
Complexity: Prework
- [x] This should exclude any devs who are members of either the 'website-merge' or 'website-admins' teams
- [x] This should exclude any Agenda issues (2010, 2027, 2212, 2607)
- [x] This should exclude any issues in the following columns:
- [x] "Emergent Requests"
- [x] "New Issue Approval"
- [x] This should exclude any issues with label
- [x] Navigate to the add-preliminary-comment collection
- [x] Add a new .md file named
multiple-issue-reminder.md
- [x] 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! :)
- [x] If the dev already has an open issue, the new comment
multiple-issue-reminder.md
should post instead of the comment that asks the dev for their availability
- [x] Add a new .md file named
- [x] The script should also perform the following:
- [x] Unassign the dev from the issue
- [x] Add a
ready for dev lead
label - [x] Move the issue to the "New Issue Approval" column for dev leads to reprioritize
- [x] Demonstrate your new GHA to the merge team
Resources/Instructions
- ER associated with this issue: https://github.com/hackforla/website/issues/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
should also exclude issues that are agendas, in the ER column, new issue approval column
should also exclude issues that are agendas, in the ER column, new issue approval column
@ExperimentsInHonesty I believe the GHA could be set up to exclude members that have a role of maintainer on the "website-write" team, which should exclude the agendas and also as is current where yourself and Roslyn, etc. are assigned to multiple issues.
UPDATE: 3/24/24: Instead of 'Maintainer', note added to exclude team members from 'website-merge' and 'website-admins'
Hi @davidwiese, 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 :)
Availability: Weekdays 1pm-4pm PST ETA: 10/13/23
Need to unassign, will not have time to complete this issue
Hi @erinzz, 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 :)
Availability: weekdays 1 - 6 PM ETA: 10/13
Have not had time to work on this as well, will unassign
Hi @pearlescence-m, 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 :)
Availability: Evenings 6-10 pm & weekends ETA: 10/29 EOD
@pearlescence-m
Please add update using the below template (even if you have a pull request). Afterwards, remove the 'To Update !' label and add the 'Status: Updated' label.
- Progress: "What is the current status of your project? What have you completed and what is left to do?"
- Blockers: "Difficulties or errors encountered."
- Availability: "How much time will you have this week to work on this issue?"
- ETA: "When do you expect this issue to be completed?"
- Pictures (optional): "Add any pictures of the visual changes made to the site so far."
If you need help, be sure to either: 1) place your issue in the Questions/In Review
column of the Project Board and ask for help at your next meeting, 2) put a "Status: Help Wanted" label on your issue and pull request, or 3) put up a request for assistance on the #hfla-site channel. Please note that including your questions in the issue comments- along with screenshots, if applicable- will help us to help you. Here and here are examples of well-formed questions.
You are receiving this comment because your last comment was before Tuesday, October 24, 2023 at 12:05 AM PST.
- Progress: Familiarized myself with GHAs, completed 6/23 tasks, in the process of script development and testing. I might need more time to finish the task, so will be extending the ETA for another 2 weeks for now.
- Blockers: None so far
- Availability: Evenings & weekends
- ETA: 11/12 EOD
@pearlescence-m
Please add update using the below template (even if you have a pull request). Afterwards, remove the 'To Update !' label and add the 'Status: Updated' label.
- Progress: "What is the current status of your project? What have you completed and what is left to do?"
- Blockers: "Difficulties or errors encountered."
- Availability: "How much time will you have this week to work on this issue?"
- ETA: "When do you expect this issue to be completed?"
- Pictures (optional): "Add any pictures of the visual changes made to the site so far."
If you need help, be sure to either: 1) place your issue in the Questions/In Review
column of the Project Board and ask for help at your next meeting, 2) put a "Status: Help Wanted" label on your issue and pull request, or 3) put up a request for assistance on the #hfla-site channel. Please note that including your questions in the issue comments- along with screenshots, if applicable- will help us to help you. Here and here are examples of well-formed questions.
You are receiving this comment because your last comment was before Monday, November 6, 2023 at 11:05 PM PST.
@pearlescence-m
Please add update using the below template (even if you have a pull request). Afterwards, remove the '2 weeks inactive' label and add the 'Status: Updated' label.
- Progress: "What is the current status of your project? What have you completed and what is left to do?"
- Blockers: "Difficulties or errors encountered."
- Availability: "How much time will you have this week to work on this issue?"
- ETA: "When do you expect this issue to be completed?"
- Pictures (optional): "Add any pictures of the visual changes made to the site so far."
If you need help, be sure to either: 1) place your issue in the Questions/In Review
column of the Project Board and ask for help at your next meeting, 2) put a "Status: Help Wanted" label on your issue and pull request, or 3) put up a request for assistance on the #hfla-site channel. Please note that including your questions in the issue comments- along with screenshots, if applicable- will help us to help you. Here and here are examples of well-formed questions.
You are receiving this comment because your last comment was before Monday, November 13, 2023 at 11:06 PM PST.
Sorry, didn't have time to work on this as well, I'll unassign
Hi @one2code, 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 :)
Availability: 02/08-02/09/24 12-6PM EST, 02/13/24,02/17-02/18/24 12-6PM EST ETA: By 02/18/24
Current update: I have implemented logic that will pull all of the open issues and filter out issues with the label Complexity: Prework or prework
. After testing that this is working correctly, I will begin to further implement logic to exclude the maintainer role, and and the New Issues Approval and Emergent Requests
. It looks like the Projects API will need to be hit to perform that step.
This issue may take longer than expected, due to the different API's that need to be hit to successfully implement the requested features, and the challenges of managing this without exceeding Github's rate limiting.
@one2code
Please add update using the below template (even if you have a pull request). Afterwards, remove the 'To Update !' label and add the 'Status: Updated' label.
- Progress: "What is the current status of your project? What have you completed and what is left to do?"
- Blockers: "Difficulties or errors encountered."
- Availability: "How much time will you have this week to work on this issue?"
- ETA: "When do you expect this issue to be completed?"
- Pictures (optional): "Add any pictures of the visual changes made to the site so far."
If you need help, be sure to either: 1) place your issue in the Questions/In Review
column of the Project Board and ask for help at your next meeting, 2) put a "Status: Help Wanted" label on your issue and pull request, or 3) put up a request for assistance on the #hfla-site channel. Please note that including your questions in the issue comments- along with screenshots, if applicable- will help us to help you. Here and here are examples of well-formed questions.
You are receiving this comment because your last comment was before Monday, February 19, 2024 at 11:06 PM PST.
@one2code
Please add update using the below template (even if you have a pull request). Afterwards, remove the '2 weeks inactive' label and add the 'Status: Updated' label.
- Progress: "What is the current status of your project? What have you completed and what is left to do?"
- Blockers: "Difficulties or errors encountered."
- Availability: "How much time will you have this week to work on this issue?"
- ETA: "When do you expect this issue to be completed?"
- Pictures (optional): "Add any pictures of the visual changes made to the site so far."
If you need help, be sure to either: 1) place your issue in the Questions/In Review
column of the Project Board and ask for help at your next meeting, 2) put a "Status: Help Wanted" label on your issue and pull request, or 3) put up a request for assistance on the #hfla-site channel. Please note that including your questions in the issue comments- along with screenshots, if applicable- will help us to help you. Here and here are examples of well-formed questions.
You are receiving this comment because your last comment was before Monday, February 26, 2024 at 11:06 PM PST.
Hi @one2code! Thanks for working on this issue. If you're still working on it, please add an update. If you're not able to continue to working on it, leave us a comment to let us know. If we don't hear from you soon, we will remove you from the issue. Thanks!
@one2code
Please add update using the below template (even if you have a pull request). Afterwards, remove the '2 weeks inactive' label and add the 'Status: Updated' label.
- Progress: "What is the current status of your project? What have you completed and what is left to do?"
- Blockers: "Difficulties or errors encountered."
- Availability: "How much time will you have this week to work on this issue?"
- ETA: "When do you expect this issue to be completed?"
- Pictures (optional): "Add any pictures of the visual changes made to the site so far."
If you need help, be sure to either: 1) place your issue in the Questions/In Review
column of the Project Board and ask for help at your next meeting, 2) put a "Status: Help Wanted" label on your issue and pull request, or 3) put up a request for assistance on the #hfla-site channel. Please note that including your questions in the issue comments- along with screenshots, if applicable- will help us to help you. Here and here are examples of well-formed questions.
You are receiving this comment because your last comment was before Monday, March 4, 2024 at 11:06 PM PST.
@one2code
Please add update using the below template (even if you have a pull request). Afterwards, remove the '2 weeks inactive' label and add the 'Status: Updated' label.
- Progress: "What is the current status of your project? What have you completed and what is left to do?"
- Blockers: "Difficulties or errors encountered."
- Availability: "How much time will you have this week to work on this issue?"
- ETA: "When do you expect this issue to be completed?"
- Pictures (optional): "Add any pictures of the visual changes made to the site so far."
If you need help, be sure to either: 1) place your issue in the Questions/In Review
column of the Project Board and ask for help at your next meeting, 2) put a "Status: Help Wanted" label on your issue and pull request, or 3) put up a request for assistance on the #hfla-site channel. Please note that including your questions in the issue comments- along with screenshots, if applicable- will help us to help you. Here and here are examples of well-formed questions.
You are receiving this comment because your last comment was before Tuesday, March 12, 2024 at 12:06 AM PST.
Hi @one2code! Since we haven't received an update from you, I'm taking you off the issue and moving it for re-prioritization. Feel free to take on another issue, if you become available.
@t-will-gillis please check these off when the changes have been made.
- [x] It looks like there are comments that you and I have left on this issue, that possibly need to be integrated into the top portion so that we can hide them.
- [x] One of the people who assigned and then was unassigned from the issue references that multiple APIs need to be used, and they were concerned about rate limiting. Are there resources we have about those things that are not linked to this issue? Or if they are linked, do we need to call them out more clearly?
WG: I revised / reordered the description in a way. About the rate limiting: although I have run into rate limiting once or twice in on past issues, this usually resets after an hour. IMO I don't believe there is anything unusual about this issue that would make the rate limiting a particular concern.
Hi @Ayrh1, 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 :)
Availability: Monday - Sunday: 6pm - 7:30pm
ETA: Mon: 5/11/24
@Ayrh1 I have moved this issue into the in progress column. Please remember to do that when assigning yourself to an issue in the future.
@Ayrh1
Please add update using the below template (even if you have a pull request). Afterwards, remove the 'To Update !' label and add the 'Status: Updated' label.
- Progress: "What is the current status of your project? What have you completed and what is left to do?"
- Blockers: "Difficulties or errors encountered."
- Availability: "How much time will you have this week to work on this issue?"
- ETA: "When do you expect this issue to be completed?"
- Pictures (optional): "Add any pictures of the visual changes made to the site so far."
If you need help, be sure to either: 1) place your issue in the Questions/In Review
column of the Project Board and ask for help at your next meeting, 2) put a "Status: Help Wanted" label on your issue and pull request, or 3) put up a request for assistance on the #hfla-site channel. Please note that including your questions in the issue comments- along with screenshots, if applicable- will help us to help you. Here and here are examples of well-formed questions.
You are receiving this comment because your last comment was before Tuesday, April 23, 2024 at 12:06 AM PST.
Progress: "What is the current status of your project? What have you completed and what is left to do?"
-Ive gone through all the documentation on GitHub actions, a lot! Blockers: "Difficulties or errors encountered." -None Yet,
Availability: "How much time will you have this week to work on this issue?" -6hrs per week
ETA: "When do you expect this issue to be completed?" -I and dedicating 6hrs per week, but the documentation alone was a bit long, but necessary. Might change my completion date depending of how much i advance this week.
Pictures (optional): "Add any pictures of the visual changes made to the site so far." If you need help, be sure to either: 1) place your issue in the Questions/In Review column of the Project Board and ask for help at your next meeting, 2) put a "Status: Help Wanted" label on your issue and pull request, or 3) put up a request for assistance on the #hfla-site channel. Please note that including your questions in the issue comments- along with screenshots, if applicable- will help us to help you. https://github.com/hackforla/website/issues/1619#issuecomment-897315561 and https://github.com/hackforla/website/issues/1908#issuecomment-877908152 are examples of well-formed questions.