Skip to content

funivan/github-autopr

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

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

73 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Usage

This action automatically open Pull Request based on conditions.

Create PR for all commits.

steps:
  - name: Create PR
    uses: funivan/github-autopr@0.2
    env:
      GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

Demo

how it works

Filter

In every runtime environment for an Action we have file that holds the JSON data for the event PushEvent payload. From that we can get the commit authors name and other important data. We can skip this action by checking this data.

Arguments

  • First argument - JQ selector which will select data from the event data file
  • Second argument: grep regex
  • Third argument: verbosity level (-v|-vv)

Examples

Create PR if the commit message contains #pr hashtag

steps:
  - name: Create PR
    uses: funivan/github-autopr@0.2.0
    env:
      GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
    with:
      args: .head_commit.message .*#pr.*

Check if branch ends with -pr word

args: .repository.default_branch .*-pr

Output data that is used for the condition

Just add third parameter -v

args: .repository.default_branch .*-pr -v

If you need to get output (response body) of the API call use -vv (very verbose level)

How it works

Under the hood we will fetch commit message and check if it contains #pr word.

result=$(echo "some test commit message #pr" | grep "^.*#pr.*$" | wc -l )

If result is positive - we will continue our action. If negative - stop it immediately.