GitHub Action
Get list of pull requests
v1.0.0
Latest version
This GitHub Action lists all pull requests targeting a specific branch or tag.
base
: The base branch to list pull requests for (default: 'master')github-token
: GitHub token for authentication (default: ${{ github.token }})state
: The state of the pull requests to list (default: 'open')hours_old
: Filter out PRs that are more than this many hours old (default: '0', meaning no filtering)
pull_requests_json
: JSON array containing the pull request data with the following structure:{ "number": 123, "title": "PR Title", "author": "username", "url": "https://github.com/owner/repo/pull/123", "created_at": "2023-12-16T00:00:00Z", "updated_at": "2023-12-16T00:00:00Z", "state": "open", "draft": false, "labels": ["bug", "enhancement"], "reviewers": { "users": ["reviewer1", "reviewer2"], "teams": ["team-reviewers"] } }
count
: Number of pull requests found
name: List Pull Requests
on:
workflow_dispatch:
inputs:
base:
description: 'Base branch to check'
required: true
default: 'main'
hours:
description: 'Age limit in hours (PRs older than this will be filtered out)'
required: false
default: '0'
jobs:
list-prs:
runs-on: ubuntu-latest
steps:
- name: Get list of pull requests
id: list-prs
uses: magebitcom/list-pr-action@v1.0.0
with:
base: ${{ github.event.inputs.base }}
github-token: ${{ secrets.GITHUB_TOKEN }}
hours_old: ${{ github.event.inputs.hours }}
# Example: Use the outputs in subsequent steps
- name: Use PR Data
run: |
echo "Found ${{ steps.list-prs.outputs.count }} pull requests"
echo "Pull Requests Data:"
echo "$JSON" | jq '.[].url'
env:
JSON: ${{ steps.list-prs.outputs.pull_requests_json }}
The action will output information about each pull request found both in the logs and as structured data:
{
"pull_requests_json": [
{
"number": 123,
"title": "Add new feature",
"author": "octocat",
"url": "https://github.com/owner/repo/pull/123",
"created_at": "2023-12-16T00:00:00Z",
"updated_at": "2023-12-16T00:00:00Z",
"state": "open",
"draft": false,
"labels": ["enhancement"],
"reviewers": {
"users": ["reviewer1", "reviewer2"],
"teams": ["team-reviewers"]
}
}
],
"count": 1
}
The logs will also show:
Found 1 pull request(s) for base: main
#123 - Add new feature
Author: octocat
URL: https://github.com/owner/repo/pull/123
Reviewers: reviewer1, reviewer2
Team Reviewers: team-reviewers
---
-
Install dependencies:
npm install
-
Build the action:
npm run build
MIT