{"id":13475601,"url":"https://github.com/seferov/pr-lint-action","last_synced_at":"2025-04-10T05:02:28.643Z","repository":{"id":36250836,"uuid":"203576908","full_name":"seferov/pr-lint-action","owner":"seferov","description":":octocat: PR lint for GitHub Actions","archived":false,"fork":false,"pushed_at":"2023-07-12T02:45:38.000Z","size":84,"stargazers_count":120,"open_issues_count":10,"forks_count":23,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-03T01:11:09.586Z","etag":null,"topics":["actions","github-actions","pull-request"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/seferov.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":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2019-08-21T12:12:38.000Z","updated_at":"2025-02-01T06:24:26.000Z","dependencies_parsed_at":"2024-02-17T18:30:47.601Z","dependency_job_id":null,"html_url":"https://github.com/seferov/pr-lint-action","commit_stats":{"total_commits":47,"total_committers":8,"mean_commits":5.875,"dds":0.4893617021276596,"last_synced_commit":"2f6ccc0e32d53505ab87d1340a8b5c42cb874bd6"},"previous_names":[],"tags_count":9,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/seferov%2Fpr-lint-action","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/seferov%2Fpr-lint-action/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/seferov%2Fpr-lint-action/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/seferov%2Fpr-lint-action/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/seferov","download_url":"https://codeload.github.com/seferov/pr-lint-action/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248161270,"owners_count":21057554,"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","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":["actions","github-actions","pull-request"],"created_at":"2024-07-31T16:01:21.813Z","updated_at":"2025-04-10T05:02:28.567Z","avatar_url":"https://github.com/seferov.png","language":"TypeScript","funding_links":[],"categories":["TypeScript","Community Resources"],"sub_categories":["Pull Requests"],"readme":"# Pull Request Lint\n\nIt is a linter of pull requests for [GitHub Actions](https://github.com/features/actions).\n\n## Why?\n\nTo enforce pull request titles in the same format will be useful like generating standard changelog messages.\nBesides it can be used to parse titles and link with issue tracking systems such as JIRA.\n\n## Example:\n\n```yaml\nname: PR lint\n\non:\n  pull_request:\n    types: ['opened', 'edited', 'reopened', 'synchronize']\n\njobs:\n  pr-lint:\n    runs-on: ubuntu-latest\n    steps:\n    - uses: seferov/pr-lint-action@master\n      with:\n        title-regex: '^\\[PROJECT-\\d*\\](\\ )'\n        title-regex-flags: 'g' # optional\n        error-message: 'Add Jira ID to your title' # optional\n```\n\nIn this example, for every pull request the title is expected to match `^\\[PROJECT-\\d*\\]\\ ` regex with a global flag `g`. For instance, `[PROJECT-123] lorem ipsum` or `[PROJECT-2345] dolor sit amet` are valid titles for this example. You can customize the title regex for your needs. The regex flags configuration is optional.\n\n## Auto-close\n\nIt can be configured to close pull request automatically if the title does not match the pattern provided. To do so, `github-token` and `auto-close-message` options must be configured.\nIn the message, `%pattern%` is replaced with the actual the pattern provided. Here is an [example pull request](https://github.com/seferov/pr-lint-action/pull/25).\n\nConfig:\n\n```diff\nname: PR lint\n\non:\n  pull_request:\n    types: ['opened', 'edited', 'reopened', 'synchronize']\n\njobs:\n  pr-lint:\n    runs-on: ubuntu-latest\n    steps:\n    - uses: seferov/pr-lint-action@master\n      with:\n        title-regex: '^\\[PROJECT-\\d*\\](\\ )'\n+       github-token: ${{ secrets.GITHUB_TOKEN }}\n+       auto-close-message: 'Closing this pull request since the title does not match %pattern% pattern. Please fix the title and re-open the pull request.'\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fseferov%2Fpr-lint-action","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fseferov%2Fpr-lint-action","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fseferov%2Fpr-lint-action/lists"}