Issue/Triage Automation
This page details the automation that is in place to help with the triage of issues and PRs raised against the AVM modules.
This section details all automation rules that are based on a schedule.
When calculating the number of business days in the issue/triage automation, the built-in logic considers Monday-Friday as business days. The logic doesn’t consider any holidays.
If a bug/feature/request/general question that has the labels of “Type: AVM ๐ ฐ๏ธ โ๏ธ โ๏ธ” and “Needs: Triage ๐” is not responded to after 3 business days, then the issue will be marked with the “Status: Response Overdue ๐ฉ” label and the AVM Core team will be mentioned in a comment on the issue to reach out to the module owner.
Schedule:
- Triggered every Monday-Friday, at 12:00.
Trigger criteria:
- Is an open issue.
- Had no activity in the last 3 business days.
- Has the “Needs: Triage ๐” and “Type: AVM ๐ ฐ๏ธ โ๏ธ โ๏ธ” labels added.
Action(s):
- Add a reply, mentioning the
Azure/avm-core-team-technical-bicep
team. - Add the “Status: Response Overdue ๐ฉ” label.
- To prevent further actions to take effect, the “Status: Response Overdue ๐ฉ” label must be removed, once this issue has been responded to.
- To avoid this rule being (re)triggered, the “Needs: Triage ๐” must be removed as part of the triage process (when the issue is first responded to).
If a bug/feature/request/general question that has the “Needs: Triage ๐” label added is not responded to after 3 business days, then the issue will be marked with the “Status: Response Overdue ๐ฉ” label and the AVM Core team will be mentioned in a comment on the issue to reach out to the module owner.
Schedule:
- Triggered every Monday-Friday, at 12:00.
Trigger criteria:
- Is an open issue.
- Had no activity in the last 3 business days.
- Has the “Needs: Triage ๐” label added.
Action(s):
- Add a reply, mentioning the
Azure/avm-core-team-technical-bicep
team. - Add the “Status: Response Overdue ๐ฉ” label.
- To prevent further actions to take effect, the “Status: Response Overdue ๐ฉ” label must be removed, once this issue has been responded to.
- To avoid this rule being (re)triggered, the “Needs: Triage ๐” must be removed as part of the triage process (when the issue is first responded to).
If after an additional 3 business days there’s still no update to the issue that has the labels of “Type: AVM ๐ ฐ๏ธ โ๏ธ โ๏ธ” and “Status: Response Overdue ๐ฉ”, the AVM core team will be mentioned on the issue and a further comment stating module owner is unresponsive will be added. The “Needs: Immediate Attention โผ๏ธ” label will also be added.
Schedule:
- Triggered every Monday-Friday, at 12:00.
Trigger criteria:
- Is an open issue.
- Had no activity in the last 3 business days.
- Has the “Status: Response Overdue ๐ฉ” and “Type: AVM ๐ ฐ๏ธ โ๏ธ โ๏ธ” labels added.
Action(s):
- Add a reply, mentioning the
Azure/avm-core-team-technical-bicep
team. - Add the “Needs: Immediate Attention โผ๏ธ” label.
- To avoid this rule being (re)triggered, the “Needs: Triage ๐” and “Status: Response Overdue ๐ฉ” labels must be removed when the issue is first responded to!
- Remove the “Needs: Immediate Attention โผ๏ธ” label once the issue has been responded to.
If after an additional 3 business days there’s still no update to the issue that has the “Status: Response Overdue ๐ฉ” label added, the AVM core team will be mentioned on the issue and a further comment stating module owner is unresponsive will be added. The “Needs: Immediate Attention โผ๏ธ” label will also be added.
Schedule:
- Triggered every Monday-Friday, at 12:00.
Trigger criteria:
- Is an open issue.
- Had no activity in the last 3 business days.
- Has the “Status: Response Overdue ๐ฉ” label added.
Action(s):
- Add a reply, mentioning the
Azure/avm-core-team-technical-bicep
team. - Add the “Needs: Immediate Attention โผ๏ธ” label.
- To avoid this rule being (re)triggered, the “Needs: Triage ๐” and “Status: Response Overdue ๐ฉ” labels must be removed when the issue is first responded to!
- Remove the “Needs: Immediate Attention โผ๏ธ” label once the issue has been responded to.
If there’s still no response after 5 days (total from start of issue being raised) on an issue that has the labels of “Type: AVM ๐ ฐ๏ธ โ๏ธ โ๏ธ”, “Needs: Triage ๐”, “Type: Security Bug ๐” and “Status: Response Overdue ๐ฉ”, the Bicep PG GitHub Team will be mentioned on the issue to assist. The “Needs: Immediate Attention โผ๏ธ” label will also be added.
Schedule:
- Triggered every Monday-Friday, at 12:00.
Trigger criteria:
- Is an open issue.
- Had no activity in the last 5 business days.
- Has the “Needs: Triage ๐”, the “Type: Security Bug ๐”, the “Status: Response Overdue ๐ฉ”, and “Type: AVM ๐ ฐ๏ธ โ๏ธ โ๏ธ” labels added.
Action(s):
- Add a reply, mentioning the
Azure/bicep-admins
team. - Add the “Needs: Immediate Attention โผ๏ธ” label.
- To avoid this rule being (re)triggered, the “Needs: Triage ๐” and “Status: Response Overdue ๐ฉ” labels must be removed when the issue is first responded to!
- Remove the “Needs: Immediate Attention โผ๏ธ” label once the issue has been responded to.
If there’s still no response after 5 days (total from start of issue being raised) on an issue that has the labels of “Needs: Triage ๐”, “Type: Security Bug ๐” and “Status: Response Overdue ๐ฉ”, the Terraform PG GitHub Team will be mentioned on the issue to assist. The “Needs: Immediate Attention โผ๏ธ” label will also be added.
Schedule:
- Triggered every Monday-Friday, at 12:00.
Trigger criteria:
- Is an open issue.
- Had no activity in the last 5 business days.
- Has the “Needs: Triage ๐”, the “Type: Security Bug ๐”, and “Status: Response Overdue ๐ฉ” labels added.
Action(s):
- Add a reply, mentioning the
Azure/terraform-avm
team. - Add the “Needs: Immediate Attention โผ๏ธ” label.
If an issue/PR has been labelled with “Needs: Author Feedback ๐” and hasn’t had a response in 4 days, label with “Status: No Recent Activity ๐ค” and add a comment.
Schedule:
- Triggered every 3 hours.
Trigger criteria:
- Is an open issue/PR.
- Had no activity in the last 4 days.
- Has the “Needs: Author Feedback ๐” label added.
- Does not have the “Status: No Recent Activity ๐ค” label added.
Action(s):
- Add the “Status: No Recent Activity ๐ค” label.
- Add a reply.
To prevent further actions to take effect, one of the following conditions must be met:
- The author must respond in a comment within 3 days of the automatic comment left on the issue.
- The “Status: No Recent Activity ๐ค” label must be removed.
- If applicable, the “Status: Long Term โณ” or the “Needs: Module Owner ๐ฃ” label must be added.
This rule is currently disabled in the AVM and BRM repositories.
If an issue/PR has been labelled with “Status: No Recent Activity ๐ค” and hasn’t had any update in 3 days from that point, automatically close it and comment, unless the issue/PR has a “Status: Long Term โณ” - in which case, do not close it.
Schedule:
- Triggered every 3 hours.
Trigger criteria:
- Is an open issue.
- Had no activity in the last 3 days.
- Has the “Needs: Author Feedback ๐” and the “Status: No Recent Activity ๐ค” labels added.
- Does not have the “Needs: Module Owner ๐ฃ” or “Status: Long Term โณ” labels added.
Action(s):
- Add a reply.
- Close the issue.
- In case the issue needs to be reopened (e.g., the author responds after the issue was closed), the “Status: No Recent Activity ๐ค” label must be removed.
Remind module owner(s) to start or continue working on this module if there was no activity on the Module Proposal issue for more than 3 weeks. Add “Needs: Attention ๐” label.
Schedule:
- Triggered every 3 hours.
Trigger criteria:
- Is an open issue.
- Had no activity in the last 21 days.
- Has the “Type: New Module Proposal ๐ก” and the “Status: Owners Identified ๐ค” labels added.
- Does not have the “Status: Long Term โณ” label added.
Action(s):
- Add a reply.
- Add the “Needs: Attention ๐” label.
- To silence this notification, provide an update every 3 weeks on the Module Proposal issue, or add the “Status: Long Term โณ” label.
This chapter details all automation rules that are based on an event.
When a new issue or PR of any type is created add the “Needs: Triage ๐” label.
Trigger criteria:
- An issue or PR is opened.
Action(s):
- Add the “Needs: Triage ๐” label.
- Add a reply to explain the action(s).
If AVM or “Azure Verified Modules” is mentioned in an uncategorized issue (i.e., one not using any template), apply the label of “Type: AVM ๐ ฐ๏ธ โ๏ธ โ๏ธ” on the issue.
Trigger criteria:
- An issue, issue comment, PR, or PR comment is opened, created or edited and the body or comment contains the strings of “AVM” or “Azure Verified Modules”.
Action(s):
- Add the “Type: AVM ๐ ฐ๏ธ โ๏ธ โ๏ธ” label.
When #RR is used in an issue, add the label of “Needs: Author Feedback ๐”.
Trigger criteria:
- An issue comment or PR comment contains the string of “#RR”.
Action(s):
- Add the “Needs: Author Feedback ๐” label.
When #wontfix is used in an issue, mark it by using the label of “Status: Won’t Fix ๐” and close the issue.
Trigger criteria:
- An issue comment or PR comment contains the string of “#RR”.
Action(s):
- Add the “Status: Won’t Fix ๐” label.
- Close the issue.
When the author replies, remove the “Needs: Author Feedback ๐” label and label with “Needs: Attention ๐”.
Trigger criteria:
- Any action on an issue comment or PR comment except closing.
- Has the “Needs: Author Feedback ๐” label added.
- The activity was initiated by the issue/PR author.
Action(s):
- Remove the “Needs: Author Feedback ๐” label.
- Remove the “Status: No Recent Activity ๐ค” label.
- Add the “Needs: Attention ๐” label.
Clean up e-mail replies to GitHub Issues for readability.
Trigger criteria:
- Any action on an issue comment.
Action(s):
- Clean email reply. This is useful when someone directly responds to an email notification from GitHub, and the email signature is included in the comment.
If the language is set to Bicep in the Module proposal, add the “Language: Bicep ๐ช” label on the issue.
Trigger criteria:
- An issue is opened with its body matching the below pattern.
### Bicep or Terraform?
Bicep
Action(s):
- Add the “Language: Bicep ๐ช” label.
If the language is set to Terraform in the Module proposal, add the “Language: Terraform ๐” label on the issue.
Trigger criteria:
- An issue is opened with its body matching the below pattern.
### Bicep or Terraform?
Terraform
Action(s):
- Add the “Language: Terraform ๐” label.
Remove the “Needs: Triage ๐” label from a PR, if it already has a “Type: XYZ” label added and is assigned to someone at the time of creating it.
Trigger criteria:
- A PR is opened with any of the following labels added and is assigned to someone:
- “Type: Bug ๐”
- “Type: Documentation ๐”
- “Type: Duplicate ๐คฒ”
- “Type: Feature Request โ”
- “Type: Hygiene ๐งน”
- “Type: New Module Proposal ๐ก”
- “Type: Question/Feedback ๐โโ๏ธ”
- “Type: Security Bug ๐”
Action(s):
- Remove the “Needs: Triage ๐” label.
Add the “Status: Owners Identified ๐ค” label when someone is assigned to a Module Proposal.
Trigger criteria:
- Any action on an issue except closing.
- Has the “Type: New Module Proposal ๐ก” added.
- The issue is assigned to someone.
Action(s):
- Add the “Status: Owners Identified ๐ค” label.
If the issue author says they want to be the module owner, assign the issue to the author and respond to them.
Trigger criteria:
An issue is opened with its body matching the below pattern.
### Do you want to be the owner of this module? Yes
Action(s):
Assign the issue to the author.
Add the below reply and explain the action(s).
@${issueAuthor}, thanks for volunteering to be a module owner! **Please don't start the development just yet!** The AVM core team will review this module proposal and respond to you first. Thank you!
Send automatic response to the issue author if they don’t want to be module owner and don’t have any candidate in mind. Add the “Needs: Module Owner ๐ฃ” label.
Trigger criteria:
An issue is opened with its body matching the below pattern.
### Do you want to be the owner of this module? No ### Module Owner's GitHub Username (handle) _No response_
Action(s):
Add the “Needs: Module Owner ๐ฃ” label.
Add the below reply and explain the action(s).
@${issueAuthor}, thanks for submitting this module proposal! The AVM core team will review it and will try to find a module owner.
Send automatic response to the issue author if they don’t want to be module owner but have a candidate in mind. Add the “Status: Owners Identified ๐ค” label.
Trigger criteria:
An issue is opened with its body matching the below pattern…
### Do you want to be the owner of this module? No
…AND NOT matching the below pattern.
### Module Owner's GitHub Username (handle) _No response_
Action(s):
Add the “Status: Owners Identified ๐ค” label.
Add the below reply and explain the action(s).
@${issueAuthor}, thanks for submitting this module proposal with a module owner in mind! **Please don't start the development just yet!** The AVM core team will review this module proposal and respond to you and/or the module owner first. Thank you!
If the issue type is feature request, add the “Type: Feature Request โ” label on the issue.
Trigger criteria:
An issue is opened with its body matching the below pattern.
### Issue Type? Feature Request
Action(s):
- Add the “Type: Feature Request โ” label.
If the issue type is bug, add the “Type: Bug ๐” label on the issue.
Trigger criteria:
An issue is opened with its body matching the below pattern.
### Issue Type? Bug
Action(s):
- Add the “Type: Bug ๐” label.
If the issue type is security bug, add the “Type: Security Bug ๐” label on the issue.
Trigger criteria:
An issue is opened with its body matching the below pattern.
### Issue Type? Security Bug
Action(s):
- Add the “Type: Security Bug ๐” label.
Remove the “Status: In PR ๐” label from an issue when it’s closed.
Trigger criteria:
- An issue is opened.
Action(s):
- Remove the “Status: In PR ๐” label.
Inform module owners that they need to add the “Needs: Core Team ๐ง” label to their PR if they’re the sole owner of their module.
Trigger criteria:
- A PR is opened.
Action(s):
Inform module owners that they need to add the “Needs: Core Team ๐ง” label to their PR if they’re the sole owner of their module.
The below table details which repositories the above rules are applied to.
ID | AVM Core repository | BRM repository | TF repositories |
---|---|---|---|
ITA01BCP1-2 | โ๏ธ | ||
ITA01TF1-2 | โ๏ธ | ||
ITA02BCP1-2 | โ๏ธ | ||
ITA02TF1-2 | โ๏ธ | ||
ITA03BCP | โ๏ธ | ||
ITA03TF | โ๏ธ | ||
ITA04 | โ๏ธ | โ๏ธ | โ๏ธ |
ITA05 | [โ๏ธ] | [โ๏ธ] | โ๏ธ |
ITA24 | โ๏ธ |
The ITA05 rule is currently disabled in the AVM and BRM repositories.
ID | AVM Core repository | BRM repository | TF repositories |
---|---|---|---|
ITA06 | โ๏ธ | โ๏ธ | โ๏ธ |
ITA08BCP | โ๏ธ | ||
ITA09 | โ๏ธ | โ๏ธ | โ๏ธ |
ITA10 | โ๏ธ | โ๏ธ | โ๏ธ |
ITA11 | โ๏ธ | โ๏ธ | โ๏ธ |
ITA12 | โ๏ธ | โ๏ธ | โ๏ธ |
ITA13 | โ๏ธ | ||
ITA14 | โ๏ธ | ||
ITA15 | โ๏ธ | โ๏ธ | โ๏ธ |
ITA16 | โ๏ธ | ||
ITA17 | โ๏ธ | ||
ITA18 | โ๏ธ | ||
ITA19 | โ๏ธ | ||
ITA20 | โ๏ธ | โ๏ธ | |
ITA21 | โ๏ธ | โ๏ธ | |
ITA22 | โ๏ธ | โ๏ธ | |
ITA23 | โ๏ธ | โ๏ธ | |
ITA25 | โ๏ธ |