Parse GitHub issue forms into outputs.
This turns all issue form inputs into action outputs with zero configuration.
Note
Please submit a Feature Request for new features or Open an Issue if you find any bugs.
This is a very simple action, for more details see: src/index.js
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...
- name: 'Parse Issue'
id: issue
uses: cssnr/parse-issue-form-action@v1
with:
body: ${{ github.event.issue.body }}
- name: 'Echo Outputs'
run: |
echo URL: '${{ steps.issue.outputs.url }}'
echo Details: '${{ steps.issue.outputs.details }}'
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
The following rolling tags are maintained.
You can view the release notes for each version on the releases page.
- As 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. Let us know if this is an issue. - If you use an actions validator, it will display the outputs as invalid since outputs are arbitrary based on input.
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/
For more information, see the CSSNR SUPPORT.md.
Currently, the best way to contribute to this project is to star this project on GitHub.
For more information, see the CSSNR CONTRIBUTING.md.
Additionally, you can support other GitHub Actions I have published:
- Stack Deploy Action
- Portainer Stack Deploy
- VirusTotal Action
- Mirror Repository Action
- Update Version Tags Action
- Update JSON Value Action
- Parse Issue Form Action
- Cloudflare Purge Cache Action
- Mozilla Addon Update Action
- Docker Tags Action
For a full list of current projects to support visit: https://cssnr.github.io/