Skip to content

cssnr/parse-issue-form-action

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

GitHub Tag Major GitHub Tag Minor GitHub Release Version GitHub Dist Size Action Run Using Workflow Release Workflow Test Workflow Lint Quality Gate Status GitHub Last Commit Codeberg Last Commit GitHub Contributors GitHub Repo Size GitHub Top Language GitHub Discussions GitHub Forks GitHub Repo Stars GitHub Org Stars Discord Ko-fi

Parse Issue Form Action

Parse GitHub issue forms into outputs.
This turns all issue form inputs into action outputs with zero configuration.

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

Note

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

Inputs

Input Req. Default Input Description
body Yes - Set 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...

- 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 }}"

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

Tags

The following rolling tags are maintained.

Version Tag Rolling Bugs Feat. Name Target Example
GitHub Tag Major Major vN.x.x vN
GitHub Tag Minor Minor vN.N.x vN.N
GitHub Release Micro vN.N.N vN.N.N

You can view the release notes for each version on the releases page.

The Major tag is recommended. It is the most up-to-date and always backwards compatible. Breaking changes would result in a Major version bump. At a minimum you should use a Minor tag.

Known Issues

  • 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.

Support

For general help or to request a feature, see:

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

For more information, see the CSSNR SUPPORT.md.

Contributing

If you would like to submit a PR, please review the CONTRIBUTING.md.

Please consider making a donation to support the development of this project and additional open source projects.

Ko-fi

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

❔ Unpublished Actions

These actions are not published on the Marketplace, but may be useful.


📝 Template Actions

These are basic action templates that I use for creating new actions.

Note: The docker-test-action builds, runs and pushes images to GitHub Container Registry.


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

About

Parse Issue Form Action

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Sponsor this project