Skip to content
This repository has been archived by the owner on Nov 16, 2023. It is now read-only.

When 'triage' label added, automatically assign the issue to a team member #1

Open
brettcannon opened this issue Dec 21, 2018 · 2 comments
Labels
enhancement New feature or request

Comments

@brettcannon
Copy link
Member

No description provided.

@brettcannon brettcannon added the enhancement New feature or request label Dec 21, 2018
@brettcannon brettcannon changed the title When 'triage' label added, randomly assign issue to a team member When 'triage' label added, automatically assign the issue to a team member Jan 15, 2020
@brettcannon
Copy link
Member Author

brettcannon commented Jan 15, 2020

There are two ways to manage who is available to do reviews. One is via a gist for the bot, but that has the issue that others won't be able to edit it without more infrastructure. The other is via an issue so that other team members can edit their availability directly.

Probably could use a simple format or JSON, e.g.:

{
    "last": "Kim",
    "team": ["Kim", "Eric", "Karthik"],
    "OOO": {
        "Kartik": ["2020-02-01", "2020-02-05"]
    }
}

A slightly simpler approach is:

{
    "last": "Kim",
    "team": ["Kim", "Eric", "Karthik"],
    "return": {
        "Kartik": "2020-02-05"
    }
}

Or some simple text format:

LAST: Kim

TEAM:
Kim
# 2020-02-05 Kartik
Eric
Karthik

The key point is to store:

  • Who was last assigned
  • Who is on the team and some constant order to guarantee assignment fairness
  • When someone is out

The tracking vacations is the hardest bit. You want to at least track when someone is due back so they are automatically added back into the queue (which also means updating the data to insert them back in). Having a start and end date is nice as that does let one plan for it ahead of time, but it's not as critical.

One tricky bit is someone breaking the format, so you want to keep it as simple as possible. You will also want to have a way to eagerly detect failures and notify the team and/or person when the format isn't followed so someone can come in and fix it. Might need to simply hard-code the issue location and then on every edit of the issue leave a comment or label flagging if the change was successfully read or if there's a problem.

@brettcannon
Copy link
Member Author

Is there a need to re-sort/adjust the assignments after a manual assignment? E.g. if Kim gets assigned an issue specifically then should she get forcibly put to the back of the list so she doesn't get another issue potentially immediately?

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant