{"id":22458267,"url":"https://github.com/ksm2/github-dashboard","last_synced_at":"2025-03-27T13:45:07.244Z","repository":{"id":52195787,"uuid":"517792539","full_name":"ksm2/github-dashboard","owner":"ksm2","description":"github-dashboard","archived":false,"fork":false,"pushed_at":"2023-11-21T15:45:17.000Z","size":181,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-01T18:13:48.862Z","etag":null,"topics":["code-review","github-dashboard","pull-requests"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":false,"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/ksm2.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":"2022-07-25T19:19:53.000Z","updated_at":"2023-06-09T12:19:43.000Z","dependencies_parsed_at":"2023-11-21T17:03:18.111Z","dependency_job_id":null,"html_url":"https://github.com/ksm2/github-dashboard","commit_stats":null,"previous_names":[],"tags_count":9,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ksm2%2Fgithub-dashboard","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ksm2%2Fgithub-dashboard/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ksm2%2Fgithub-dashboard/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ksm2%2Fgithub-dashboard/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ksm2","download_url":"https://codeload.github.com/ksm2/github-dashboard/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245858561,"owners_count":20684054,"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":["code-review","github-dashboard","pull-requests"],"created_at":"2024-12-06T08:11:49.995Z","updated_at":"2025-03-27T13:45:07.225Z","avatar_url":"https://github.com/ksm2.png","language":"TypeScript","readme":"GitHub Dashboard\n================\n\n\u003e A web app which displays open pull requests of an organisation with customisable filters.\n\n\nInstallation\n------------\n\nThe easiest way to run the dashboard is by using Docker:\n\n```\ndocker run \\\n    -e GITHUB_ORG=my-org \\\n    -e GITHUB_TOKEN=my-api-token \\\n    -e FILTERS=/app/conf/filters.json \\\n    -v $PWD/filters.json:/app/conf/filters.json \\\n    -p 8080:8080 \\\n    docker pull ghcr.io/ksm2/github-dashboard\n```\n\n\nConfiguration\n-------------\n\n### Environment Variables\n\n| **Env**        | **Description**                                                                   |\n|:---------------|:----------------------------------------------------------------------------------|\n| `HTTP_PORT`    | The port to run the server on, defaults to `8080`                                 |\n| `GITHUB_ORG`   | The GitHub Organisation to load PRs for                                           |\n| `GITHUB_TOKEN` | The auth token to use when connecting with GitHub, [can be generated here][token] |\n| `FILTERS`      | Absolute filename to the filter config JSON file, see below                       |\n\n### Filter Config\n\nThe `filters.json` file is expected to be an array which contains a definition for a filter.\nThe expected format looks like this:\n\n```json\n[\n  {\n    // A simple filter based on the team owning a repository\n    \"name\": \"A Team\",\n    \"query\": {\n      \"team\": { \"$eq\": \"A Team\" }\n    }\n  },\n  {\n    // A filter using the PR author's username\n    \"name\": \"Backend\",\n    \"query\": {\n      \"author\": { \"$in\": [\"ksm2\", \"username3\", \"auth4\"] }\n    }\n  },\n  {\n    // You can also combine multiple filters using `$or`\n    \"name\": \"Backend\",\n    \"query\": {\n      \"$or\": [\n        {\n          \"author\": { \"$ni\": [\"ksm2\", \"username3\", \"auth4\"] }\n        },\n        {\n          \"team\": { \"$ne\": \"A Team\" }\n        },\n        {\n          \"title\": { \"$inc\": \"Snyk\" }\n        }\n      ]\n    }\n  }\n]\n```\n\nThe supported queries are:\n\n- `$eq`: The value equals the given one\n- `$ne`: The value does not equal the given one\n- `$in`: The value is part of the given set\n- `$ni`: The value is not part of the given set\n- `$inc`: The value includes the given string\n- `$exc`: The value excludes the given string\n\n\n[token]: https://github.com/settings/tokens/new\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fksm2%2Fgithub-dashboard","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fksm2%2Fgithub-dashboard","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fksm2%2Fgithub-dashboard/lists"}