Skip to content
You're viewing an older version of this GitHub Action. Do you want to see the latest version instead?
send

GitHub Action

Create PR

0.1.1

Create PR

send

Create PR

Create PR based on conditions

Installation

Copy and paste the following snippet into your .yml file.

              

- name: Create PR

uses: funivan/github-autopr@0.1.1

Learn more about this action in funivan/github-autopr

Choose a version

Usage

This action automatically open Pull Request based on conditions.

Create PR for all commits.

workflow "Fast prototype" {
  on = "push"
  resolves = ["Create PR"]
}

action "Create PR" {
  uses = "funivan/github-autopr@0.1.1"
  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

action "Create PR" {
  uses = "funivan/github-autopr@0.1.1"
  secrets = ["GITHUB_TOKEN"]
  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 (responsebody) 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.