This PR does a bunch of changes to prepare OnCall for Unified Slack App: 1. Install Slack via Chatops-Proxy. This change contains two parts: getting a Slack install link from chatops-proxy ([code](https://github.com/grafana/oncall/pull/4232/files#diff-437a77d49fc04b92d315651b3df5991000b1ab74cf60aabb21aa77cb2823bf52R46)) and receiving a "slack installed" event from chatops-proxy ([code](https://github.com/grafana/oncall/pull/4232/files#diff-976d106f0962be5c1de5e35582193f68435ed0c17f2defd6bd2857bf6e27f65d)). Also it means that OnCall doesn't need to register slack_links anymore when slack is connected/disconnected. These changes are behind UNIFIED_SLACK_APP_ENABLED flag and should be no-op if flag is not enabled. 2. Get rid of Multiregionatily restrictions - instrument all slack interactions with a ProxyMeta - json data telling chatops-proxy where to route the interaction. Note, that it doesn't apply for "Add to resolution notes" message action - it will be handled differently in following PR. 3. Move all chatops-proxy related stuff from common/oncall-gateway to apps/chatops-proxy Minor changes: 1. Remove usage of **CHATOPS_V3** flag. Chatops v3 is already released (It's a refactoring from previous quarter) --------- Co-authored-by: Vadim Stepanov <vadimkerr@gmail.com> Co-authored-by: Rares Mardare <rares.mardare@grafana.com>
27 lines
1.2 KiB
Python
27 lines
1.2 KiB
Python
from django.urls import path
|
|
|
|
from .views import (
|
|
InstallLinkRedirectView,
|
|
OAuthSlackView,
|
|
ResetSlackView,
|
|
SignupRedirectView,
|
|
SlackEventApiEndpointView,
|
|
)
|
|
|
|
urlpatterns = [
|
|
# Old urls for handling slack events and interactive messages. Currently used in OSS
|
|
path("event_api_endpoint/", SlackEventApiEndpointView.as_view()),
|
|
path("interactive_api_endpoint/", SlackEventApiEndpointView.as_view()),
|
|
# New urls used in cloud via chatops-proxy v3.
|
|
path("events/", SlackEventApiEndpointView.as_view()),
|
|
path("interactive/", SlackEventApiEndpointView.as_view()),
|
|
# Trailing / is missing here on purpose. QA the feature if you want to add it. No idea why doesn't it work with it.
|
|
path("reset_slack", ResetSlackView.as_view(), name="reset-slack"),
|
|
# Deprecated.
|
|
path("oauth/", OAuthSlackView.as_view()),
|
|
path("oauth/<str:subscription>/<str:utm>/", OAuthSlackView.as_view()),
|
|
path("install_redirect/", InstallLinkRedirectView.as_view()),
|
|
path("install_redirect/<str:subscription>/<str:utm>/", InstallLinkRedirectView.as_view()),
|
|
path("signup_redirect/", SignupRedirectView.as_view()),
|
|
path("signup_redirect/<str:subscription>/<str:utm>/", SignupRedirectView.as_view()),
|
|
]
|