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.
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 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...
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
- 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
For general help or to request a feature, see:
- Q&A Discussion: https://github.com/cssnr/parse-issue-form-action/discussions/categories/q-a
- Request a Feature: https://github.com/cssnr/parse-issue-form-action/discussions/categories/feature-requests
If you are experiencing an issue/bug or getting unexpected results, you can:
- Report an Issue: https://github.com/cssnr/parse-issue-form-action/issues
- Chat with us on Discord: https://discord.gg/wXy6m2X8wY
- Provide General Feedback: https://cssnr.github.io/feedback/
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:
- VirusTotal Action
- Update Version Tags Action
- Update JSON Value Action
- Parse Issue Form Action
- Mirror Repository Action
- Portainer Stack Deploy
- Mozilla Addon Update Action
For a full list of current projects to support visit: https://cssnr.github.io/