GitHub Action
Malnati/PR Comment Pro

Standardize Pull Request comments with templates.

PR Comment Pro renders Markdown templates, injects variables, and updates the same sticky comment with a hidden message_id. Perfect for CI summaries, review checklists, and automated approvals.

Sticky comments with message_id Templates with ${VARIABLE} substitution Validation for required inputs Composite action for speed
PR Comment Pro character icon
Compact and friendly
Lightweight avatar straight from the repository assets, perfect for docs and badges.
Workflow showing PR Comment Pro reading a template and posting a sticky pull request comment.
Preview of how PR Comment Pro reads templates, injects variables, and posts a sticky PR comment.

Template-first comments

Render Markdown files with ${VARIABLE} substitution powered by envsubst.

Sticky updates

Provide a message_id to update the same comment instead of spamming reviewers.

Validation guardrails

Early checks for token, PR number, and template existence keep workflows predictable.

Screenshot-style splash showing PR Comment Pro templating a pull request comment.
Visual reference of the templating flow and sticky updates for PR feedback.
Quick start post PR summary
- name: "💬 Post PR Comment"
  uses: Malnati/pr-comment@v8.0.2
  with:
    token: ${{ secrets.GITHUB_TOKEN }}
    pr_number: ${{ github.event.pull_request.number }}
    template_path: .github/templates/summary.md
    message_id: ci-summary
  env:
    PR_TITLE: "${{ github.event.pull_request.title }}"
    REVIEW_STATUS: "Pending checks"
    COVERAGE: "92"
Sticky updates single comment target
- name: "🔎 Find existing comment"
  uses: Malnati/pr-comment@v8.0.2
  with:
    token: ${{ secrets.GITHUB_TOKEN }}
    pr_number: ${{ github.event.pull_request.number }}
    template_path: .github/templates/review.md
    message_id: review-gate
Documentation
Learn about inputs, sticky IDs, and templating tips directly from the repository README.
Open docs/README.md Open issues