Mouloud85
Mouloud85

Reputation: 4234

How to get the target branch of the GitHub pull request from an Actions?

When an action is set on pull_request in Github Actions, how to get the target branch? The use case is to retrieve the PR- (and hopefully, branch)-specific commits.

Upvotes: 70

Views: 55165

Answers (3)

Bartleby
Bartleby

Reputation: 1431

  1. When you need the data in expressions (Source):
Property name Type Description
github.base_ref string The base_ref or target branch of the pull request in a workflow run. This property is only available when the event that triggers a workflow run is a pull_request.
github.head_ref string The head_ref or source branch of the pull request in a workflow run. This property is only available when the event that triggers a workflow run is a pull_request.

An example (modified from the documentation):

steps:
  - uses: actions/[email protected]
    if: ${{ github.base_ref == 'main' }}

  1. When you need the data as environment variables (Source):
Environment variable Description
GITHUB_HEAD_REF Only set for pull request events. The name of the head branch.
GITHUB_BASE_REF Only set for pull request events. The name of the base branch.

An example (modified from the documentation):

steps:
  - name: Hello world
    run: echo Hello world from $GITHUB_BASE_REF!

Upvotes: 67

Piyush Sonigra
Piyush Sonigra

Reputation: 1648

You can see all GitHub actions pull request event properties here.

Upvotes: 2

Lucas
Lucas

Reputation: 1341

You can access the target branch with ${{ github.event.pull_request.base.ref }}.

To know the full list of properties of the github.event object, try to run more $GITHUB_EVENT_PATH.

Upvotes: 44

Related Questions