.github | ||
create-pull-request.py | ||
Dockerfile | ||
LICENSE | ||
pull-request-example.png | ||
README.md | ||
renovate.json | ||
requirements.txt |
Create Pull Request
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:
- Check for repository changes in the actions workspace. This includes untracked (new) files as well as modified files.
- Commit all changes to a new branch. The commit will be made using the name and email of the
HEAD
commit author. - 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:
License
MIT License - see the LICENSE file for details