Skip to content

Implement email assets infrastructure #11568

@benbowler

Description

@benbowler

Feature Description

  • The images and icons should be stored as static assets within a Google Cloud storage bucket. These assets are then loaded within the template. These asset URLs should never change so that historic emails don’t break when the template assets are updated. Assets should be stored in versioned bucket folders and only updated when assets have changed.

Do not alter or remove anything below. The following sections will be managed by moderators only.

Acceptance criteria

  • Email report images/icons are served from a Google Cloud Storage bucket via a CDN over HTTPS.
  • Asset URLs are immutable and versioned; previously sent emails continue to render after any asset updates.
  • New asset versions are published to new versioned directories; existing files are never overwritten or deleted.
  • Email templates are updated to reference only CDN-hosted asset URLs (no plugin-local or relative paths).
  • Assets are public-read with correct Content-Type and long-lived cache headers suitable for email clients.
  • An automated publish action exists to push new versioned assets to the bucket (only if a new asset set exists) and provide the versioned base URL for templates.

Implementation Brief

Test Coverage

QA Brief

Changelog entry

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions