feat: support user-defined custom commands in PR welcome message#1133
feat: support user-defined custom commands in PR welcome message#1133rnetser wants to merge 22 commits into
Conversation
|
Report bugs in Issues Welcome! 🎉This pull request will be automatically processed with the following features: 🔄 Automatic Actions
📋 Available CommandsPR Status Management
Review & Approval
Testing & Validation
Container Operations
Cherry-pick Operations
Branch Management
Label Management
✅ Merge RequirementsThis PR will be automatically approved when the following conditions are met:
📊 Review ProcessApprovers and ReviewersApprovers:
Reviewers:
Available Labels
AI Features
Security Checks
💡 Tips
For more information, please refer to the project documentation or contact the maintainers. |
PR Summary by QodoSupport user-defined custom commands in PR welcome message Description
Diagram
High-Level Assessment
Files changed (4)
|
Code Review by Qodo
Context used✅ Compliance rules (platform):
30 rules 1.
|
|
@qodo-code-review[bot] The following review comments were reviewed and a decision was made:
|
Looks good — the PR now covers the previously open items:
So at this point, the custom commands feature appears internally consistent across schema, rendering, and tests. |
|
Code review by qodo was updated up to the latest commit 51b41f1 |
|
@qodo-code-review[bot] The following review comments were reviewed and a decision was made:
|
Thanks — those items look addressed in
One note: the review index still shows finding 6 as active, so it may just be stale now. If you want, I can help verify that it’s safe to close. |
|
Code review by qodo was updated up to the latest commit 57db85f |
|
@qodo-code-review[bot] The following review comments were reviewed and a decision was made:
|
Thanks — both comments are addressed in the diff:
So the remaining review state looks stale rather than unresolved. |
Confirmed — No further action needed on that item. |
|
@qodo-code-review[bot] The following review comments were reviewed and a decision was made:
|
Confirmed — No further action needed on that item. |
|
@qodo-code-review[bot] The following review comments were reviewed and a decision was made:
|
Thanks —
If you want, I can also review any other active findings. |
|
@qodo-code-review[bot] The following review comments were reviewed and a decision was made:
|
Thanks —
If you want, I can also review any other active findings. |
|
@qodo-code-review[bot] The following review comments were reviewed and a decision was made:
|
Confirmed — No further action needed on this item. |
|
@qodo-code-review[bot] The following review comments were reviewed and a decision was made:
|
Thanks — that makes sense.
If you want, I can also summarize the remaining active findings or help verify any other closeouts. |
|
@qodo-code-review[bot] The following review comments were reviewed and a decision was made:
|
Thanks —
No further action needed. |
|
@qodo-code-review[bot] The following review comments were reviewed and a decision was made:
|
Confirmed —
|
|
@qodo-code-review[bot] The following review comments were reviewed and a decision was made:
|
Confirmed —
|
|
@qodo-code-review[bot] The following review comments were reviewed and a decision was made:
|
Thanks —
No further action needed from my side. |
|
@qodo-code-review[bot] The following review comments were reviewed and a decision was made:
|
Thanks —
No further action needed on that review comment. |
|
@qodo-code-review[bot] The following review comments were reviewed and a decision was made:
|
Confirmed —
Thanks for the update. |
|
@qodo-code-review[bot] The following review comments were reviewed and a decision was made:
|
Yes —
|
|
@qodo-code-review[bot] The following review comments were reviewed and a decision was made:
|
Yes —
|
|
@qodo-code-review[bot] The following review comments were reviewed and a decision was made:
|
Yes —
No further action needed there. |
|
/verified |
Summary
Add a
custom-commandsconfiguration option (global and per-repo) that renders user-defined commands in a new Custom Commands section of the PR welcome message. These are documentation-only — the server displays them but does not process them, allowing external bots/tools to handle them independently.Changes
webhook_server/config/schema.yamlcustom-commandsschema withname(pattern-constrained,^[a-zA-Z0-9_-]+$) anddescriptionfields. DRY via$defs.custom-command-itemreferenced from both global and per-repo.minItems: 1at global only; per-repo allows empty list to disable.minLength: 1on both name and description.webhook_server/libs/github_api.py_validate_custom_commands()load-time validator (matching_validate_custom_check_runspattern). Loadscustom_commandsviaconfig.get_value("custom-commands", ..., extra_dict=repository_config)for per-repo override support.webhook_server/libs/handlers/pull_request_handler.py_prepare_custom_commands_welcome_sectionproperty rendering commands as- **\/cmd**: description. Added_escape_markdown()static method for description sanitization. Integrated into_prepare_welcome_comment().CLAUDE.mdexamples/config.yamlcustom-commandsexample withretestandcherry-pickcommandspyproject.tomljsonschema>=4.0.0to test dependency groupwebhook_server/tests/test_config_schema.pywebhook_server/tests/test_prepare_retest_welcome_comment.pywebhook_server/tests/test_pull_request_handler.pywebhook_server/tests/test_ai_cli.pywebhook_server/tests/test_config.pywebhook_server/tests/test_push_handler.pywebhook_server/tests/test_pull_request_review_handler.pyTesting
Closes #1132