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.

Note

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.
Tip
  • 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.
Tip
  • 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.
Tip
  • 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.
Tip
  • 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.
Tip
  • 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.
Tip

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

Warning

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.
Tip
  • 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.
Tip
  • 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✔️
Warning

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✔️