- The default values for
author
andcommitter
have changed. See "What's new" below for details. If you are overriding the default values you will not be affected by this change. - On completion, the action now removes the temporary git remote configuration it adds when using
push-to-fork
. This should not affect you unless you were using the temporary configuration for some other purpose after the action completes.
- Updated runtime to Node.js 20
- The action now requires a minimum version of v2.308.0 for the Actions runner. Update self-hosted runners to v2.308.0 or later to ensure compatibility.
- The default value for
author
has been changed to${{ github.actor }} <${{ github.actor_id }}+${{ github.actor }}@users.noreply.github.com>
. The change adds the${{ github.actor_id }}+
prefix to the email address to align with GitHub's standard format for the author email address. - The default value for
committer
has been changed togithub-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
. This is to align with the default GitHub Actions bot user account. - Adds input
git-token
, the Personal Access Token (PAT) that the action will use for git operations. This input defaults to the value oftoken
. Use this input if you would like the action to use a different token for git operations than the one used for the GitHub API. push-to-fork
now supports pushing to sibling repositories in the same network.- Previously, when using
push-to-fork
, the action did not remove temporary git remote configuration it adds during execution. This has been fixed and the configuration is now removed when the action completes. - If the pull request body is truncated due to exceeding the maximum length, the action will now suffix the body with the message "...[Pull request body truncated]" to indicate that the body has been truncated.
- The action now uses
--unshallow
only when necessary, rather than as a default argument ofgit fetch
. This should improve performance, particularly for large git repositories with extensive commit history. - The action can now be executed on one GitHub server and create pull requests on a different GitHub server. Server products include GitHub hosted (github.com), GitHub Enterprise Server (GHES), and GitHub Enterprise Cloud (GHEC). For example, the action can be executed on GitHub hosted and create pull requests on a GHES or GHEC instance.
- The action will no longer leave the local repository checked out on the pull request
branch
. Instead, it will leave the repository checked out on the branch or commit that it was when the action started. - When using
add-paths
, uncommitted changes will no longer be destroyed. They will be stashed and restored at the end of the action run.
- Adds input
body-path
, the path to a file containing the pull request body. - At the end of the action run the local repository is now checked out on the branch or commit that it was when the action started.
- Any uncommitted tracked or untracked changes are now stashed and restored at the end of the action run. Currently, this can only occur when using the
add-paths
input, which allows for changes to not be committed. Previously, any uncommitted changes would be destroyed. - The proxy implementation has been revised but is not expected to have any change in behaviour. It continues to support the standard environment variables
http_proxy
,https_proxy
andno_proxy
. - Now sets the git
safe.directory
configuration for the local repository path. The configuration is removed when the action completes. Fixes issue peter-evans#1170. - Now determines the git directory path using the
git rev-parse --git-dir
command. This allows users with custom repository configurations to use the action. - Improved handling of the
team-reviewers
input and associated errors.
-
The
add-paths
input no longer accepts-A
as a valid value. When committing all new and modified files theadd-paths
input should be omitted. -
If using self-hosted runners or GitHub Enterprise Server, there are minimum requirements for
v4
to run. See "What's new" below for details.
- Updated runtime to Node.js 16
- The action now requires a minimum version of v2.285.0 for the Actions Runner.
- If using GitHub Enterprise Server, the action requires GHES 3.4 or later.
-
The
author
input now defaults to the user who triggered the workflow run. This default is set via action.yml as${{ github.actor }} <${{ github.actor }}@users.noreply.github.com>
, wheregithub.actor
is the GitHub user account associated with the run. For example,peter-evans <[email protected]>
.To continue to use the
v2
default, set theauthor
input as follows.- uses: peter-evans/create-pull-request@v3 with: author: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
-
The
author
andcommitter
inputs are no longer cross-used if only one is supplied. Additionally, when neither input is set, theauthor
andcommitter
are no longer determined from an existing identity set in git config. In both cases, the inputs will fall back to their default set in action.yml. -
Deprecated inputs
project
andproject-column
have been removed in favour of an additional action step. See Create a project card for details. -
Deprecated output
pr_number
has been removed in favour ofpull-request-number
. -
Input
request-to-parent
has been removed in favour ofpush-to-fork
. This greatly simplifies pushing the pull request branch to a fork of the parent repository. See Push pull request branches to a fork for details.e.g.
- uses: actions/checkout@v2 # Make changes to pull request here - uses: peter-evans/create-pull-request@v3 with: token: ${{ secrets.MACHINE_USER_PAT }} push-to-fork: machine-user/fork-of-repository
-
The action has been converted to Typescript giving it a significant performance improvement.
-
If you run this action in a container, or on self-hosted runners,
python
andpip
are no longer required dependencies. See Running in a container or on self-hosted runners for details. -
Inputs
labels
,assignees
,reviewers
andteam-reviewers
can now be newline separated, or comma separated. e.g.labels: | chore dependencies automated
-
v2
now expects repositories to be checked out withactions/checkout@v2
To use
actions/checkout@v1
the following step to checkout the branch is necessary.- uses: actions/checkout@v1 - name: Checkout branch run: git checkout "${GITHUB_REF:11}"
-
The two branch naming strategies have been swapped. Fixed-branch naming strategy is now the default. i.e.
branch-suffix: none
is now the default and should be removed from configuration if set. -
author-name
,author-email
,committer-name
,committer-email
have been removed in favour ofauthor
andcommitter
. They can both be set in the formatDisplay Name <[email protected]>
If neither
author
orcommitter
are set the action will default to making commits as the GitHub Actions bot user.
- Unpushed commits made during the workflow before the action runs will now be considered as changes to be raised in the pull request. See Create your own commits for details.
- New commits made to the pull request base will now be taken into account when pull requests are updated.
- If an updated pull request no longer differs from its base it will automatically be closed and the pull request branch deleted.