Skip to Content
FeaturesTemplates

Templates

Dev Herald provides pre-built comment templates for common automated signals in your CI pipeline. Templates handle formatting and structure, so you can focus on passing in your data.

Available Templates

Deployment Status

Surface deployment information directly in PRs - preview URLs, deployment status, and build artifacts.

- name: Post Deployment Status uses: dev-herald/comment@v1 with: api-key: ${{ secrets.DEV_HERALD_API_KEY }} pr-number: ${{ github.event.pull_request.number }} template: DEPLOYMENT sticky-id: deployment-status template-data: | { "projectName": "My App", "deploymentStatus": "Ready", "previewLink": "https://preview-pr-123.myapp.com", "deploymentLink": "https://vercel.com/deployments/abc123", "showTimestamp": true }

Required fields: projectName, deploymentStatus
Optional fields: projectLink, deploymentLink, previewLink, commentsLink, showTimestamp

Migration Progress

Track incremental migrations (e.g., JavaScript → TypeScript, old library → new library) with before/after metrics.

- name: Post Migration Progress uses: dev-herald/comment@v1 with: api-key: ${{ secrets.DEV_HERALD_API_KEY }} pr-number: ${{ github.event.pull_request.number }} template: MIGRATION sticky-id: migration-progress template-data: | { "migrations": [ { "from": "JavaScript", "to": "TypeScript", "summary": "✅ This PR converted 5 more files to TypeScript", "whyItMatters": "Improves type safety and developer experience", "metric": { "unit": "files", "before": 120, "after": 115, "delta": -5 } } ], "showTimestamp": true }

Required fields: migrations (array with from, to, summary, and metric)
Optional fields: whyItMatters, showTimestamp

Custom Table

Create structured tables for any data - bundle sizes, coverage reports, performance metrics, etc.

- name: Post Bundle Size Analysis uses: dev-herald/comment@v1 with: api-key: ${{ secrets.DEV_HERALD_API_KEY }} pr-number: ${{ github.event.pull_request.number }} template: CUSTOM_TABLE sticky-id: bundle-analysis template-data: | { "title": "Bundle Size Analysis", "headers": ["Package", "Size", "Change", "Status"], "rows": [ { "cells": [ { "text": "main.js" }, { "text": "245 KB" }, { "text": "-12 KB ⬇️" }, { "text": "✅ Improved" } ] }, { "cells": [ { "text": "vendor.js" }, { "text": "890 KB" }, { "text": "+5 KB ⬆️" }, { "text": "⚠️ Watch" } ] } ], "showTimestamp": true }

Required fields: headers, rows (at least one row with cells)
Optional fields: title, showTimestamp

Template Data Validation

All templates use Zod schemas  for validation. If you provide invalid data, Dev Herald will return a detailed error message explaining what’s wrong.

Next Steps

Last updated on