Azure Verified Modules
Glossary GitHub GitHub Issues Toggle Dark/Light/Auto mode Toggle Dark/Light/Auto mode Toggle Dark/Light/Auto mode Back to homepage

Last updated: 13 Dec 2024

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.

Schedule based automation

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.

ITA01BCP.1-2

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

ITA01TF.1-2

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

ITA02BCP.1-2

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.

ITA02TF.1-2

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.

ITA03BCP

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.

ITA03TF

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.

ITA04

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.

ITA05

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.

ITA24

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.


Event based automation

This chapter details all automation rules that are based on an event.

ITA06

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

ITA08BCP

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.

ITA09

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.

ITA10

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.

ITA11

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.

ITA12

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.

ITA13

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.

ITA14

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.

ITA15

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.

ITA16

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.

ITA17

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!
    

ITA18

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.
    

ITA19

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!
    

ITA20

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.

ITA21

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.

ITA22

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.

ITA23

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.

ITA25

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.


Where to apply these rules?

The below table details which repositories the above rules are applied to.

Rules applied for Schedule based automation

IDAVM Core repositoryBRM repositoryTF 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.

Rules applied for Event based automation

IDAVM Core repositoryBRM repositoryTF repositories
ITA06โœ”๏ธโœ”๏ธโœ”๏ธ
ITA08BCPโœ”๏ธ
ITA09โœ”๏ธโœ”๏ธโœ”๏ธ
ITA10โœ”๏ธโœ”๏ธโœ”๏ธ
ITA11โœ”๏ธโœ”๏ธโœ”๏ธ
ITA12โœ”๏ธโœ”๏ธโœ”๏ธ
ITA13โœ”๏ธ
ITA14โœ”๏ธ
ITA15โœ”๏ธโœ”๏ธโœ”๏ธ
ITA16โœ”๏ธ
ITA17โœ”๏ธ
ITA18โœ”๏ธ
ITA19โœ”๏ธ
ITA20โœ”๏ธโœ”๏ธ
ITA21โœ”๏ธโœ”๏ธ
ITA22โœ”๏ธโœ”๏ธ
ITA23โœ”๏ธโœ”๏ธ
ITA25โœ”๏ธ