{"id":42291194,"url":"https://github.com/benlei/parse-issue-templateless","last_synced_at":"2026-01-27T09:46:13.627Z","repository":{"id":257344007,"uuid":"857911450","full_name":"benlei/parse-issue-templateless","owner":"benlei","description":"Parses fields of an issue that may or may not have been created via an Issue Template, but without the template, based on the headings","archived":false,"fork":false,"pushed_at":"2024-12-09T19:35:03.000Z","size":1608,"stargazers_count":0,"open_issues_count":5,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-01-18T12:16:08.773Z","etag":null,"topics":["github-actions","issueops","workflows"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/benlei.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":"CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-09-15T23:24:26.000Z","updated_at":"2024-10-08T05:18:00.000Z","dependencies_parsed_at":"2024-09-16T05:56:06.775Z","dependency_job_id":null,"html_url":"https://github.com/benlei/parse-issue-templateless","commit_stats":null,"previous_names":["benlei/issue-templateless-parser"],"tags_count":3,"template":false,"template_full_name":"actions/typescript-action","purl":"pkg:github/benlei/parse-issue-templateless","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/benlei%2Fparse-issue-templateless","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/benlei%2Fparse-issue-templateless/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/benlei%2Fparse-issue-templateless/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/benlei%2Fparse-issue-templateless/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/benlei","download_url":"https://codeload.github.com/benlei/parse-issue-templateless/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/benlei%2Fparse-issue-templateless/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28811479,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-27T07:41:26.337Z","status":"ssl_error","status_checked_at":"2026-01-27T07:41:08.776Z","response_time":168,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["github-actions","issueops","workflows"],"created_at":"2026-01-27T09:46:12.880Z","updated_at":"2026-01-27T09:46:13.615Z","avatar_url":"https://github.com/benlei.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# benlei/parse-issue-templateless\n\n[![GitHub Super-Linter](https://github.com/benlei/parse-issue-templateless/actions/workflows/linter.yml/badge.svg)](https://github.com/super-linter/super-linter)\n![CI](https://github.com/benlei/parse-issue-templateless/actions/workflows/ci.yml/badge.svg)\n[![Check dist/](https://github.com/benlei/parse-issue-templateless/actions/workflows/check-dist.yml/badge.svg)](https://github.com/benlei/parse-issue-templateless/actions/workflows/check-dist.yml)\n[![CodeQL](https://github.com/benlei/parse-issue-templateless/actions/workflows/codeql-analysis.yml/badge.svg)](https://github.com/benlei/parse-issue-templateless/actions/workflows/codeql-analysis.yml)\n[![Coverage](./badges/coverage.svg)](./badges/coverage.svg)\n\nThis action will try to parse a `body`, or an issue's body, for fields as if it\nwere created by an issue template. Keep in mind that because this is\ntemplateless, it assumes all the contents of each field are strings.\n\n## Inputs\n\n\u003c!-- markdownlint-disable MD013 --\u003e\n\n| Input Name      | Required | Default                    | Description                                                                                                                                        |\n| --------------- | -------- | -------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------- |\n| `repository`    | no       | `${{ github.repository }}` | The repository to find issue in, if trying to fetch an issue's body                                                                                |\n| `token`         | no       | `${{ github.token }}`      | The GitHub token to use for searching for issue                                                                                                    |\n| `body`          | no       | `''`                       | The body to parse                                                                                                                                  |\n| `issue-number`  | no       | `''`                       | The issue number to try to fetch the body from for parsing. Ignored if `body` input is specified/has content.                                      |\n| `issue-title`   | no       | `''`                       | The exact issue title to search for to try to fetch the body from for parsing. Ignored if `body` or `issue-number` input is specified/has content. |\n| `fail-on-error` | no       | `true`                     | Whether or not to fail action if any error occurs                                                                                                  |\n\n\u003c!-- markdownlint-enable MD013 --\u003e\n\n## Outputs\n\n\u003c!-- markdownlint-disable MD013 --\u003e\n\n| Output Name    | Description                                                                                                                                                                                                                              |\n| -------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| `issue-number` | The issue number that was found, if an issue was fetched/searched for                                                                                                                                                                    |\n| `*`            | The headings are slugified (lowercased, alphanumeric chars only) before having its content set as the output. For example, if you had the heading `Hello World`, you can expect the output `hello-world` to have been set from this step |\n\n\u003c!-- markdownlint-enable MD013 --\u003e\n\n## Examples\n\n### Parse by Body\n\n\u003c!-- markdownlint-disable MD013 --\u003e\n\n````yaml\n- name: Test Local Action - Body\n  id: test\n  uses: benlei/parse-issue-templateless@v1\n  env:\n    ISSUE_BODY: |\n      ### Issue Title\n\n      This is the body of the issue\n\n      ```yaml\n      time: 10\n      ```\n\n      And that's about it\n\n      ### Something Else 123\n\n      1235768457246\n\n      ### Third Heading over here...\n\n      Hello World\n  with:\n    body: ${{ env.ISSUE_BODY }}\n\n- name: Outputs are not correct\n  if: |\n    steps.test.outputs.issue-number != '' ||\n    !contains(steps.test.outputs.issue-title, 'time: 10') ||\n    !contains(steps.test.outputs.issue-title, 'about it') ||\n    steps.test.outputs.something-else-123 != '1235768457246' ||\n    steps.test.outputs.third-heading-over-here != 'Hello World'\n  run: exit 1\n````\n\n\u003c!-- markdownlint-enable MD013 --\u003e\n\n### Parse by Issue Number\n\n\u003c!-- markdownlint-disable MD013 --\u003e\n\n```yaml\n- name: Test Local Action - Issue Number\n  id: test\n  uses: benlei/parse-issue-templateless@v1\n  with:\n    issue-number: 3\n\n- name: Outputs are not correct\n  if: |\n    steps.test.outputs.issue-number != '3' ||\n    !contains(steps.test.outputs.issue-title, 'time: 10') ||\n    !contains(steps.test.outputs.issue-title, 'about it') ||\n    steps.test.outputs.something-else-123 != '1235768457246' ||\n    steps.test.outputs.third-heading-over-here != 'Hello World'\n  run: exit 1\n```\n\n\u003c!-- markdownlint-enable MD013 --\u003e\n\n### Parse by Exact Issue Title\n\n\u003c!-- markdownlint-disable MD013 --\u003e\n\n```yaml\n- name: Test Local Action - Issue Title\n  id: test\n  uses: benlei/parse-issue-templateless@v1\n  with:\n    issue-title: Issue with example contents\n\n- name: Outputs are not correct\n  if: |\n    steps.test.outputs.issue-number != '3' ||\n    !contains(steps.test.outputs.issue-title, 'time: 10') ||\n    !contains(steps.test.outputs.issue-title, 'about it') ||\n    steps.test.outputs.something-else-123 != '1235768457246' ||\n    steps.test.outputs.third-heading-over-here != 'Hello World'\n  run: exit 1\n```\n\n\u003c!-- markdownlint-enable MD013 --\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbenlei%2Fparse-issue-templateless","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbenlei%2Fparse-issue-templateless","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbenlei%2Fparse-issue-templateless/lists"}