A GitHub action to create a pull request for changes to your repository in the actions workspace
Find a file
2019-08-13 18:14:51 +09:00
.github Update for actions v2 2019-08-13 18:14:51 +09:00
create-pull-request.py 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
pull-request-example.png Update README 2019-07-16 20:42:29 +09:00
README.md Update for actions v2 2019-08-13 18:14:51 +09:00
renovate.json Add renovate.json 2019-07-18 09:44:25 +00:00
requirements.txt Update dependency GitPython to v3 2019-08-12 03:30:45 +00:00

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: In general, it's not good practice to modify your repository during workflows. This action is experimental and may not work well for repositories that have a very high frequency of commits.

Usage

The default GITHUB_TOKEN does not have the access neccessary for this action to work correctly. Create a new repo scoped token 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.0.0
      env:
        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.0.0
      env:
        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