# What this PR does
Introduces a new class,
`apps.grafana_plugin.ui_url_builder.UIURLBuilder`, which is responsible
for... building UI URLs (😄). The class mainly does two things:
- it will decide if the URL should point to `grafana-oncall-app` or
`grafana-irm-app` based on the value of
`organization.is_grafana_irm_enabled` (**NOTE**: this value isn't yet
being set + defaults to `False`; logic for setting this value will be
done in a subsequent PR)
- Adds `enum`s, `OnCallPage` and `IncidentPage` to DRYify hardcoded UI
URLs (in case we decide to change these slightly in the near future)
## Checklist
- [x] Unit, integration, and e2e (if applicable) tests updated
- [x] Documentation added (or `pr:no public docs` PR label added if not
required)
- [x] Added the relevant release notes label (see labels prefixed w/
`release:`). These labels dictate how your PR will
show up in the autogenerated release notes.
|
||
|---|---|---|
| .. | ||
| escalation_snapshot | ||
| grafana_alerting_sync_manager | ||
| incident_appearance | ||
| incident_log_builder | ||
| migrations | ||
| models | ||
| tasks | ||
| tests | ||
| __init__.py | ||
| constants.py | ||
| integration_options_mixin.py | ||
| paging.py | ||
| representative.py | ||
| signals.py | ||
| utils.py | ||