{"id":22089471,"url":"https://github.com/prodyna/deployment-overview","last_synced_at":"2026-04-10T23:04:54.940Z","repository":{"id":225404546,"uuid":"765134561","full_name":"PRODYNA/deployment-overview","owner":"PRODYNA","description":"GitHub Action that gives a deployment overview for all projects in the defined organization","archived":false,"fork":false,"pushed_at":"2024-07-05T13:40:04.000Z","size":60,"stargazers_count":2,"open_issues_count":4,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-29T06:24:36.523Z","etag":null,"topics":["docker","github","github-actions","go"],"latest_commit_sha":null,"homepage":"","language":"Go","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/PRODYNA.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","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}},"created_at":"2024-02-29T10:50:05.000Z","updated_at":"2024-08-29T14:39:31.000Z","dependencies_parsed_at":"2024-03-17T21:42:56.593Z","dependency_job_id":"461d7701-4f94-4651-8c35-0b03b6ca3e58","html_url":"https://github.com/PRODYNA/deployment-overview","commit_stats":null,"previous_names":["prodyna/deployment-overview"],"tags_count":7,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PRODYNA%2Fdeployment-overview","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PRODYNA%2Fdeployment-overview/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PRODYNA%2Fdeployment-overview/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PRODYNA%2Fdeployment-overview/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/PRODYNA","download_url":"https://codeload.github.com/PRODYNA/deployment-overview/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245181549,"owners_count":20573718,"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":["docker","github","github-actions","go"],"created_at":"2024-12-01T02:12:57.420Z","updated_at":"2026-04-10T23:04:54.898Z","avatar_url":"https://github.com/PRODYNA.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# GitHub Action that creates a deployment overview page\n\nThis action uses the GitHub API to read various information from the repositories and creates a deployment overview page. \nThe page is exported as JSON and Markdown. The markdown file can be published as .github/profile/README.md, because\nthis page is display on the organization main page. The following information is collected:\n\n* The latest release and a list of last releases for each repository\n* The commits that have been done since the last release, this is basically the upcoming changelog once the release is done\n* The pull requests that are open\n* The latest release that have been deployed to the various environments.\n* The actions that are waiting for an approval.\n\nThis action brings a default template [default.md](template/default.md) that can be used as a starting point.\nIf the template is not specified, this default one is used. It can be copied and modified to fit the needs of the organization.\n\n## Sample output\n\n| Repository | Commits | PRs | Latest Release | [dev](https://dev-yasm.prodyna.com) | [staging](https://dev-yasm.prodyna.com) | [prod](https://yasm.prodyna.com) |\n| --- | --- | --- | -- | --- | --- | --- |\n| [yasm-backend](https://github.com/prodyna-yasm/yasm-backend) | :red_square: 1 | :yellow_square: 1 | 1.13.1 |  :red_square: e6e2948 |  :green_square: 1.13.1 |  :green_square: 1.13.1 | \n| [yasm-frontend](https://github.com/prodyna-yasm/yasm-frontend) | :red_square: 11 | :yellow_square: 2 | 1.13.5 |  :red_square: 4aa310d |  :green_square: 1.13.5 |  :green_square: 1.13.5 | \n| [yasmctl](https://github.com/prodyna-yasm/yasmctl) | :green_square: 0 | :green_square: 0 | 1.13.3 |  :green_square: 1.13.3 |  :green_square: 1.13.3 |  :green_square: 1.13.3 | \n| [yasm-proxy-odbc](https://github.com/prodyna-yasm/yasm-proxy-odbc) | :green_square: 0 | :green_square: 0 | 1.10.0 |  :green_square: 1.10.0 |  :green_square: 1.10.0 |  :green_square: 1.10.0 | \n| [yasm-integration](https://github.com/prodyna-yasm/yasm-integration) | :green_square: 0 | :yellow_square: 1 | 1.13.5 |  :green_square: 1.13.5 |  :green_square: 1.13.5 |  :green_square: 1.13.5 | \n| [yasm-geocoding](https://github.com/prodyna-yasm/yasm-geocoding) | :red_square: 2 | :green_square: 0 | 1.3.0 |  :red_square: ec76731 |  :green_square: 1.3.0 |  :green_square: 1.3.0 | \n| [yasm-data](https://github.com/prodyna-yasm/yasm-data) | :green_square: 0 | :green_square: 0 | 1.9.0 |  :green_square: 1.9.0 |  :green_square: 1.9.0 |  :green_square: 1.9.0 | \n| [yasm-gotenberg](https://github.com/prodyna-yasm/yasm-gotenberg) | :green_square: 0 | :green_square: 0 | 8.2.0-3 |  :green_square: 8.2.0-3 |  :green_square: 8.2.0-3 |  :green_square: 8.2.0-3 | \n\nSee [EXAMPLE.md](EXAMPLE.md) for a full example.\n\n## Requirements:\n\n* A GitHub repository or a GitHub organization\n* A GitHub Personal Access Token (PAT), see below\n* If using multiple repositories (that is what this action is designed for), the environments of the repositories should be the same like \"dev\", \"staging\" and \"production\".\n\n## Use as GitHub Action\n\nExample on using this action in a workflow:\n\n```yaml\nname: Create Overview\n\non:\n  workflow_dispatch:\n  # Every day at 07:00\n  schedule:\n    - cron: '0 7 * * *'\n\njobs:\n  create-overview:\n    runs-on: ubuntu-latest\n    steps:\n      # Checkout the existing content of thre repository\n      - name: Checkout\n        uses: actions/checkout@v2\n\n      # Create directory profile if it does not exist\n      - name: Create profile directory\n        run: mkdir -p profile\n\n      # Run the deployment overview action\n      - name: Deployment overview\n        uses: prodyna/deployment-overview@v0.3\n        with:\n          # The organization to query\n          organization: prodyna-yasm\n          # A comma separated list of repositories to query\n          repositories: yasm-backend,yasm-frontend,yasmctl,yasm-proxy-odbc,yasm-integration,yasm-geocoding,yasm-data,yasm-gotenberg\n          # The comma separated list of environments that every repository should have\n          environments: dev,staging,prod\n          # A comma separated list of links to the environments\n          environment-links: https://dev-yasm.prodyna.com,https://staging-yasm.prodyna.com,https://yasm.prodyna.com\n          # 0=info, 1=debug\n          verbose: 1\n          # The GitHub Personal Access Token (PAT)\n          github-token: ${{ secrets.OVERVIEW_GITHUB_TOKEN }}\n          # The title for the status page\n          title: \"YASM Deployment Overview\"\n          # The target json file that is written\n          target-json-File: profile/deployment-overview.json\n          # The target md file that is written\n          target-md-ile: profile/README.md\n          # template-file: set only if you have an own one, otherwise remove this entry to take the default one\n          template-file: template/default.md\n\n      # Push the generated files\n      - name: Commit changes\n        run: |\n          git config --local user.email \"darko@krizic.net\"\n          git config --local user.name \"Deployment Overview\"\n          git add profile\n          git commit -m \"Add/update deployment overview\"\n```\nNote that you have to use a GitHub Personal Access Token (PAT) as a secret.\n\n## Use as a standalone tool\n\nThis action is basically a Go CLI tool that can be run as a standalone tool, this is espcially useful when developing the action.\n\n```shell\ngo buid main.go -o deployment-overview\n```\n\n### Run the code\n\n\n```shell\n./deployment-overview --github-token \u003cPAT\u003e --organization \u003corganization\u003e --repositories \u003crepository1\u003e,\u003crepository2\u003e --target-repository \u003ctarget-repository\u003e --target-repository-file \u003ctarget-repository-file\u003e \n```\n\n### Parameters\n\n| Paramter | Environment | Required | Default                  | Example                                                                     | Description                                                                   |\n| --- | --- |-------|--------------------------|-----------------------------------------------------------------------------|-------------------------------------------------------------------------------|\n| --github-token | GITHUB_TOKEN | true  | -                        | -                                                                           | The GitHub Personal Access Token (PAT)                                        |\n| --environments | ENVIRONMENTS | true  | -                        | dev,staging,prod                                                            | Environments to query. Comma separated list.                                  |\n| --organization | ORGANIZATION | true  | -                        | myorga                                                                      | The GitHub Organization to query for repositories.                            |\n| --repositories | REPOSITORIES | true  | -                        | frontend,backend                                                            | Repositories to query. Comma separated list.                                  |\n| --verbose | VERBOSE | false  | 1                        | 0                                                                           | Verbosity level, 0=info, 1=debug. Overrides the environment variable VERBOSE. |\n| --environment-links | ENVIRONMENT_LINKS | false  | -                        | https://dev.example.com,https://staging.example.com,https://www.example.com | Links to the environments. Comma separated list.                             |\n| --template-file | TEMPLATE_FILE | false  | -                        | template/default.md                                              | The template file to use.                                                    |\n| --target-json-file | TARGET_JSON_FILE | false  | deployment-overview.json | -                                                                           | The target file to write the result to as JSON.                               |\n| --target-md-file | TARGET_MD_FILE | false  | deployment-overview.md   | -                                                                           | The target file to write the result to as Markdown.                           |\n\n## Required PAT permissions\n\nThe PAT should be a Fine Grain PAT that belongs to the target organization and has the following permissions:\n\n| Permission | Access |\n| --- | --- |\n| Actions | Read |\n| Deployments | Read |\n| Environments | Read |\n| Metadata | Read |\n| Pull Requests | Read |\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fprodyna%2Fdeployment-overview","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fprodyna%2Fdeployment-overview","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fprodyna%2Fdeployment-overview/lists"}