Provide specs PR reviews Teams support channel auto-responder message
- Dominant language
- C#
- Stars
- 135
- Forks
- 260
- Avg merge
- 3d 1h
- Merged PRs (30d)
- 143
Description
Per [this conversation](https://teams.microsoft.com/l/message/19:4f661242c446452e895359cc3ef45125@thread.tacv2/1707442488920?tenantId=72f988bf-86f1-41af-91ab-2d7cd011db47&groupId=0cab4ce9-7691-42ae-82e3-460d4346a710&parentMessageId=1707343922969&teamName=ARM%20API%20Reviewers&channelName=ARM%20linter%20rules&createdTime=1707442488920):
If a person asks for help on the specs channel (https://aka.ms/azsdk/support/specreview-channel) (see last step in https://aka.ms/azsdk/pr-getting-help), they should get auto-response from a bot to tell them to follow the PR process.
This bot could be AI-powered, properly prompted bot, that knows the most common scenarios and guidance.
For example
> If you are asking for ARM review, look at the PR diagram [URL] step 2
> If you have problem with LintDiff, then... [link to ci-fix]
> If you are waiting for final merge, then... [link to merge queue]
> If you have breaking changes, then... [etc.]
These are prompts, so internal bot database, so the bot should reply with the relevant info to the user based on that internal knowledge, not show them a huge if/else table.
The bot should be smart enough to evaluate posts to the Teams channel and detect if they pertain to specs PR. Reply only if they do and what the bot can say is of value. I.e. if this is some very exotic case, it should not reply. If the post is not providing PR URL, this is the first thing the bot should ask about.
The bot likely should mimic human behavior, making it hard to distinguish, to untrained eye, this is a bot. For example, if the PR author asks for help with LintDiff failure, the bot could say "I see you have problem with LintDiff, have you consulted aka.ms/ci-fix troubleshooting guide for it? If you have any trouble with the instructions there, let me know".
The bot could be integrated with the PR: calling GitHub API to obtain the status of `Next Steps to Merge` comment and `Automated merging requirements met` check and telling the user what those things already say.
We could potentially use the history of https://aka.ms/azsdk/support/specreview-channel as training data, in addition or instead of custom prompts.
Related work:
- https://github.com/Azure/azure-sdk-tools/issues/7658
Contributor guide
Assessment
This issue has not been assessed yet.