Skip to content

jamacku/gather-pull-request-metadata

 
 

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

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 100.0%