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},