imbi-plugin-pagerduty
The PagerDuty plugin for the Imbi
platform, distributed as a single Python package (imbi_plugin_pagerduty)
exposing one Integration (pagerduty) with four capabilities:
lifecycle— provisions and maintains a PagerDuty service for each project, routed to the owning team's escalation policy (via theteam_escalation_policy_mappingintegration option), and a per-service V3 webhook subscription back to Imbi. When a project dependency is added or removed in Imbi, it syncs the PagerDuty service dependencies.incidents— live-queries PagerDuty for the incidents on a project's service for the project-detail Incidents tab.webhook-actions— receives PagerDuty incident webhooks. v1 records events through the gateway and advertises no custom actions.analysis— the Project Doctor. It checks the service link, the service's escalation policy against the team mapping, and the service dependencies against Imbi'sDEPENDS_ONedges. Each problem it can repair has a Fix button.
Service dependencies
An Imbi A DEPENDS_ON B edge becomes a PagerDuty technical-service
dependency: A's service is the dependent service, and B's service is the
supporting service. Imbi removes a PagerDuty dependency only when both
services are linked to Imbi projects and Imbi has no DEPENDS_ON edge
between them. Dependencies on services that Imbi does not manage, and on
business services, stay as they are. A neighbour project with no
PagerDuty service is reported and skipped.
Bulk repair
The Apply Sync Fixes maintenance operation (Admin → Maintenance) runs the Doctor for every project, then applies only the fixes marked sweepable: the escalation-policy repoint and the dependency sync. It never creates or deletes a PagerDuty service.
The Imbi host discovers the package by the imbi_plugin_* naming
convention and reads the module-level PLUGIN attribute; there are no
entry points. All plugin base classes come from imbi_common.plugins.
Development
moon run root:setup # uv sync + pre-commit hooks
moon run pagerduty:test # coverage (fails under 85%)
moon run pagerduty:lint pagerduty:typecheck pagerduty:format # ruff + basedpyright + format check
Authentication is a PagerDuty REST API key (auth_type='api_token'),
configured as an encrypted plugin credential. PagerDuty is cloud-only, so
there is no host-flavor routing.
Metadata
Release files for imbi-plugin-pagerduty 2.37.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| imbi_plugin_pagerduty-2.37.0.tar.gz | 25.7 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| imbi_plugin_pagerduty-2.37.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 49.4 kB
Release files / imbi_plugin_pagerduty-2.37.0.tar.gz
| Download URL | imbi_plugin_pagerduty-2.37.0.tar.gz |
|---|---|
| Size | 25.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
c819c5c6ea08bc60dd8b67b72e960c9d10a06b4ee4a4fc2070a3707d5ae8f665
|
|
BLAKE2b-256 checksum How to use checksums |
0d13e2d5a5b8e41fbcc84d58c3a38a8f74a5bd2b7063910d966d1ba2f80f633f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 30, 2026.
Transparency logRelease files / imbi_plugin_pagerduty-2.37.0-py3-none-any.whl
| Download URL | imbi_plugin_pagerduty-2.37.0-py3-none-any.whl |
|---|---|
| Size | 23.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
2f2ae2235b96b6b1cfc3a2a2cab3804b43680ea050cbb5256c3d8298d7434a2f
|
|
BLAKE2b-256 checksum How to use checksums |
7f4f3b07843646e7f5af2657856a3c8d045fc60d47dea92efd17bbf862d30cea
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 30, 2026.
Transparency log