Add the GitHubAppWebhookHandlerHook extension hook.
Review Request #15338 — Created Sept. 24, 2026 and updated
This adds an extension hook for registering GitHub App webhook handlers,
letting extensions act on GitHub events delivered to Review Board, like
pull requests being opened on a repository.
- Ran unit tests.
- Used in the Pull Request integration work.
- Built the docs and viewed.
| Summary | ID |
|---|---|
| 38345376acfed4c1ec695cfe81222e0ed6ef880b |
| Description | From | Last Updated |
|---|---|---|
|
This reads like it was supposed to be .. todo::, which would show up in content. A regular rst comment … |
|
|
|
Same here. |
|
|
|
If we're using this, we should also include from __future__ import annotations in the example, otherwise any Python version less … |
|
|
|
Missing a trailing comma. |
|
|
|
Can we prefix this name with an underscore (so pytest doesn't get annoyed trying to collect it), and add a … |
|
|
|
I don't think there's any reason for this to use GitHubTestCase, and it's pulling in setup work for no good … |
|
|
|
We should probably use assertIs instead of assertEqual |
|
|
|
Everywhere else we've tried to be careful to capitalize this "WebHook". We should do that throughout here, and also in … |
|
|
|
This suggests that all 5 attributes are required, but only two are. Can we do: You must set the following: … |
|
|
|
installation_account can also be None |
|
|
|
Needs a trailing comma. |
|
-
-
This reads like it was supposed to be
.. todo::, which would show up in content. A regular rst comment with "TODO" might be better, as opposed to something that looks like a typoed directive. -
-
If we're using this, we should also include
from __future__ import annotationsin the example, otherwise any Python version less than 3.14 will get aNameError -
-
Can we prefix this name with an underscore (so pytest doesn't get annoyed trying to collect it), and add a docstring?
-
I don't think there's any reason for this to use
GitHubTestCase, and it's pulling in setup work for no good reason.BaseExtensionHookTestCaseis a better base class to use. -
- Commits:
-
Summary ID daa4bb6bcd1aaa97ae014f0499b034afa6dfabbe 58235ea61b420a519e3b658f43958657288b04ff - Depends On:
-
- Diff:
Revision 2 (+526)
Checks run (2 succeeded)
flake8 passed.JSHint passed.
-
-
Everywhere else we've tried to be careful to capitalize this "WebHook". We should do that throughout here, and also in
GitHubAppWebHookHandlerHook -
This suggests that all 5 attributes are required, but only two are. Can we do:
You must set the following: * :py:attr:`~BaseGitHubAppWebhookHandler.handler_id`: ... * :py:attr:`~BaseGitHubAppWebhookHandler.events`: ... You can optionally set the following: * ... -
-
- Commits:
-
Summary ID 58235ea61b420a519e3b658f43958657288b04ff 38345376acfed4c1ec695cfe81222e0ed6ef880b - Diff:
-
Revision 3 (+540)