A GitHub action to create a pull request for changes to your repository in the actions workspace.
Go to file
Peter Evans baab1666cc Update README 2019-09-20 09:47:11 +09:00
.github Update for actions v2 2019-08-13 18:14:51 +09:00
Dockerfile Update entrypoint 2019-07-18 18:37:30 +09:00
LICENSE Initial commit 2019-07-16 19:53:24 +09:00
README.md Update README 2019-09-20 09:47:11 +09:00
create-pull-request.py Fix ignore_event for all non-push events 2019-09-20 09:39:09 +09:00
pull-request-example.png Update README 2019-07-16 20:42:29 +09:00
renovate.json Add renovate.json 2019-07-18 09:44:25 +00:00
requirements.txt Update dependency GitPython to v3.0.2 2019-08-22 04:38:51 +00:00

README.md

Create Pull Request

GitHub Marketplace

A GitHub action to create a pull request for changes to your repository in the actions workspace.

Changes to a repository in the actions workspace persist between actions in a workflow. This action is designed to be used in conjunction with other actions that modify or add files to your repository. The changes will be automatically committed to a new branch and a pull request created.

Create Pull Request action will:

  1. Check for repository changes in the actions workspace. This includes untracked (new) files as well as modified files.
  2. Commit all changes to a new branch. The commit will be made using the name and email of the HEAD commit author.
  3. Create a pull request to merge the new branch into the currently active branch executing the workflow.

Note: Modifying a repository during workflows is not good practice in general. However, this action opens up some interesting possibilities when used carefully. This action is experimental and may not work well for repositories that have a very high frequency of commits.

Usage

In addition to the default GITHUB_TOKEN, the action requires a repo scoped token in order to commit. Create one here and pass that as a secret to the REPO_ACCESS_TOKEN environment variable.

    - name: Create Pull Request
      uses: peter-evans/create-pull-request@v1.1.4
      env:
        GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
        REPO_ACCESS_TOKEN: ${{ secrets.REPO_ACCESS_TOKEN }}

Environment variables

These variables are all optional. If not set, a default value will be used.

  • PULL_REQUEST_BRANCH - The branch name. See Branch naming below for details.
  • COMMIT_MESSAGE - The message to use when committing changes.
  • PULL_REQUEST_TITLE - The title of the pull request.
  • PULL_REQUEST_BODY - The body of the pull request.

Branch naming

The variable PULL_REQUEST_BRANCH defaults to create-pull-request/patch. Commits will be made to a branch with this name and suffixed with the short SHA1 commit hash.

e.g.

create-pull-request/patch-fcdfb59
create-pull-request/patch-394710b

Ignoring files

If there are files or directories you want to ignore you can simply add them to a .gitignore file at the root of your repository. The action will respect this file.

Example

Here is an example that sets all the environment variables.

    - name: Create Pull Request
      uses: peter-evans/create-pull-request@v1.1.4
      env:
        GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
        REPO_ACCESS_TOKEN: ${{ secrets.REPO_ACCESS_TOKEN }}
        PULL_REQUEST_BRANCH: my-patches
        COMMIT_MESSAGE: Auto-modify files by my-file-modifier-action
        PULL_REQUEST_TITLE: Changes from my-file-modifier-action
        PULL_REQUEST_BODY: This is an auto-generated PR with changes from my-file-modifier-action

This configuration will create pull requests that look like this:

Pull Request Example

License

MIT License - see the LICENSE file for details