diff --git a/coderd/database/migrations/000307_fix_notifications_actions_url.down.sql b/coderd/database/migrations/000307_fix_notifications_actions_url.down.sql
new file mode 100644
index 0000000000000..51a0e361dcb8b
--- /dev/null
+++ b/coderd/database/migrations/000307_fix_notifications_actions_url.down.sql
@@ -0,0 +1,23 @@
+UPDATE notification_templates
+SET
+ actions = '[
+ {
+ "label": "View workspace",
+ "url": "{{base_url}}/@{{.UserUsername}}/{{.Labels.workspace}}"
+ }
+ ]'::jsonb
+WHERE id = '281fdf73-c6d6-4cbb-8ff5-888baf8a2fff';
+
+UPDATE notification_templates
+SET
+ actions = '[
+ {
+ "label": "View workspace",
+ "url": "{{base_url}}/@{{.UserUsername}}/{{.Labels.workspace}}"
+ },
+ {
+ "label": "View template version",
+ "url": "{{base_url}}/templates/{{.Labels.organization}}/{{.Labels.template}}/versions/{{.Labels.version}}"
+ }
+ ]'::jsonb
+WHERE id = 'd089fe7b-d5c5-4c0c-aaf5-689859f7d392';
diff --git a/coderd/database/migrations/000307_fix_notifications_actions_url.up.sql b/coderd/database/migrations/000307_fix_notifications_actions_url.up.sql
new file mode 100644
index 0000000000000..f0a14739341b0
--- /dev/null
+++ b/coderd/database/migrations/000307_fix_notifications_actions_url.up.sql
@@ -0,0 +1,23 @@
+UPDATE notification_templates
+SET
+ actions = '[
+ {
+ "label": "View workspace",
+ "url": "{{base_url}}/@{{.Labels.workspace_owner_username}}/{{.Labels.workspace}}"
+ }
+ ]'::jsonb
+WHERE id = '281fdf73-c6d6-4cbb-8ff5-888baf8a2fff';
+
+UPDATE notification_templates
+SET
+ actions = '[
+ {
+ "label": "View workspace",
+ "url": "{{base_url}}/@{{.Labels.workspace_owner_username}}/{{.Labels.workspace}}"
+ },
+ {
+ "label": "View template version",
+ "url": "{{base_url}}/templates/{{.Labels.organization}}/{{.Labels.template}}/versions/{{.Labels.version}}"
+ }
+ ]'::jsonb
+WHERE id = 'd089fe7b-d5c5-4c0c-aaf5-689859f7d392';
diff --git a/coderd/notifications/notifications_test.go b/coderd/notifications/notifications_test.go
index d48394771fd8a..57618ceb89d7a 100644
--- a/coderd/notifications/notifications_test.go
+++ b/coderd/notifications/notifications_test.go
@@ -1074,9 +1074,10 @@ func TestNotificationTemplates_Golden(t *testing.T) {
UserEmail: "bobby@coder.com",
UserUsername: "bobby",
Labels: map[string]string{
- "workspace": "bobby-workspace",
- "template": "bobby-template",
- "version": "alpha",
+ "workspace": "bobby-workspace",
+ "template": "bobby-template",
+ "version": "alpha",
+ "workspace_owner_username": "mrbobby",
},
},
},
@@ -1088,11 +1089,12 @@ func TestNotificationTemplates_Golden(t *testing.T) {
UserEmail: "bobby@coder.com",
UserUsername: "bobby",
Labels: map[string]string{
- "organization": "bobby-organization",
- "initiator": "bobby",
- "workspace": "bobby-workspace",
- "template": "bobby-template",
- "version": "alpha",
+ "organization": "bobby-organization",
+ "initiator": "bobby",
+ "workspace": "bobby-workspace",
+ "template": "bobby-template",
+ "version": "alpha",
+ "workspace_owner_username": "mrbobby",
},
},
},
diff --git a/coderd/notifications/testdata/rendered-templates/smtp/TemplateWorkspaceCreated.html.golden b/coderd/notifications/testdata/rendered-templates/smtp/TemplateWorkspaceCreated.html.golden
index 62ce413e782cc..9fccba0b1f239 100644
--- a/coderd/notifications/testdata/rendered-templates/smtp/TemplateWorkspaceCreated.html.golden
+++ b/coderd/notifications/testdata/rendered-templates/smtp/TemplateWorkspaceCreated.html.golden
@@ -16,7 +16,7 @@ The workspace bobby-workspace has been created from the template bobby-temp=
late using version alpha.
-View workspace: http://test.com/@bobby/bobby-workspace
+View workspace: http://test.com/@mrbobby/bobby-workspace
--bbe61b741255b6098bb6b3c1f41b885773df633cb18d2a3002b68e4bc9c4
Content-Transfer-Encoding: quoted-printable
@@ -53,9 +53,9 @@ ha.
=20
-
+
View workspace
=20
diff --git a/coderd/notifications/testdata/rendered-templates/smtp/TemplateWorkspaceManuallyUpdated.html.golden b/coderd/notifications/testdata/rendered-templates/smtp/TemplateWorkspaceManuallyUpdated.html.golden
index 2af9e6383c5a8..0e70293b09065 100644
--- a/coderd/notifications/testdata/rendered-templates/smtp/TemplateWorkspaceManuallyUpdated.html.golden
+++ b/coderd/notifications/testdata/rendered-templates/smtp/TemplateWorkspaceManuallyUpdated.html.golden
@@ -16,7 +16,7 @@ A new workspace build has been manually created for your workspace bobby-wo=
rkspace by bobby to update it to version alpha of template bobby-template.
-View workspace: http://test.com/@bobby/bobby-workspace
+View workspace: http://test.com/@mrbobby/bobby-workspace
View template version: http://test.com/templates/bobby-organization/bobby-t=
emplate/versions/alpha
@@ -57,9 +57,9 @@ g>.
=20
-
+
View workspace
=20
diff --git a/coderd/notifications/testdata/rendered-templates/webhook/TemplateWorkspaceCreated.json.golden b/coderd/notifications/testdata/rendered-templates/webhook/TemplateWorkspaceCreated.json.golden
index 344bafc8150ae..cbe256fc9c6ea 100644
--- a/coderd/notifications/testdata/rendered-templates/webhook/TemplateWorkspaceCreated.json.golden
+++ b/coderd/notifications/testdata/rendered-templates/webhook/TemplateWorkspaceCreated.json.golden
@@ -12,13 +12,14 @@
"actions": [
{
"label": "View workspace",
- "url": "http://test.com/@bobby/bobby-workspace"
+ "url": "http://test.com/@mrbobby/bobby-workspace"
}
],
"labels": {
"template": "bobby-template",
"version": "alpha",
- "workspace": "bobby-workspace"
+ "workspace": "bobby-workspace",
+ "workspace_owner_username": "mrbobby"
},
"data": null,
"targets": null
diff --git a/coderd/notifications/testdata/rendered-templates/webhook/TemplateWorkspaceManuallyUpdated.json.golden b/coderd/notifications/testdata/rendered-templates/webhook/TemplateWorkspaceManuallyUpdated.json.golden
index 0eeeec41dd84f..599ee3c1761c8 100644
--- a/coderd/notifications/testdata/rendered-templates/webhook/TemplateWorkspaceManuallyUpdated.json.golden
+++ b/coderd/notifications/testdata/rendered-templates/webhook/TemplateWorkspaceManuallyUpdated.json.golden
@@ -12,7 +12,7 @@
"actions": [
{
"label": "View workspace",
- "url": "http://test.com/@bobby/bobby-workspace"
+ "url": "http://test.com/@mrbobby/bobby-workspace"
},
{
"label": "View template version",
@@ -24,7 +24,8 @@
"organization": "bobby-organization",
"template": "bobby-template",
"version": "alpha",
- "workspace": "bobby-workspace"
+ "workspace": "bobby-workspace",
+ "workspace_owner_username": "mrbobby"
},
"data": null,
"targets": null
diff --git a/coderd/workspacebuilds.go b/coderd/workspacebuilds.go
index 735d6025dd16f..23a65228eed6f 100644
--- a/coderd/workspacebuilds.go
+++ b/coderd/workspacebuilds.go
@@ -517,11 +517,12 @@ func (api *API) notifyWorkspaceUpdated(
receiverID,
notifications.TemplateWorkspaceManuallyUpdated,
map[string]string{
- "organization": template.OrganizationName,
- "initiator": initiator.Name,
- "workspace": workspace.Name,
- "template": template.Name,
- "version": version.Name,
+ "organization": template.OrganizationName,
+ "initiator": initiator.Name,
+ "workspace": workspace.Name,
+ "template": template.Name,
+ "version": version.Name,
+ "workspace_owner_username": owner.Username,
},
map[string]any{
"workspace": map[string]any{"id": workspace.ID, "name": workspace.Name},
diff --git a/coderd/workspaces.go b/coderd/workspaces.go
index 7a64648033c79..7022938062c64 100644
--- a/coderd/workspaces.go
+++ b/coderd/workspaces.go
@@ -801,9 +801,10 @@ func (api *API) notifyWorkspaceCreated(
receiverID,
notifications.TemplateWorkspaceCreated,
map[string]string{
- "workspace": workspace.Name,
- "template": template.Name,
- "version": version.Name,
+ "workspace": workspace.Name,
+ "template": template.Name,
+ "version": version.Name,
+ "workspace_owner_username": owner.Username,
},
map[string]any{
"workspace": map[string]any{"id": workspace.ID, "name": workspace.Name},