browsertrix/backend/btrixcloud
Tessa Walsh 147bfd9d44
Add event webhook notifications system to backend (#1061)
Initial set of backend API for event webhook notifications for the following events:
* Crawl started (including boolean indicating if crawl was scheduled)
* Crawl finished
* Upload finished
* Archived item added to collection
* Archived item removed from collection

Configuration of URLs is done via /api/orgs/<oid>/event-webhook-urls. If a URL is configured for a given event, a webhook notification is added to the database and then attempted to be sent (up to a total of 5 tries per overall attempt, with an increasing backoff between, implemented via use of the backoff library, which supports async).

webhook status available via /api/orgs/<oid>/webhooks

(Additional testing + potential fastapi integration left in separate follow-ups
Fixes #1041
2023-08-31 19:52:37 -07:00
..
migrations feat: implement 'collections' array with {name, id} for archived item details (#1098) 2023-08-25 00:26:46 -07:00
templates Add event webhook notifications system to backend (#1061) 2023-08-31 19:52:37 -07:00
__init__.py
basecrawls.py Fix unsetting all collections via PATCH update (#1126) 2023-08-30 18:16:21 -04:00
colls.py Add event webhook notifications system to backend (#1061) 2023-08-31 19:52:37 -07:00
crawlconfigs.py Add event webhook notifications system to backend (#1061) 2023-08-31 19:52:37 -07:00
crawlmanager.py Add max crawl size option to backend and frontend (#1045) 2023-08-26 22:00:37 -07:00
crawls.py Add event webhook notifications system to backend (#1061) 2023-08-31 19:52:37 -07:00
db.py feat: implement 'collections' array with {name, id} for archived item details (#1098) 2023-08-25 00:26:46 -07:00
emailsender.py
invites.py Move pydantic models to separate module + refactor crawl response endpoints to be consistent (#983) 2023-07-20 13:05:33 +02:00
k8sapi.py Add max crawl size option to backend and frontend (#1045) 2023-08-26 22:00:37 -07:00
main_op.py Add event webhook notifications system to backend (#1061) 2023-08-31 19:52:37 -07:00
main_scheduled_job.py Add event webhook notifications system to backend (#1061) 2023-08-31 19:52:37 -07:00
main.py Add event webhook notifications system to backend (#1061) 2023-08-31 19:52:37 -07:00
models.py Add event webhook notifications system to backend (#1061) 2023-08-31 19:52:37 -07:00
operator.py Add event webhook notifications system to backend (#1061) 2023-08-31 19:52:37 -07:00
orgs.py Add event webhook notifications system to backend (#1061) 2023-08-31 19:52:37 -07:00
pagination.py Move pydantic models to separate module + refactor crawl response endpoints to be consistent (#983) 2023-07-20 13:05:33 +02:00
profiles.py Use Shared Services for Crawling, Redis, Profile Browsers (#1088) 2023-08-24 20:08:53 -07:00
storages.py Streaming Download for Collections (#1012) 2023-07-26 15:42:17 -07:00
uploads.py Add event webhook notifications system to backend (#1061) 2023-08-31 19:52:37 -07:00
users.py Support for Public / Shareable Collections (#1038) 2023-08-03 19:11:01 -07:00
utils.py stopping fix: backend fixes for #836 + prep for additional status fields (#837) 2023-05-08 14:02:20 -07:00
version.py bump version to 1.7.0-beta.0 2023-08-23 12:03:45 -07:00
webhooks.py Add event webhook notifications system to backend (#1061) 2023-08-31 19:52:37 -07:00
zip.py