Skip to content

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

License

Notifications You must be signed in to change notification settings

redhat-plumbers-in-action/gather-pull-request-metadata

Use this GitHub action with your project
Add this Action to an existing workflow or create a new one
View on Marketplace

Repository files navigation

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.

About

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

Topics

Resources

License

Stars

Watchers

Forks

Contributors 3

  •  
  •  
  •