Skip to content
box

GitHub Action

Gather Pull Request Metadata

v1.7.0 Latest version

Gather Pull Request Metadata

box

Gather Pull Request Metadata

Gather useful publicly available information about Pull Request and provided in easy to digest JSON format

Installation

Copy and paste the following snippet into your .yml file.

              

- name: Gather Pull Request Metadata

uses: redhat-plumbers-in-action/[email protected]

Learn more about this action in redhat-plumbers-in-action/gather-pull-request-metadata

Choose a version

Gather Pull Request Metadata

npm version GitHub Marketplace Lint Code Base Unit Tests CodeQL Check dist/

codecov

Usage

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 }}

Configuration options

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>

# ...

pr-number

Number of Pull Request to gather metadata from.

  • default value: ${{ github.event.number }}
  • requirements: required

metadata-file-name

Name of file where Pull Request metadata will be saved.

  • default value: pr-metadata.json
  • requirements: optional

token

Token used to access GitHub API. Read permissions are sufficient.

  • default value: ${{ github.token }}
  • requirements: required
  • recomended value: secrets.GITHUB_TOKEN

Outputs

GitHub Action exposes following outputs.

metadata

{
  "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",
          }
        ]
      }
    }
  ]
}

metadata-file

Relative path to JSON file containing Pull Request metadata object.