mirror of
https://github.com/coder/coder.git
synced 2026-09-24 15:04:27 +08:00
fix(coderd/notifications): simplify TemplateWorkspaceManualBuildFailed (#15067)
This PR closes #15065. As advised by @mtojek, a template's display name may be set to "", which is not useful in an email notification. We'd like to provide a friendly name for the template, but it also needs to be identifiable. As such, we fall back to template.Name in the case that the template's display name is empty.
This commit is contained in:
@@ -1124,16 +1124,20 @@ func (s *server) notifyWorkspaceManualBuildFailed(ctx context.Context, workspace
|
||||
}
|
||||
|
||||
for _, templateAdmin := range templateAdmins {
|
||||
templateNameLabel := template.DisplayName
|
||||
if templateNameLabel == "" {
|
||||
templateNameLabel = template.Name
|
||||
}
|
||||
labels := map[string]string{
|
||||
"name": workspace.Name,
|
||||
"template_name": templateNameLabel,
|
||||
"template_version_name": templateVersion.Name,
|
||||
"initiator": build.InitiatorByUsername,
|
||||
"workspace_owner_username": workspaceOwner.Username,
|
||||
"workspace_build_number": strconv.Itoa(int(build.BuildNumber)),
|
||||
}
|
||||
if _, err := s.NotificationsEnqueuer.Enqueue(ctx, templateAdmin.ID, notifications.TemplateWorkspaceManualBuildFailed,
|
||||
map[string]string{
|
||||
"name": workspace.Name,
|
||||
"template_name": template.Name,
|
||||
"template_display_name": template.DisplayName,
|
||||
"template_version_name": templateVersion.Name,
|
||||
"initiator": build.InitiatorByUsername,
|
||||
"workspace_owner_username": workspaceOwner.Username,
|
||||
"workspace_build_number": strconv.Itoa(int(build.BuildNumber)),
|
||||
}, "provisionerdserver",
|
||||
labels, "provisionerdserver",
|
||||
// Associate this notification with all the related entities.
|
||||
workspace.ID, workspace.OwnerID, workspace.TemplateID, workspace.OrganizationID,
|
||||
); err != nil {
|
||||
|
||||
@@ -1859,8 +1859,7 @@ func TestNotifications(t *testing.T) {
|
||||
assert.Contains(t, notifEnq.Sent[0].Targets, workspace.OrganizationID)
|
||||
assert.Contains(t, notifEnq.Sent[0].Targets, user.ID)
|
||||
assert.Equal(t, workspace.Name, notifEnq.Sent[0].Labels["name"])
|
||||
assert.Equal(t, template.Name, notifEnq.Sent[0].Labels["template_name"])
|
||||
assert.Equal(t, template.DisplayName, notifEnq.Sent[0].Labels["template_display_name"])
|
||||
assert.Equal(t, template.DisplayName, notifEnq.Sent[0].Labels["template_name"])
|
||||
assert.Equal(t, version.Name, notifEnq.Sent[0].Labels["template_version_name"])
|
||||
assert.Equal(t, user.Username, notifEnq.Sent[0].Labels["initiator"])
|
||||
assert.Equal(t, user.Username, notifEnq.Sent[0].Labels["workspace_owner_username"])
|
||||
|
||||
Reference in New Issue
Block a user