3mul0r/Bashful Comment
Add, update, or manage pull request comments. No Node.js — pure shell + GitHub CLI.
View on GitHubTrust Signals
- Scorecard Score
- not yet scored
- Maintenance Recency
- Activelast commit Mar 12, 2026
- License
- MIT
Pinned Snippet
uses: 3mul0r/bashful-comment@d6f5984c58f5533024808bb8a8be8fcdb2b1f704 # v1tags can be moved; commit SHAs can't. why a SHA?
Inputs
| name | description | required | default |
|---|---|---|---|
| message | The comment message body. Mutually exclusive with message-path. | no | — |
| message-path | Path(s) or glob(s) to file(s) whose contents become the message. Separate multiple with newlines. Mutually exclusive with message. | no | — |
| message-id | Unique identifier for this comment. Used to find/update existing comments instead of creating duplicates. | no | "" |
| refresh-message-position | If updating an existing comment, delete and recreate it so it appears at the bottom. | no | false |
| repo-owner | Repository owner. | no | ${{ github.repository_owner }} |
| repo-name | Repository name. | no | ${{ github.event.repository.name }} |
| repo-token | GitHub token for API access. | no | ${{ github.token }} |
| allow-repeats | Allow duplicate comments (skip checking for existing comment with same message-id). | no | false |
| status | Job status for selecting status-specific messages. | no | ${{ job.status }} |
| message-success | Message to use when status is 'success'. | no | — |
| message-failure | Message to use when status is 'failure'. | no | — |
| message-cancelled | Message to use when status is 'cancelled'. | no | — |
| message-skipped | Message to use when status is 'skipped'. | no | — |
| issue | Explicit issue or PR number to comment on. | no | — |
| update-only | Only update an existing comment; do not create a new one. | no | false |
| preformatted | Wrap the message in a code block. | no | false |
| find | Regex pattern(s) to find in an existing comment body (one per line). Supports inline modifiers like /pattern/gi. | no | — |
| replace | Replacement string(s) for each find pattern (one per line). If only one replacement is provided for multiple patterns, it is reused for all. | no | — |
| github-host | GitHub Enterprise Server hostname (e.g., github.example.com). Sets GH_HOST for the gh CLI. | no | — |
| github-enterprise-token | Token for GitHub Enterprise Server. Sets GH_ENTERPRISE_TOKEN for the gh CLI. | no | — |
Outputs
| name | description |
|---|---|
| comment-created | Whether a new comment was created. |
| comment-updated | Whether an existing comment was updated. |
| comment-id | The ID of the created or updated comment. |