Skip to content

Send HTML and PDF reports in Slack#5

Merged
vimzh merged 1 commit into
mainfrom
vimzh/send-html-and-pdf-in-slack
Jul 13, 2026
Merged

Send HTML and PDF reports in Slack#5
vimzh merged 1 commit into
mainfrom
vimzh/send-html-and-pdf-in-slack

Conversation

@vimzh

@vimzh vimzh commented Jul 13, 2026

Copy link
Copy Markdown
Contributor

Uploads the generated interactive HTML report and formal PDF report together in the final Slack thread response. Preserves the existing report and evidence links when configured, and posts a concise fallback summary if report generation or Slack upload fails. Adds renderer coverage for the new attachment delivery note.

Copilot AI review requested due to automatic review settings July 13, 2026 10:57
@vimzh vimzh merged commit b8a58bd into main Jul 13, 2026
1 check passed

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR updates the Slack “final response” flow to attach the generated HTML report and PDF report directly into the originating Slack thread, while also adding a delivery note to the rendered Slack summary so users understand what was attached (or what failed).

Changes:

  • Add reportDeliveryNote to renderBlocks so Slack summaries can include an attachment/upload status note.
  • Update Slack event handling to attempt filesUploadV2 with the HTML + PDF outputs and fall back to a concise text summary if upload fails.
  • Extend pipeline hardening coverage to assert the new delivery note is included in the rendered summary.

Reviewed changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated 2 comments.

File Description
tests/pipeline-hardening.test.ts Adds an assertion that the new report delivery note appears in the rendered Slack summary.
src/slack/render.ts Extends summary rendering to include a configurable delivery/upload note line.
src/slack/events.ts Adds HTML/PDF upload via Slack filesUploadV2, builds attached vs fallback summaries, and posts fallback summary on upload failure.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread src/slack/events.ts
Comment on lines +165 to +170
file_uploads: files.map((file) => ({
file: file.filePath,
filename: file.fileName,
title: file.title,
filetype: file.filetype,
})),
Comment thread src/slack/events.ts
Comment on lines +421 to +425
htmlReportFile = {
filePath: saved.filePath,
fileName: saved.fileName,
title: "Interactive HTML report",
filetype: "html",
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants