# 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.
|
||
|---|---|---|
| .. | ||
| tasks | ||
| test_scenario_steps | ||
| __init__.py | ||
| conftest.py | ||
| factories.py | ||
| test_installation.py | ||
| test_interactive_api_endpoint.py | ||
| test_parse_slack_usernames.py | ||
| test_populate_slack_channels.py | ||
| test_reset_slack.py | ||
| test_slack_client.py | ||
| test_slack_formatter.py | ||
| test_slack_message.py | ||
| test_slack_renderer.py | ||
| test_slash_command.py | ||
| test_user_group.py | ||
| test_utils.py | ||