Extend patchwork's REST API (v1.4) with three features that enable tighter integration between mailing list workflows and external systems like code forges and CI.
Webhooks allow project maintainers to register callback URLs that receive HMAC-SHA256 signed HTTP POST notifications on patchwork events. Series metadata provides a key-value store on series objects for external integrations to attach arbitrary data (e.g. forge PR links, CI job references). Respin tracking automatically links successive versions of a patch series via header threading or subject similarity matching, exposing previous/next navigation through the API and web UI. All three features include OpenAPI schema documentation, admin integration and test coverage. Robin Jarry (3): api: add webhook support for event delivery api: add metadata support for series series: add respin tracking for patch series versions docs/api/schemas/latest/patchwork.yaml | 458 ++++++++++++++++ docs/api/schemas/patchwork.j2 | 493 ++++++++++++++++++ docs/api/schemas/v1.4/patchwork.yaml | 458 ++++++++++++++++ patchwork/admin.py | 56 ++ patchwork/api/filters.py | 8 + patchwork/api/series.py | 68 ++- patchwork/api/webhook.py | 76 +++ patchwork/migrations/0049_webhook.py | 78 +++ patchwork/migrations/0050_series_metadata.py | 44 ++ .../migrations/0051_series_respin_tracking.py | 33 ++ patchwork/models.py | 103 ++++ patchwork/parser.py | 139 +++++ patchwork/signals.py | 27 +- patchwork/templates/patchwork/submission.html | 25 + patchwork/templatetags/utils.py | 9 + patchwork/tests/unit/api/test_series.py | 40 +- patchwork/tests/unit/api/test_webhook.py | 251 +++++++++ patchwork/tests/utils.py | 15 + patchwork/urls.py | 18 +- patchwork/views/cover.py | 3 + patchwork/views/patch.py | 2 + patchwork/webhooks.py | 88 ++++ .../series-metadata-b2c3d4e5f6g7h8i9.yaml | 15 + ...ries-respin-tracking-c3d4e5f6g7h8i9j0.yaml | 16 + .../webhook-support-a1b2c3d4e5f6g7h8.yaml | 13 + 25 files changed, 2510 insertions(+), 26 deletions(-) create mode 100644 patchwork/api/webhook.py create mode 100644 patchwork/migrations/0049_webhook.py create mode 100644 patchwork/migrations/0050_series_metadata.py create mode 100644 patchwork/migrations/0051_series_respin_tracking.py create mode 100644 patchwork/tests/unit/api/test_webhook.py create mode 100644 patchwork/webhooks.py create mode 100644 releasenotes/notes/series-metadata-b2c3d4e5f6g7h8i9.yaml create mode 100644 releasenotes/notes/series-respin-tracking-c3d4e5f6g7h8i9j0.yaml create mode 100644 releasenotes/notes/webhook-support-a1b2c3d4e5f6g7h8.yaml -- 2.54.0 _______________________________________________ Patchwork mailing list [email protected] https://lists.ozlabs.org/listinfo/patchwork
