{"id":13474326,"url":"https://github.com/kentaro-m/auto-assign","last_synced_at":"2025-05-16T11:05:47.350Z","repository":{"id":33391881,"uuid":"141600892","full_name":"kentaro-m/auto-assign","owner":"kentaro-m","description":"🤖 A Probot app that adds reviewers to pull requests when pull requests are opened.","archived":false,"fork":false,"pushed_at":"2025-05-09T20:00:33.000Z","size":1662,"stargazers_count":255,"open_issues_count":37,"forks_count":55,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-05-09T20:47:37.166Z","etag":null,"topics":["actions","github","github-actions","github-app","my-portfolio","probot","probot-app"],"latest_commit_sha":null,"homepage":"https://probot.github.io/apps/auto-assign/","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"isc","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/kentaro-m.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null},"funding":{"github":"kentaro-m"}},"created_at":"2018-07-19T15:49:01.000Z","updated_at":"2025-04-15T11:42:24.000Z","dependencies_parsed_at":"2023-10-14T19:12:19.182Z","dependency_job_id":"7b596328-1887-449e-971d-423e5f5ea228","html_url":"https://github.com/kentaro-m/auto-assign","commit_stats":{"total_commits":225,"total_committers":15,"mean_commits":15.0,"dds":0.5955555555555556,"last_synced_commit":"51a3537aaa1f899c8e4474ae528546c0208b919b"},"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kentaro-m%2Fauto-assign","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kentaro-m%2Fauto-assign/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kentaro-m%2Fauto-assign/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kentaro-m%2Fauto-assign/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kentaro-m","download_url":"https://codeload.github.com/kentaro-m/auto-assign/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254518383,"owners_count":22084374,"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","github-actions","github-app","my-portfolio","probot","probot-app"],"created_at":"2024-07-31T16:01:11.437Z","updated_at":"2025-05-16T11:05:42.340Z","avatar_url":"https://github.com/kentaro-m.png","language":"TypeScript","funding_links":["https://github.com/sponsors/kentaro-m"],"categories":["Community Resources","TypeScript"],"sub_categories":["Pull Requests"],"readme":"# Probot: Auto Assign\n\u003e A GitHub App built with [Probot](https://github.com/probot/probot) that adds reviewers/assignees to pull requests when pull requests are opened.\n\n![screenshot](./public/assets/screenshots/screenshot.png)\n\n## How it works\n* When the pull request is opened, automatically add reviewers/assignees to the pull request.\n* If the number of reviewers is specified, randomly add reviewers/assignees to the pull request.\n* If reviewers/assignees are separated into groups in the config file, randomly select the number of reviewers from each group.\n* If the title of the pull request contains a specific keyword, do not add reviewers/assignees to the pull request.\n\n## Usage\n1. [Install the app](https://github.com/apps/auto-assign).\n2. Create `.github/auto_assign.yml` in your repository with the following.\n\n### Single Reviewers List\nAdd reviewers/assignees to the pull request based on single reviewers list.\n\n```yaml\n# Set to true to add reviewers to pull requests\naddReviewers: true\n\n# Set to true to add assignees to pull requests\naddAssignees: false\n\n# A list of reviewers to be added to pull requests (GitHub user name)\nreviewers:\n  - reviewerA\n  - reviewerB\n  - reviewerC\n\n# A number of reviewers added to the pull request\n# Set 0 to add all the reviewers (default: 0)\nnumberOfReviewers: 0\n\n# A list of assignees, overrides reviewers if set\n# assignees:\n#   - assigneeA\n\n# A number of assignees to add to the pull request\n# Set to 0 to add all of the assignees.\n# Uses numberOfReviewers if unset.\n# numberOfAssignees: 2\n\n# A list of keywords to be skipped the process that add reviewers if pull requests include it\n# skipKeywords:\n#   - wip\n\n# A list of users to be skipped by both the add reviewers and add assignees processes\n# skipUsers:\n#   - dependabot[bot]\n```\n\n#### Add Github Team to Single Reviewers List\n\nAdd Github team to the pull request based on single reviewers list using the `org/team_slug` or `/team_slug` syntax.\n\n```yaml\n# Set to true to add reviewers to pull requests\naddReviewers: true\n\n# Set to true to add assignees to pull requests\naddAssignees: false\n\n# A list of team reviewers to be added to pull requests (GitHub team slug)\nreviewers:\n  - org/teamReviewerA\n  - org/teamReviewerB\n  - /teamReviewerC\n\n# Number of reviewers has no impact on Github teams\n# Set 0 to add all the reviewers (default: 0)\nnumberOfReviewers: 0\n\n# A list of assignees, overrides reviewers if set\n# assignees:\n#   - assigneeA\n\n# A number of assignees to add to the pull request\n# Set to 0 to add all of the assignees.\n# Uses numberOfReviewers if unset.\n# numberOfAssignees: 2\n\n# A list of keywords to be skipped the process that add reviewers if pull requests include it\n# skipKeywords:\n#   - wip\n```\n\n\u003eNote: Number of reviewers has currently no impact on Github teams and all teams will be added as reviewers.\n\n\u003eNote: This feature is not enabled in the hosted app below.  \nhttps://github.com/apps/auto-assign  \nTo enable the team assignment, you need to host your own app and change the permission below that the app can read the organization's team.  \n- Repository permissions\n  - `Administration` - `Read-Only`\n- Organization permissions\n  - `Members` - `Read-Only`\n\n### Multiple Reviewers List\nAdd reviewers/assignees to the pull request based on multiple reviewers list.\n\nIf you and peers work at the separate office or they work at the separate team by roles like frontend and backend, you might be good to use adding reviewers from each group.\n\n```yaml\n# Set to true to add reviewers to pull requests\naddReviewers: true\n\n# Set to true to add assignees to pull requests\naddAssignees: false\n\n# A number of reviewers added to the pull request\n# Set 0 to add all the reviewers (default: 0)\nnumberOfReviewers: 1\n\n# A number of assignees to add to the pull request\n# Set to 0 to add all of the assignees.\n# Uses numberOfReviewers if unset.\n# numberOfAssignees: 2\n\n# Set to true to add reviewers from different groups to pull requests\nuseReviewGroups: true\n\n# A list of reviewers, split into different groups, to be added to pull requests (GitHub user name)\nreviewGroups:\n  groupA:\n    - reviewerA\n    - reviewerB\n    - reviewerC\n  groupB:\n    - reviewerD\n    - reviewerE\n    - reviewerF\n\n# Set to true to add assignees from different groups to pull requests\nuseAssigneeGroups: false\n\n# A list of assignees, split into different froups, to be added to pull requests (GitHub user name)\n# assigneeGroups:\n#   groupA:\n#     - assigneeA\n#     - assigneeB\n#     - assigneeC\n#   groupB:\n#     - assigneeD\n#     - assigneeE\n#     - assigneeF\n\n# A list of keywords to be skipped the process that add reviewers if pull requests include it\n# skipKeywords:\n#   - wip\n```\n\n### Assign Author as Assignee\nAdd the PR creator as assignee to the pull request.\n\n```yaml\n# Set to author to set pr creator as assignee\naddAssignees: author\n```\n\n## Advantage\n\n### Use Auto Assign in combination with code owners\nIf you want to add the same reviewers every time the pull request is opened, you can use code owners. Also, if you want to add randomly reviewers, you can use this app together.\n\n[About code owners - GitHub Help](https://help.github.com/en/articles/about-code-owners)\n\n## Development\n\n```sh\n# Install dependencies\nnpm install\n\n# Run typescript\nnpm run build\n\n# Run the bot\nnpm start\n\n# Test before submitting a PR\nnpm test\n```\n\nSee [Contributing](#contributing) for more information about making improvements to `auto-assign`.\n\n## Deploy\n\n### Glitch\n\n[![Remix on Glitch](https://cdn.glitch.com/2703baf2-b643-4da7-ab91-7ee2a2d00b5b%2Fremix-button.svg)](https://glitch.com/edit/#!/import/github/kentaro-m/auto-assign)\n\n1. [Configure a new app on Github](https://github.com/settings/apps/new).\n    * For the Homepage URL, use your repository url or your homepage url: `https://random-word.glitch.me/probot`.\n    * For the Webhook URL, use this URL (again, updating the domain to match yours): `https://random-word.glitch.me/`. Notice that we left off the `/probot`.\n    * For the Webhook Secret, just use \"development\". Input the same value in `.env` file.\n    * On the **Permissions \u0026 webhooks** tab, add read/write permissions, read metadata and read single file (`.github/auto_assign.yml`) for pull requests.\n    * On the **Permissions \u0026 webhooks** tab, subscribe to **Pull request** events.\n    * Save your changes.\n    * Download the private key.\n2. Click the **Install** tab, and install your app into one of your repositories.\n3. Click the **New File** button (at left) and type `.data/private-key.pem`. Then click **Add File**. Copy the contents of the private key you downloaded after creating the app, paste it into the new file in Glitch.\n4. Edit the `.env` file (at left) with your app credentials.\n    * Check the example as below.\n5. Wait for app to load. A green `Live` label should show up next to the **Show** button when it's finished loading.\n\n```\n# The ID of your GitHub App; You can find this in the About section of your Github app\nAPP_ID=\n\n# The Webhook Secret; This is generated by you and then inputted in the settings of your Github app.\nWEBHOOK_SECRET=development\n\n# The path to a private key file; This is set by you and then set the contents of the private key you downloaded after creating the app.\nPRIVATE_KEY_PATH=.data/private-key.pem\n```\n\n### GitHub Actions\nIf you want to use the auto-assign app using GitHub Actions, refer to the following link. Also, because of providing the GitHub action for a new version (GitHub Actions v2; YAML format), the previous version (GitHub Actions v1; HCL format) is deprecated.\n\n[kentaro-m/auto-assign-action: An action which adds reviewers to the pull request when the pull request is opened.](https://github.com/kentaro-m/auto-assign-action)\n\n## Contributing\n\nIf you have suggestions for how `auto-assign` could be improved, or want to report a bug, open an issue! We'd love all and any contributions.\n\nFor more, check out the [Contributing Guide](CONTRIBUTING.md).\n\n## License\n\n[ISC](LICENSE) © 2018 Kentaro Matsushita\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkentaro-m%2Fauto-assign","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkentaro-m%2Fauto-assign","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkentaro-m%2Fauto-assign/lists"}