Stand With Ukraine

PRCOMMENT

Stand With Ukraine Made in Ukraine

Creates or updates single comment to Github PR or Issue.

Usage

First step is generate a new Github token in Github Settings.

Binaries

export GITHUB_TOKEN=<personal token>
prcomment -i 1 -r miry/prcomment Hello from console

Docker

docker run -e GITHUB_TOKEN=<token> --rm -it miry/prcomment:0.1.3 -i 1 -r miry/prcomment Hello

Crystal

export GITHUB_TOKEN=<personal token>
crystal run src/cli.cr -- -i 1 -r miry/prcomment Hello

GithubAction

Inputs

msg

Required The msg of the comment. Default "World".

pr

Optional The PR or Issue ID where to add a comment. Default github.event.pull_request.number.

match

Optional Pattern of the comment to be replaced with. Default ""

Examples

steps:
  -
    uses: miry/[email protected]
    if: github.event_name == 'pull_request'
    name: Comment
    with:
      msg: "Testing simple message from job ${{ github.run_id }}!"
      match: 'Testing simple message from job .*'
      pr: ${{ github.event.pull_request.number }}
      token: ${{ secrets.GITHUB_TOKEN }}

Options

Match

One of the cases to have comment to show current test coverage. By default, prcomment looks for first comment with same text.

crystal run src/cli.cr -- -i 1 -r miry/prcomment -m "Test coverage \d*%" Test coverage 80%  # Creates a comment with text: 'Test coverage 80%'
crystal run src/cli.cr -- -i 1 -r miry/prcomment -m "Test coverage \d*%" Test coverage 130% # Finds the comment and replaces with: 'Test coverage 130%'

It is also usefull to change previous answer with new one:

crystal run src/cli.cr -- -i 1 -r miry/prcomment -m ":[+-]1:" ":+1:"  # Creates a comment with icon: ':+1'
crystal run src/cli.cr -- -i 1 -r miry/prcomment -m ":[+-]1:" ":-1:"  # Replaces with ':-1:'

The comment is too big for single line:

echo "The big content could be piped\nSome pattern from the comment\nThird line" | \
  crystal run src/cli.cr -- -i 1 -r miry/prcomment -m "Some pattern from the comment"