name: Gather Pull Request Metadata
on:
pull_request:
types: [ opened, reopened, synchronize ]
permissions:
contents: read
jobs:
gather-metadata:
runs-on: ubuntu-latest
permissions:
# only required for workflows in private repositories
actions: read
contents: read
steps:
- name: Repository checkout
uses: actions/checkout@v3
- id: Metadata
name: Gather Pull Request Metadata
uses: redhat-plumbers-in-action/gather-pull-request-metadata@v1
- name: Upload artifact with gathered metadata
uses: actions/upload-artifact@v3
with:
name: Pull Request Metadata
path: ${{ steps.Metadata.outputs.metadata-file }}
Action currently accepts the following options:
# ...
- uses: redhat-plumbers-in-action/gather-pull-request-metadata@v1
with:
pr-number: <pr number>
metadata-file-name: <file name>
token: <PAT or GITHUB_TOKEN>
# ...
Number of Pull Request to gather metadata from.
- default value:
${{ github.event.number }}
- requirements:
required
Name of file where Pull Request metadata will be saved.
- default value:
pr-metadata.json
- requirements:
optional
Token used to access GitHub API. Read permissions are sufficient.
- default value:
${{ github.token }}
- requirements:
required
- recomended value:
secrets.GITHUB_TOKEN
GitHub Action exposes following outputs.
{
"number": 123,
"base": "main",
"ref": "dbb9ff194039a1e1567cb48e7261ee1a94d1b9f0",
"url": "https://github.com/org/repo/pull/123",
"labels": [
{
"id": 123456789,
"name": "my-label",
"description": "Description of my-label label."
}
],
"milestone": {
"title": "next-release"
},
"commits": [
{
"sha": "dbb9ff194039a1e1567cb48e7261ee1a94d1b9f0",
"url": "https://github.com/org/repo/commit/dbb9ff194039a1e1567cb48e7261ee1a94d1b9f0",
"message": {
"title": "test: add tests for commit functionality",
"body": "test: add tests for commit functionality\n\n(cherry picked from commit f921f712da87c6a770de94138595a83c13d778b5)",
"cherryPick": [
{
"sha": "f921f712da87c6a770de94138595a83c13d778b5",
}
]
}
}
]
}
Relative path to JSON file containing Pull Request metadata object.