Skip to content

Latest commit

 

History

History
157 lines (118 loc) · 6.18 KB

README.md

File metadata and controls

157 lines (118 loc) · 6.18 KB

Tags Test Quality Gate Status GitHub Release Version GitHub Last Commit Codeberg Last Commit GitHub Top Language GitHub Org Stars Discord

Parse Issue Form Action

Parse GitHub Issue Forms Action and Set as Outputs. This is a zero configuration way to get a form value as an Output.

This is currently a WIP but functional.

Note

Please submit a Feature Request for new features or Open an Issue if you find any bugs.

Inputs

input required default description
body Yes - Set this to ${{ github.event.issue.body }}
- name: 'Parse Issue'
  id: issue
  uses: cssnr/parse-issue-form-action@v1
  with:
    body: ${{ github.event.issue.body }}

Outputs

Outputs are headings/labels, to lower case, with spaces replaced with _'s.
A heading/label of Site Link will be an output with key site_link.

Warning

This only parses values as strings and will not parse check boxes or dropdowns correctly.
Once I have a use or request for this feature, the functionality will be added...

Examples

Using this issue form template:

name: 'Issue'
description: 'Open an Issue'

body:
  - type: input
    id: url
    attributes:
      label: Site URL
      description: Enter a URL

  - type: textarea
    id: description
    attributes:
      label: Details
      description: Please describe the issue...

Will generate these 2 outputs:

  • ${{ steps.issue.outputs.site_url }}
  • ${{ steps.issue.outputs.details }}
name: 'Issue'

on:
  issues:
    types:
      - opened

jobs:
  issue:
    name: 'Issue'
    runs-on: ubuntu-latest
    timeout-minutes: 5

    steps:
      - name: 'Checkout'
        uses: actions/checkout@v4

      - name: 'Debug Issue'
        run: |
          echo Issue number: '${{ github.event.issue.number }}'
          echo Issue title: '${{ github.event.issue.title }}'
          echo Issue body: '${{ github.event.issue.body }}'

      - name: 'Parse Issue'
        id: issue
        uses: cssnr/parse-issue-form-action@v1
        with:
          body: ${{ github.event.issue.body }}

      - name: 'Debug Parsed Issue'
        run: |
          echo Site Link: '${{ steps.issue.outputs.site_link }}'
          echo Details: '${{ steps.issue.outputs.details }}'

For a full example, see: https://github.com/cssnr/link-extractor/blob/master/.github/workflows/issue.yaml

Known Issues

  • As previously mentioned, this currently parses raw content, therefore, will not parse check box/dropdown values, yet...
  • If a users uses ### at the start of a line, it would be interpreted as an output. Will be fixed if an issue is opened.
  • If you use an IDE to validate actions, it will display the outputs as invalid since outputs are arbitrary based on input.

This is a very simple action, for more details see: src/index.js

Support

For general help or to request a feature, see:

If you are experiencing an issue/bug or getting unexpected results, you can:

Contributing

Currently, the best way to contribute to this project is to star this project on GitHub.

Additionally, you can support other GitHub Actions I have published:

For a full list of current projects to support visit: https://cssnr.github.io/