{"id":13622684,"url":"https://github.com/imjohnbo/issue-bot","last_synced_at":"2025-10-11T19:16:34.171Z","repository":{"id":37433055,"uuid":"183005217","full_name":"imjohnbo/issue-bot","owner":"imjohnbo","description":"GitHub Actions powered Issue Bot 🦾","archived":false,"fork":false,"pushed_at":"2024-01-30T19:50:48.000Z","size":11760,"stargazers_count":105,"open_issues_count":0,"forks_count":28,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-09-24T13:38:57.212Z","etag":null,"topics":["github-actions","issues","repeated-tasks","standup"],"latest_commit_sha":null,"homepage":"https://github.com/imjohnbo/issue-bot","language":"JavaScript","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/imjohnbo.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":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2019-04-23T11:59:26.000Z","updated_at":"2025-08-21T11:59:25.000Z","dependencies_parsed_at":"2023-02-09T12:32:00.753Z","dependency_job_id":"7cfb5c0c-f527-447a-a954-6471b454ebc3","html_url":"https://github.com/imjohnbo/issue-bot","commit_stats":{"total_commits":202,"total_committers":13,"mean_commits":"15.538461538461538","dds":"0.29702970297029707","last_synced_commit":"3d96848fb5e9a4a473bb81ae62b4b4866a56e93a"},"previous_names":[],"tags_count":40,"template":false,"template_full_name":null,"purl":"pkg:github/imjohnbo/issue-bot","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/imjohnbo%2Fissue-bot","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/imjohnbo%2Fissue-bot/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/imjohnbo%2Fissue-bot/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/imjohnbo%2Fissue-bot/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/imjohnbo","download_url":"https://codeload.github.com/imjohnbo/issue-bot/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/imjohnbo%2Fissue-bot/sbom","scorecard":{"id":485645,"data":{"date":"2024-11-25T20:45:23Z","repo":{"name":"github.com/imjohnbo/issue-bot","commit":"3566ae270daa53ec66142d08f571fd7c059cc324"},"scorecard":{"version":"v4.13.1","commit":"49c0eed3a423f00c872b5c3c9f1bbca9e8aae799"},"score":5.4,"checks":[{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/49c0eed3a423f00c872b5c3c9f1bbca9e8aae799/docs/checks.md#binary-artifacts"}},{"name":"Branch-Protection","score":-1,"reason":"internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration","details":null,"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/49c0eed3a423f00c872b5c3c9f1bbca9e8aae799/docs/checks.md#branch-protection"}},{"name":"CI-Tests","score":2,"reason":"2 out of 9 merged PRs checked by a CI test -- score normalized to 2","details":null,"documentation":{"short":"Determines if the project runs tests before pull requests are merged.","url":"https://github.com/ossf/scorecard/blob/49c0eed3a423f00c872b5c3c9f1bbca9e8aae799/docs/checks.md#ci-tests"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/49c0eed3a423f00c872b5c3c9f1bbca9e8aae799/docs/checks.md#cii-best-practices"}},{"name":"Code-Review","score":4,"reason":"found 6 unreviewed changesets out of 10 -- score normalized to 4","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/49c0eed3a423f00c872b5c3c9f1bbca9e8aae799/docs/checks.md#code-review"}},{"name":"Contributors","score":10,"reason":"14 different organizations found -- score normalized to 10","details":["Info: contributors work for Deo-et-Orbi,Doslownie,RESTFest,academic-catholic-association-soli-deo,anielaolsztynek,autodesk,digitevent,imjohnbo-org,person-centred-solutions,siejmy,snyk,teamlewandowscy,wintron,wise-team"],"documentation":{"short":"Determines if the project has a set of contributors from multiple organizations (e.g., companies).","url":"https://github.com/ossf/scorecard/blob/49c0eed3a423f00c872b5c3c9f1bbca9e8aae799/docs/checks.md#contributors"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/49c0eed3a423f00c872b5c3c9f1bbca9e8aae799/docs/checks.md#dangerous-workflow"}},{"name":"Dependency-Update-Tool","score":10,"reason":"update tool detected","details":["Info: tool 'Dependabot' is used: :0"],"documentation":{"short":"Determines if the project uses a dependency update tool.","url":"https://github.com/ossf/scorecard/blob/49c0eed3a423f00c872b5c3c9f1bbca9e8aae799/docs/checks.md#dependency-update-tool"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no OSSFuzz integration found: Follow the steps in https://github.com/google/oss-fuzz to integrate fuzzing for your project.\nOver time, try to add fuzzing for more functionalities of your project. (High effort)","Warn: no OneFuzz integration found: Follow the steps in https://github.com/microsoft/onefuzz to start fuzzing for your project.\nOver time, try to add fuzzing for more functionalities of your project. (High effort)","Warn: no GoBuiltInFuzzer integration found: Follow the steps in https://go.dev/doc/fuzz/ to enable fuzzing on your project.\nOver time, try to add fuzzing for more functionalities of your project. (Medium effort)","Warn: no PythonAtherisFuzzer integration found: Follow the steps in https://github.com/google/atheris to enable fuzzing on your project.\nOver time, try to add fuzzing for more functionalities of your project. (Medium effort)","Warn: no CLibFuzzer integration found: Follow the steps in https://llvm.org/docs/LibFuzzer.html to enable fuzzing on your project.\nOver time, try to add fuzzing for more functionalities of your project. (Medium effort)","Warn: no CppLibFuzzer integration found: Follow the steps in https://llvm.org/docs/LibFuzzer.html to enable fuzzing on your project.\nOver time, try to add fuzzing for more functionalities of your project. (Medium effort)","Warn: no SwiftLibFuzzer integration found: Follow the steps in https://google.github.io/oss-fuzz/getting-started/new-project-guide/swift-lang/ to enable fuzzing on your project.\nOver time, try to add fuzzing for more functionalities of your project. (Medium effort)","Warn: no RustCargoFuzzer integration found: Follow the steps in https://rust-fuzz.github.io/book/cargo-fuzz.html to enable fuzzing on your project.\nOver time, try to add fuzzing for more functionalities of your project. (Medium effort)","Warn: no JavaJazzerFuzzer integration found: Follow the steps in https://github.com/CodeIntelligenceTesting/jazzer to enable fuzzing on your project.\nOver time, try to add fuzzing for more functionalities of your project. (Medium effort)","Warn: no ClusterFuzzLite integration found: Follow the steps in https://github.com/google/clusterfuzzlite to integrate fuzzing as part of CI.\nOver time, try to add fuzzing for more functionalities of your project. (High effort)","Warn: no HaskellPropertyBasedTesting integration found: Use one of the following frameworks to fuzz your project:\nQuickCheck: https://hackage.haskell.org/package/QuickCheck\nhedgehog: https://hedgehog.qa/\nvalidity: https://github.com/NorfairKing/validity\nsmallcheck: https://hackage.haskell.org/package/smallcheck\nhspec: https://hspec.github.io/\ntasty: https://hackage.haskell.org/package/tasty (High effort)","Warn: no TypeScriptPropertyBasedTesting integration found: Use fast-check: https://github.com/dubzzz/fast-check (High effort)","Warn: no JavaScriptPropertyBasedTesting integration found: Use fast-check: https://github.com/dubzzz/fast-check (High effort)"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/49c0eed3a423f00c872b5c3c9f1bbca9e8aae799/docs/checks.md#fuzzing"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: License file found in expected location: LICENSE:1","Info: FSF or OSI recognized license: LICENSE:1"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/49c0eed3a423f00c872b5c3c9f1bbca9e8aae799/docs/checks.md#license"}},{"name":"Maintained","score":0,"reason":"0 commit(s) out of 30 and 0 issue activity out of 30 found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/49c0eed3a423f00c872b5c3c9f1bbca9e8aae799/docs/checks.md#maintained"}},{"name":"Packaging","score":-1,"reason":"no published package detected","details":["Warn: no GitHub/GitLab publishing workflow detected"],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/49c0eed3a423f00c872b5c3c9f1bbca9e8aae799/docs/checks.md#packaging"}},{"name":"Pinned-Dependencies","score":8,"reason":"dependency not pinned by hash detected -- score normalized to 8","details":["Warn: npmCommand not pinned by hash: .github/workflows/ci.yml:20","Info:  10 out of  10 GitHub-owned GitHubAction dependencies pinned","Info:   5 out of   5 third-party GitHubAction dependencies pinned","Info:   0 out of   1 npmCommand dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/49c0eed3a423f00c872b5c3c9f1bbca9e8aae799/docs/checks.md#pinned-dependencies"}},{"name":"SAST","score":7,"reason":"SAST tool detected but not run on all commits","details":["Warn: 0 commits out of 29 are checked with a SAST tool","Info: SAST tool detected: CodeQL"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/49c0eed3a423f00c872b5c3c9f1bbca9e8aae799/docs/checks.md#sast"}},{"name":"Security-Policy","score":4,"reason":"security policy file detected","details":["Info: security policy file detected: SECURITY.md:1","Warn: no linked content found: On GitHub:\nEnable private vulnerability disclosure in your repository settings https://docs.github.com/en/code-security/security-advisories/repository-security-advisories/configuring-private-vulnerability-reporting-for-a-repository\nAdd a section in your SECURITY.md indicating you have enabled private reporting, and tell them to follow the steps in https://docs.github.com/en/code-security/security-advisories/guidance-on-reporting-and-writing/privately-reporting-a-security-vulnerability to report vulnerabilities.\nOn GitLab:\nProvide a point of contact in your SECURITY.md.\nExamples: https://github.com/ossf/scorecard/blob/main/SECURITY.md, https://github.com/slsa-framework/slsa-github-generator/blob/main/SECURITY.md, https://github.com/sigstore/.github/blob/main/SECURITY.md. (Low effort)","Info: Found disclosure, vulnerability, and/or timelines in security policy: SECURITY.md:1","Info: Found text in security policy: SECURITY.md:1"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/49c0eed3a423f00c872b5c3c9f1bbca9e8aae799/docs/checks.md#security-policy"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":["Warn: no GitHub releases found"],"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/49c0eed3a423f00c872b5c3c9f1bbca9e8aae799/docs/checks.md#signed-releases"}},{"name":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: topLevel 'contents' permission set to 'write': .github/workflows/ci.yml:10: Visit https://app.stepsecurity.io/secureworkflow/imjohnbo/issue-bot/ci.yml/main?enable=permissions\nTick the 'Restrict permissions for GITHUB_TOKEN'\nUntick other options\nNOTE: If you want to resolve multiple issues at once, you can visit https://app.stepsecurity.io/securerepo instead. (Low effort)","Warn: topLevel 'security-events' permission set to 'write': .github/workflows/codeql-analysis.yml:21: Visit https://app.stepsecurity.io/secureworkflow/imjohnbo/issue-bot/codeql-analysis.yml/main?enable=permissions\nTick the 'Restrict permissions for GITHUB_TOKEN'\nUntick other options\nNOTE: If you want to resolve multiple issues at once, you can visit https://app.stepsecurity.io/securerepo instead. (Low effort)","Info: topLevel 'actions' permission set to 'read': .github/workflows/codeql-analysis.yml:19","Info: topLevel 'contents' permission set to 'read': .github/workflows/codeql-analysis.yml:20","Warn: topLevel 'contents' permission set to 'write': .github/workflows/mermaid.yml:11: Visit https://app.stepsecurity.io/secureworkflow/imjohnbo/issue-bot/mermaid.yml/main?enable=permissions\nTick the 'Restrict permissions for GITHUB_TOKEN'\nUntick other options\nNOTE: If you want to resolve multiple issues at once, you can visit https://app.stepsecurity.io/securerepo instead. (Low effort)","Warn: topLevel 'contents' permission set to 'write': .github/workflows/publish.yml:8: Visit https://app.stepsecurity.io/secureworkflow/imjohnbo/issue-bot/publish.yml/main?enable=permissions\nTick the 'Restrict permissions for GITHUB_TOKEN'\nUntick other options\nNOTE: If you want to resolve multiple issues at once, you can visit https://app.stepsecurity.io/securerepo instead. (Low effort)","Info: topLevel permissions set to 'read-all': .github/workflows/scorecards.yml:12","Info: jobLevel 'actions' permission set to 'read': .github/workflows/scorecards.yml:21","Info: jobLevel 'contents' permission set to 'read': .github/workflows/scorecards.yml:22","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/49c0eed3a423f00c872b5c3c9f1bbca9e8aae799/docs/checks.md#token-permissions"}},{"name":"Vulnerabilities","score":4,"reason":"6 existing vulnerabilities detected","details":["Warn: Project is vulnerable to: GHSA-grv7-fg5c-xmjg","Warn: Project is vulnerable to: GHSA-3xgq-45jj-v275","Warn: Project is vulnerable to: GHSA-952p-6rrq-rcjv","Warn: Project is vulnerable to: GHSA-3787-6prv-h9w3","Warn: Project is vulnerable to: GHSA-9qxr-qj54-h672","Warn: Project is vulnerable to: GHSA-m4v8-wqvr-p9f7"],"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/49c0eed3a423f00c872b5c3c9f1bbca9e8aae799/docs/checks.md#vulnerabilities"}}]},"last_synced_at":"2025-08-19T17:42:02.554Z","repository_id":37433055,"created_at":"2025-08-19T17:42:02.554Z","updated_at":"2025-08-19T17:42:02.554Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279008460,"owners_count":26084460,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-11T02:00:06.511Z","response_time":55,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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","issues","repeated-tasks","standup"],"created_at":"2024-08-01T21:01:22.679Z","updated_at":"2025-10-11T19:16:34.148Z","avatar_url":"https://github.com/imjohnbo.png","language":"JavaScript","funding_links":[],"categories":["JavaScript"],"sub_categories":[],"readme":"# Issue Bot\n\u003e GitHub Actions powered Issue Bot 🦾\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://github.com/imjohnbo/issue-bot/actions/workflows/ci.yml/badge.svg\" /\u003e\n  \u003cimg src=\"https://img.shields.io/github/license/imjohnbo/issue-bot\" /\u003e\n  \u003cimg src=\"https://img.shields.io/github/issues/imjohnbo/issue-bot\" /\u003e\n  \u003cimg src=\"https://img.shields.io/github/v/release/imjohnbo/issue-bot\" /\u003e\n\u003c/p\u003e\n\n## About\n\nWork on a distributed team? Try using Issue Bot as a Scrum [standup](https://en.wikipedia.org/wiki/Stand-up_meeting) process automation bot to keep track of what you're all working on. 🤖\n\nHave repeated tasks you're setting reminders for elsewhere? Issue Bot's got your back there, too. 👏\n\nOr just need an issue created on a certain condition? Issue Bot is there when your CI build breaks. 💔\n\nIssue Bot is a flexible GitHub action that takes care of a few issue related tasks:\n- Opens new issue with `title`, `body`, `labels`, and `assignees`\n- Uses [Mustache templating syntax](https://github.com/janl/mustache.js) in `body`, along with a couple of handy template variables: `assignees` and `previousIssueNumber`\n- Closes most recent previous issue with all `labels` if `close-previous` is true\n- Adds new issue to `project` (user, organization, or repository project based on value of `project-type`), `column`, and `milestone`\n- Adds new issue to user or organization project at `project-v2-path`\n- Pins new issue and unpins previous issue if `pinned` is true\n- Makes issue comments linking new and previous issues if `linked-comments` is true\n- Assigns new issue only to the _next_ assignee in the list if `rotate-assignees` is true. Useful for duty rotation like first responder.\n- Pairs well with [imjohnbo/extract-issue-template-fields](https://github.com/imjohnbo/extract-issue-template-fields) if you'd prefer to open issues based on [issue templates](https://docs.github.com/en/github/building-a-strong-community/about-issue-and-pull-request-templates#issue-templates)\n\n## v3 Migration\n⚠️ If you're a `v2` user, please note that these breaking changes were introduced in `v3`: ⚠️\n- `template` functionality has been moved to a separate action: https://github.com/imjohnbo/extract-issue-template-fields.\n- `labels` now checks if **all** labels match. Before, it checked if **any** labels matched.\n\nand these features were added 🎉:\n- `project` and `column` for adding an issue to a [repository project board](https://docs.github.com/en/github/managing-your-work-on-github/about-project-boards).\n- `milestone` for adding an issue to a [milestone](https://docs.github.com/en/github/managing-your-work-on-github/tracking-the-progress-of-your-work-with-milestones).\n\nAs always, your feedback and [contributions](#contributing) are welcome.\n\n## Usage\n\nSimple example:\n```yml\n# ...\n- name: Create new issue\n  uses: imjohnbo/issue-bot@v3\n  with:\n    assignees: \"octocat, monalisa\"\n    title: Hello, world\n    body: |-\n      :wave: Hi, {{#each assignees}}@{{this}}{{#unless @last}}, {{/unless}}{{/each}}!\n    pinned: true\n# ...\n```\n\nFor more examples, see a [GitHub-wide search](https://github.com/search?q=%22uses%3A+imjohnbo%2Fissue-bot%22\u0026type=code) or [./docs/example-workflows](docs/example-workflows/):\n- [Daily standup bot](docs/example-workflows/standup.yml)\n- [Repeated tasks](docs/example-workflows/scheduled-task.yml)\n- [Duty rotation](docs/example-workflows/first-responder.yml)\n- [Ad hoc after broken CI build](docs/example-workflows/broken-build.yml)\n\n## Inputs and outputs\n\nSee [action.yml](action.yml) for full description of inputs and outputs.\n\nGenerated by [`imjohnbo/action-to-mermaid`](https://github.com/imjohnbo/action-to-mermaid):\n\n\u003c!-- START MERMAID --\u003e\n```mermaid\nflowchart LR\ntoken:::optional--\u003eaction(Issue Bot Action):::action\ntitle:::required--\u003eaction(Issue Bot Action):::action\nbody:::optional--\u003eaction(Issue Bot Action):::action\nlabels:::optional--\u003eaction(Issue Bot Action):::action\nassignees:::optional--\u003eaction(Issue Bot Action):::action\nproject-type:::optional--\u003eaction(Issue Bot Action):::action\nproject:::optional--\u003eaction(Issue Bot Action):::action\ncolumn:::optional--\u003eaction(Issue Bot Action):::action\nmilestone:::optional--\u003eaction(Issue Bot Action):::action\npinned:::optional--\u003eaction(Issue Bot Action):::action\nclose-previous:::optional--\u003eaction(Issue Bot Action):::action\nlinked-comments:::optional--\u003eaction(Issue Bot Action):::action\nlinked-comments-new-issue-text:::optional--\u003eaction(Issue Bot Action):::action\nlinked-comments-previous-issue-text:::optional--\u003eaction(Issue Bot Action):::action\nrotate-assignees:::optional--\u003eaction(Issue Bot Action):::action\naction(Issue Bot Action)--\u003eissue-number:::output\naction(Issue Bot Action)--\u003eprevious-issue-number:::output\naction(Issue Bot Action)--\u003eproject-v2-issue-item-id:::output\nclassDef required fill:#6ba06a,stroke:#333,stroke-width:3px\nclassDef optional fill:#d9b430,stroke:#333,stroke-width:3px\nclassDef action fill:blue,stroke:#333,stroke-width:3px,color:#ffffff\nclassDef output fill:#fff,stroke:#333,stroke-width:3px,color:#333\nclick token \"https://github.com/imjohnbo/issue-bot/blob/main/action.yml#L9\"\nclick title \"https://github.com/imjohnbo/issue-bot/blob/main/action.yml#L15\"\nclick body \"https://github.com/imjohnbo/issue-bot/blob/main/action.yml#L20\"\nclick labels \"https://github.com/imjohnbo/issue-bot/blob/main/action.yml#L25\"\nclick assignees \"https://github.com/imjohnbo/issue-bot/blob/main/action.yml#L30\"\nclick project-type \"https://github.com/imjohnbo/issue-bot/blob/main/action.yml#L36\"\nclick project \"https://github.com/imjohnbo/issue-bot/blob/main/action.yml#L11\"\nclick column \"https://github.com/imjohnbo/issue-bot/blob/main/action.yml#L49\"\nclick milestone \"https://github.com/imjohnbo/issue-bot/blob/main/action.yml#L55\"\nclick pinned \"https://github.com/imjohnbo/issue-bot/blob/main/action.yml#L60\"\nclick close-previous \"https://github.com/imjohnbo/issue-bot/blob/main/action.yml#L67\"\nclick linked-comments \"https://github.com/imjohnbo/issue-bot/blob/main/action.yml#L74\"\nclick linked-comments-new-issue-text \"https://github.com/imjohnbo/issue-bot/blob/main/action.yml#L82\"\nclick linked-comments-previous-issue-text \"https://github.com/imjohnbo/issue-bot/blob/main/action.yml#L89\"\nclick rotate-assignees \"https://github.com/imjohnbo/issue-bot/blob/main/action.yml#L96\"\nclick issue-number \"https://github.com/imjohnbo/issue-bot/blob/main/action.yml#L104\"\nclick previous-issue-number \"https://github.com/imjohnbo/issue-bot/blob/main/action.yml#L107\"\nclick project-v2-issue-item-id \"https://github.com/imjohnbo/issue-bot/blob/main/action.yml#L117\"\n```\n\u003c!-- END MERMAID --\u003e\n\n## Template variables\n\nThe issue body is treated as a [Handlebars](https://handlebarsjs.com) template, with support for template variables:\n\n- `assignees`: The array of issue assignees.\n- `previousIssueNumber`: The previous issue number in the series.\n\nThe linked comments (`linked-comments-new-issue-text`, `linked-comments-previous-issue-text`) support these variables _and_:\n\n- `newIssueNumber`: The new issue number.\n\n## Authentication\n\nIssue Bot requires an API token, customizable with the [`token` input](https://github.com/imjohnbo/issue-bot/blob/46d9bc985d7f6952b5f439f929761b9c24ed0903/action.yml#L9), to authenticate with the GitHub API. The default `GITHUB_TOKEN` should work for all use cases except `project` and `project-v2-path`, when its [permissions](https://docs.github.com/en/actions/security-guides/automatic-token-authentication#permissions-for-the-github_token) aren't sufficient. Please use a [GitHub App installation access token](https://docs.github.com/en/developers/apps/building-github-apps/authenticating-with-github-apps#authenticating-as-an-installation) of a GitHub App with `repository/project:read-write`/`organization/project:read-write` scope or [personal access token](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token) with `project` scope in these cases. \n\nGitHub Apps are in general [pretty cool](https://dev.to/github/building-github-apps-for-fun-and-profit-4mid) and offer some [nice advantages](https://docs.github.com/en/developers/apps/getting-started-with-apps/about-apps) over personal access tokens, so they're preferred when possible. \n\nGitHub App installation access token:\n```yml\n# ...\n\n# Generate installation token for your GitHub App with...you guessed it, an action\n# See https://github.com/tibdex/github-app-token for setup\n- name: Generate token\n  id: generate_token\n  uses: tibdex/github-app-token@v1\n  with:\n    app_id: ${{ secrets.APP_ID }}\n    private_key: ${{ secrets.PRIVATE_KEY }}\n\n# New standup issue generated with a GitHub App!\n- name: New standup issue\n  uses: imjohnbo/issue-bot@v3\n  env:\n    TOKEN: ${{ steps.generate_token.outputs.token }} # installation access token as output of previous step\n  with:\n    title: Standup\n    body: |-\n      ... standup template ...\n    token: ${{ env.TOKEN }}\n\n# ...\n```\n\nPersonal access token:\n```yml\n# ...\n\n# New standup issue generated with a personal access token\n- name: New standup issue\n  uses: imjohnbo/issue-bot@v3\n  with:\n    title: Standup\n    body: |-\n      ... standup template ...\n    token: ${{ env.PAT }}\n\n# ...\n```\n\n## Projects support\n\nIssue Bot currently supports [Projects](https://docs.github.com/en/issues/planning-and-tracking-with-projects/learning-about-projects/about-projects) (a.k.a. Projects v2, Projects Beta, and Projects Next) (`project-v2-path`) and [Projects (classic)](https://docs.github.com/en/issues/organizing-your-work-with-project-boards/managing-project-boards/about-project-boards) (`project`, `project-type`, `column`, and `milestone`). See [`action.yml`](action.yml) for more details about these inputs.\n\nExcept when adding an issue to a Projects (classic) repository board, where the [built in `github.token`'s](https://github.com/imjohnbo/issue-bot/blob/main/action.yml#L13) permissions suffice, it's recommended to use a GitHub App installation access token or personal access token with the proper scopes.\n\nSupport for Projects (classic) will be dropped in a future version.\n\n\n## Contributing\n\nFeel free to open an issue, or better yet, a\n[pull request](https://github.com/imjohnbo/issue-bot/compare)!\n\n## License\n\n[MIT](LICENSE)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fimjohnbo%2Fissue-bot","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fimjohnbo%2Fissue-bot","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fimjohnbo%2Fissue-bot/lists"}