website icon indicating copy to clipboard operation
website copied to clipboard

GitHub Actions: Notify developers if they are working on multiple issues at once

Open jdingeman opened this issue 1 year ago • 34 comments

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] 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 and event.action). The workflow first checks labels, and then runs preliminary-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] 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] 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

jdingeman avatar Apr 13 '23 23:04 jdingeman

should also exclude issues that are agendas, in the ER column, new issue approval column

ExperimentsInHonesty avatar Apr 30 '23 17:04 ExperimentsInHonesty

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'

t-will-gillis avatar Aug 30 '23 17:08 t-will-gillis

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

github-actions[bot] avatar Sep 26 '23 19:09 github-actions[bot]

Availability: Weekdays 1pm-4pm PST ETA: 10/13/23

davidwiese avatar Sep 26 '23 19:09 davidwiese

Need to unassign, will not have time to complete this issue

davidwiese avatar Oct 03 '23 15:10 davidwiese

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

github-actions[bot] avatar Oct 03 '23 18:10 github-actions[bot]

Availability: weekdays 1 - 6 PM ETA: 10/13

erinzz avatar Oct 03 '23 18:10 erinzz

Have not had time to work on this as well, will unassign

erinzz avatar Oct 13 '23 19:10 erinzz

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

github-actions[bot] avatar Oct 14 '23 15:10 github-actions[bot]

Availability: Evenings 6-10 pm & weekends ETA: 10/29 EOD

pearlescence-m avatar Oct 14 '23 15:10 pearlescence-m

@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.

  1. Progress: "What is the current status of your project? What have you completed and what is left to do?"
  2. Blockers: "Difficulties or errors encountered."
  3. Availability: "How much time will you have this week to work on this issue?"
  4. ETA: "When do you expect this issue to be completed?"
  5. 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.

github-actions[bot] avatar Oct 27 '23 07:10 github-actions[bot]

  1. 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.
  2. Blockers: None so far
  3. Availability: Evenings & weekends
  4. ETA: 11/12 EOD

pearlescence-m avatar Oct 28 '23 15:10 pearlescence-m

@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.

  1. Progress: "What is the current status of your project? What have you completed and what is left to do?"
  2. Blockers: "Difficulties or errors encountered."
  3. Availability: "How much time will you have this week to work on this issue?"
  4. ETA: "When do you expect this issue to be completed?"
  5. 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.

github-actions[bot] avatar Nov 10 '23 07:11 github-actions[bot]

@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.

  1. Progress: "What is the current status of your project? What have you completed and what is left to do?"
  2. Blockers: "Difficulties or errors encountered."
  3. Availability: "How much time will you have this week to work on this issue?"
  4. ETA: "When do you expect this issue to be completed?"
  5. 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.

github-actions[bot] avatar Nov 17 '23 07:11 github-actions[bot]

Sorry, didn't have time to work on this as well, I'll unassign

pearlescence-m avatar Nov 22 '23 04:11 pearlescence-m

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

github-actions[bot] avatar Feb 05 '24 03:02 github-actions[bot]

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

one2code avatar Feb 05 '24 03:02 one2code

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 avatar Feb 09 '24 22:02 one2code

@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.

  1. Progress: "What is the current status of your project? What have you completed and what is left to do?"
  2. Blockers: "Difficulties or errors encountered."
  3. Availability: "How much time will you have this week to work on this issue?"
  4. ETA: "When do you expect this issue to be completed?"
  5. 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.

github-actions[bot] avatar Feb 23 '24 07:02 github-actions[bot]

@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.

  1. Progress: "What is the current status of your project? What have you completed and what is left to do?"
  2. Blockers: "Difficulties or errors encountered."
  3. Availability: "How much time will you have this week to work on this issue?"
  4. ETA: "When do you expect this issue to be completed?"
  5. 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.

github-actions[bot] avatar Mar 01 '24 07:03 github-actions[bot]

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!

LRenDO avatar Mar 07 '24 04:03 LRenDO

@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.

  1. Progress: "What is the current status of your project? What have you completed and what is left to do?"
  2. Blockers: "Difficulties or errors encountered."
  3. Availability: "How much time will you have this week to work on this issue?"
  4. ETA: "When do you expect this issue to be completed?"
  5. 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.

github-actions[bot] avatar Mar 08 '24 07:03 github-actions[bot]

@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.

  1. Progress: "What is the current status of your project? What have you completed and what is left to do?"
  2. Blockers: "Difficulties or errors encountered."
  3. Availability: "How much time will you have this week to work on this issue?"
  4. ETA: "When do you expect this issue to be completed?"
  5. 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.

github-actions[bot] avatar Mar 15 '24 07:03 github-actions[bot]

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.

LRenDO avatar Mar 20 '24 21:03 LRenDO

@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.

ExperimentsInHonesty avatar Mar 24 '24 16:03 ExperimentsInHonesty

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

github-actions[bot] avatar Apr 09 '24 03:04 github-actions[bot]

Availability: Monday - Sunday: 6pm - 7:30pm

ETA: Mon: 5/11/24

Ayrh1 avatar Apr 09 '24 03:04 Ayrh1

@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.

ExperimentsInHonesty avatar Apr 14 '24 17:04 ExperimentsInHonesty

@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.

  1. Progress: "What is the current status of your project? What have you completed and what is left to do?"
  2. Blockers: "Difficulties or errors encountered."
  3. Availability: "How much time will you have this week to work on this issue?"
  4. ETA: "When do you expect this issue to be completed?"
  5. 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.

github-actions[bot] avatar Apr 26 '24 07:04 github-actions[bot]

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.

Ayrh1 avatar Apr 30 '24 01:04 Ayrh1