{"id":16694084,"url":"https://github.com/philschatz/project-bot","last_synced_at":"2025-04-05T02:04:06.566Z","repository":{"id":29575779,"uuid":"121884450","full_name":"philschatz/project-bot","owner":"philschatz","description":":octocat: Automatically add and move Issues/Pull Requests on a Project board","archived":false,"fork":false,"pushed_at":"2023-03-22T18:40:49.000Z","size":456,"stargazers_count":365,"open_issues_count":85,"forks_count":56,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-03-28T19:46:17.830Z","etag":null,"topics":["github-app","probot-app"],"latest_commit_sha":null,"homepage":"https://github.com/apps/project-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/philschatz.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,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-02-17T19:14:48.000Z","updated_at":"2025-02-01T06:24:20.000Z","dependencies_parsed_at":"2024-10-25T18:34:06.197Z","dependency_job_id":"b219eeb0-4110-40ae-9055-b8a23f42d310","html_url":"https://github.com/philschatz/project-bot","commit_stats":{"total_commits":40,"total_committers":8,"mean_commits":5.0,"dds":0.35,"last_synced_commit":"d6dc0826c1e6b32278464d9eed006488eae522cb"},"previous_names":["philschatz/probot-project"],"tags_count":7,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/philschatz%2Fproject-bot","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/philschatz%2Fproject-bot/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/philschatz%2Fproject-bot/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/philschatz%2Fproject-bot/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/philschatz","download_url":"https://codeload.github.com/philschatz/project-bot/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247276162,"owners_count":20912288,"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":["github-app","probot-app"],"created_at":"2024-10-12T16:43:43.051Z","updated_at":"2025-04-05T02:04:06.540Z","avatar_url":"https://github.com/philschatz.png","language":"JavaScript","readme":"# project-bot\n\n[![code coverage][coverage-image]][coverage-url]\n[![travis status][travis-image]][travis-url]\n[![dependency status][dependency-image]][dependency-url]\n[![dev dependency status][dev-dependency-image]][dev-dependency-url]\n\nDo you like the idea of [GitHub's Project Automation feature](https://github.com/blog/2458-keep-your-project-boards-up-to-date-automatically) but find it lacking?\n\nThis bot will **automatically** _add_ new Issues or Pull Requests to a Project board based on specially formatted Cards in each Column of a Project. It also allows you to customize the rules for _moving_ Issues between Columns.\n\n\n## Installation\n\nGo to the [project-bot GitHub App](https://github.com/apps/project-bot) page and click `[Install]` (or `[Configure]` if you already installed it) to have it run on **Public** Project Boards.\n\nTo see what it looks like, you can look at the [GitHub projects for this repository](https://github.com/philschatz/project-bot/projects).\n\n\n## Example\n\nTo create an Automation Card, create a Card in a Project like this:\n\n```md\n###### Automation Rules\n\n\u003c!-- Documentation: https://github.com/philschatz/project-bot --\u003e\n\n- `assigned_issue`\n- `closed_issue`\n- `added_label` **wontfix**\n- `new_pullrequest` **repo1** **repo2**\n```\n\nNow, whenever any Issue that is assigned, or closed, or a `wontfix` label is added, or a new Pull Request is opened on the `repo1` or `repo2` repository will show up in this Column.\n\n\n## Syntax\n\nThis bot uses normal Project Board note cards with Markdown formatting for configuration. \n\n### Automation Cards\n\n- Automation Cards are identified by the string `###### Automation Rules` that _has_ to be used in the note text\n- The automation card must be at any the top or bottom of a column (but they tend to end up at the bottom as new cards are added at the top automatically)\n- There can be multiple automation cards per column, but you will probably not need that (unless you have _many_ rules or add items from _many_ repositories)\n- An automation card can contain other text besides the headline and rules if you really need it to (but best avoid other lists to confuse the parser)\n\n### Rules\n\n- Rules have to be listed in an unnumbered list in the Automation Card\n- This list can contain as many rules as you like\n- The rule (see list below) _should_ to be wrapped in \\` like so:\n  ```\n  - `example_rule`\n  ```\n- Rule Parameters _should_ be wrapped in `**` like so:\n  ```\n  - `example_rule` **param 1** **param 2**\n  ```\n- Items are added or moved into the column when _any_ of the rules in the list are triggered. (It is currently _not_ possible to use boolean logic to combine any rules.)\n\n## Available Rules\n\nThe following rules can be included in automation cards:\n\n## Add items\n\nTo add items to the project board, you have these two rules:\n\n- `new_issue`: When an Issue is created (optionally, a space-separated set of repo names)\n- `new_pullrequest`: When a Pull Request is created (optionally, a space-separated set of repo names)\n\n## Move items\n\nAfter an item has been added to a project board (manually or by the previous rules) it can be moved to another column by one of the following rules:\n\n### Issues\n- `edited_issue`: When an Issue is edited\n- `assigned_issue`: When an Issue is assigned to a user (but was not before)\n- `assigned_to_issue`: When an Issue is assigned to a specific user\n- `unassigned_issue`: When an Issue is no longer assigned to a user\n- `milestoned_issue`: When an Issue is added to a Milestone\n- `demilestoned_issue`: When an Issue is removed from a Milestone\n- `closed_issue`: When an Issue is closed\n- `reopened_issue`: When an Issue is reopened\n\n### Pull Requests\n- `assigned_pullrequest`: When a Pull Request is assigned to a user (but was not before)\n- `unassigned_pullrequest`: When a Pull Request is no longer assigned to a user\n- `added_reviewer`: (optional username or array of usernames that need to be added)\n- `accepted_pullrequest`: When at least one Reviewer Accepted, and there are no Rejections on a Pull request\n- `merged_pullrequest`: When a Pull Request is merged\n- `closed_pullrequest`: When a Pull Request is closed\n- `reopened_pullrequest`: When a Pull Request is reopened\n\n### Labels\n- `added_label`: (requires exactly one argument, the string representing the name of the label)\n- `removed_label`: (requires exactly one argument, the string representing the name of the label)\n\n### Other\n\n- Not finding the event you would like? Just create a new Issue in this Repository!\n\n\n## Screencap\n\n![automatic-project-columns](https://user-images.githubusercontent.com/253202/37872089-ad7d21ea-2fcd-11e8-81ba-7f3977c102cf.gif)\n\n[coverage-image]: https://img.shields.io/codecov/c/github/philschatz/project-bot.svg\n[coverage-url]: https://codecov.io/gh/philschatz/project-bot\n[travis-image]: https://api.travis-ci.com/philschatz/project-bot.svg\n[travis-url]: https://travis-ci.com/philschatz/project-bot\n[dependency-image]: https://img.shields.io/david/philschatz/project-bot.svg\n[dependency-url]: https://david-dm.org/philschatz/project-bot\n[dev-dependency-image]: https://img.shields.io/david/dev/philschatz/project-bot.svg\n[dev-dependency-url]: https://david-dm.org/philschatz/project-bot?type=dev","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fphilschatz%2Fproject-bot","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fphilschatz%2Fproject-bot","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fphilschatz%2Fproject-bot/lists"}