A GitHub Action for creating pull requests.
- Create pull requests
- Add reviewers, assignees, labels, or milestones
- Customize pull request title and body
- Fail silently when a pull request already exists
# File: .github/workflows/pull-request.yml
on:
push:
branches:
- feature-1
jobs:
pull-request:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: pull-request
uses: repo-sync/pull-request@v2
with:
destination_branch: "main"
github_token: ${{ secrets.GITHUB_TOKEN }}
This will automatically create a pull request from feature-1
to main
.
on:
push:
branches:
- "feature/*" # Support wildcard matching
jobs:
pull-request:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: pull-request
uses: repo-sync/pull-request@v2
with:
source_branch: "" # If blank, default: triggered branch
destination_branch: "master" # If blank, default: master
pr_title: "Pulling ${{ github.ref }} into master" # Title of pull request
pr_body: ":crown: *An automated PR*" # Full markdown support, requires pr_title to be set
pr_template: ".github/PULL_REQUEST_TEMPLATE.md" # Path to pull request template, requires pr_title to be set, excludes pr_body
pr_reviewer: "wei,worker" # Comma-separated list (no spaces)
pr_assignee: "wei,worker" # Comma-separated list (no spaces)
pr_label: "auto-pr" # Comma-separated list (no spaces)
pr_milestone: "Milestone 1" # Milestone name
pr_draft: true # Creates pull request as draft
pr_allow_empty: true # Creates pull request even if there are no changes
pr_merge_branch: "merge-branch" # Branch to create to attempt a rebase and create a pull request from
pr_rebase_strat: "-X theirs" # rebase strategy, one of "theirs", "ours", "merge". Adds "-X <strategy>" to git rebase command
github_token: ${{ secrets.GITHUB_TOKEN }}
The following outputs are available: pr_url
, pr_number
, has_changed_files ("true"|"false")
.
on:
push:
branches:
- feature-1
jobs:
pull-request:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: pull-request
id: open-pr
uses: repo-sync/pull-request@v2
with:
destination_branch: "main"
github_token: ${{ secrets.GITHUB_TOKEN }}
- name: output-url
run: echo ${{steps.open-pr.outputs.pr_url}}
- name: output-number
run: echo ${{steps.open-pr.outputs.pr_number}}
- name: output-has-changed-files
run: echo ${{steps.open-pr.outputs.has_changed_files}}
Thanks goes to these wonderful people (emoji key):
This project follows the all-contributors specification. Contributions of any kind welcome!