diff --git a/admin/types.ts b/admin/types.ts index 6fdc697..026a097 100644 --- a/admin/types.ts +++ b/admin/types.ts @@ -82,7 +82,7 @@ export const ROUTE_TEMPLATES: RouteTemplate[] = [ { id: "checks", nameKey: "templates.checks", - filters: [{ type: "event", match: ["check_suite", "check_run"] }], + filters: [{ type: "event", match: ["check_suite"] }], }, { id: "deployments", diff --git a/src/__tests__/formatter.test.ts b/src/__tests__/formatter.test.ts index 795f9b1..0c18ad9 100644 --- a/src/__tests__/formatter.test.ts +++ b/src/__tests__/formatter.test.ts @@ -164,10 +164,13 @@ describe("message title spec", () => { event("check_suite", { check_suite: suite, repository: repo, sender }), ); expect(msg.title).toBe("acme/widget: Check suite success"); + expect(msg.url).toBe("https://github.com/acme/widget/runs/2"); expect(msg.fields![0].value).toBe("✅ success"); expect(msg.fields![1].value).toBe("Cloudflare Pages"); expect(msg.fields![2].value).toBe("main"); - expect(msg.fields![3].value).toBe("abc123d"); + expect(msg.fields![3].value).toBe( + "[abc123d](https://github.com/acme/widget/commit/abc123def456)", + ); }); it("workflow_job shows job status, workflow, branch and commit", () => { diff --git a/src/formatters/check.ts b/src/formatters/check.ts index bf5121d..6d89f6a 100644 --- a/src/formatters/check.ts +++ b/src/formatters/check.ts @@ -60,7 +60,10 @@ export function formatCheckSuite( if (suite.head_sha) { fields.push({ name: t("fields.commit"), - value: suite.head_sha.slice(0, 7), + value: + repo && suite.head_sha + ? `[${suite.head_sha.slice(0, 7)}](https://github.com/${repo}/commit/${suite.head_sha})` + : `\`${suite.head_sha.slice(0, 7)}\``, inline: true, }); } @@ -72,7 +75,11 @@ export function formatCheckSuite( repo: repo ?? t("common.repository"), conclusion: status, }), - url: suite.html_url, + url: + suite.html_url ?? + (repo && suite.head_sha + ? `https://github.com/${repo}/commit/${suite.head_sha}/checks` + : undefined), color: GITHUB_COLORS[colorKey], fields, },