Skip to content

A GitHub action to find an issue or pull request comment

License

Notifications You must be signed in to change notification settings

peter-evans/find-comment

Use this GitHub action with your project
Add this Action to an existing workflow or create a new one
View on Marketplace

Repository files navigation

Find Comment

CI GitHub Marketplace

A GitHub action to find an issue or pull request comment.

The action will output the comment ID of the comment matching the search criteria.

Usage

Find the first comment containing the specified string

      - name: Find Comment
        uses: peter-evans/find-comment@v3
        id: fc
        with:
          issue-number: 1
          body-includes: search string 1

Find the first comment by the specified author

      - name: Find Comment
        uses: peter-evans/find-comment@v3
        id: fc
        with:
          issue-number: 1
          comment-author: peter-evans

Find the first comment containing the specified string AND by the specified author

      - name: Find Comment
        uses: peter-evans/find-comment@v3
        id: fc
        with:
          issue-number: 1
          comment-author: peter-evans
          body-includes: search string 1

Find the first comment matching the specified regular expression

      - name: Find Comment
        uses: peter-evans/find-comment@v3
        id: fc
        with:
          issue-number: 1
          body-regex: '^.*search string 1.*$'

Find the last comment containing the specified string

      - name: Find Comment
        uses: peter-evans/find-comment@v3
        id: fc
        with:
          issue-number: 1
          body-includes: search string 1
          direction: last

Find the nth comment containing the specified string

      - name: Find Comment
        uses: peter-evans/find-comment@v3
        id: fc
        with:
          issue-number: 1
          body-includes: search string 1
          nth: 1 # second matching comment (0-indexed)

Action inputs

Name Description Default
token GITHUB_TOKEN or a repo scoped PAT. GITHUB_TOKEN
repository The full name of the repository containing the issue or pull request. github.repository (Current repository)
issue-number The number of the issue or pull request in which to search.
comment-author The GitHub user name of the comment author.
body-includes A string to search for in the body of comments.
body-regex A regular expression to search for in the body of comments.
direction Search direction, specified as first or last first
nth 0-indexed number, specifying which comment to return if multiple are found 0

Outputs

The comment-id, comment-node-id, comment-body, comment-author and comment-created-at of the matching comment found will be output for use in later steps. They will be empty strings if no matching comment was found. Note that in order to read the step outputs the action step must have an id.

Tip: Empty strings evaluate to zero in GitHub Actions expressions. e.g. If comment-id is an empty string steps.fc.outputs.comment-id == 0 evaluates to true.

      - name: Find Comment
        uses: peter-evans/find-comment@v3
        id: fc
        with:
          issue-number: 1
          body-includes: search string 1
      - run: |
          echo ${{ steps.fc.outputs.comment-id }}
          echo ${{ steps.fc.outputs.comment-node-id }}
          echo ${{ steps.fc.outputs.comment-body }}
          echo ${{ steps.fc.outputs.comment-author }}
          echo ${{ steps.fc.outputs.comment-created-at }}

Accessing issues and pull requests in other repositories

You can search the comments of issues and pull requests in another repository by using a PAT instead of GITHUB_TOKEN.

License

MIT