{"id":13769178,"url":"https://github.com/crumbhole/ci-github-notifier","last_synced_at":"2026-01-12T14:11:21.353Z","repository":{"id":40470706,"uuid":"374609813","full_name":"crumbhole/ci-github-notifier","owner":"crumbhole","description":"Posts the state of a CI workflow task to GitHub","archived":false,"fork":false,"pushed_at":"2025-12-02T20:39:06.000Z","size":160,"stargazers_count":47,"open_issues_count":7,"forks_count":5,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-12-05T16:01:27.691Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/crumbhole.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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2021-06-07T09:33:24.000Z","updated_at":"2025-10-27T15:46:03.000Z","dependencies_parsed_at":"2023-02-04T08:00:40.872Z","dependency_job_id":"870941b0-e6f6-4eb3-a94c-e7cbd7d73ed8","html_url":"https://github.com/crumbhole/ci-github-notifier","commit_stats":null,"previous_names":["crumbhole/ci-github-notifier","sendible-labs/ci-github-notifier"],"tags_count":20,"template":false,"template_full_name":null,"purl":"pkg:github/crumbhole/ci-github-notifier","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/crumbhole%2Fci-github-notifier","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/crumbhole%2Fci-github-notifier/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/crumbhole%2Fci-github-notifier/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/crumbhole%2Fci-github-notifier/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/crumbhole","download_url":"https://codeload.github.com/crumbhole/ci-github-notifier/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/crumbhole%2Fci-github-notifier/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28340384,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-12T12:22:26.515Z","status":"ssl_error","status_checked_at":"2026-01-12T12:22:10.856Z","response_time":98,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":[],"created_at":"2024-08-03T17:00:18.611Z","updated_at":"2026-01-12T14:11:21.330Z","avatar_url":"https://github.com/crumbhole.png","language":"Go","funding_links":[],"categories":["Ecosystem Projects"],"sub_categories":[],"readme":"# ci-github-notifier\nA lightweight container to post the status of a CI task to GitHub, allowing GitHub users to see the status of a PR or Branch. Designed for cloud native workflows (eg [Argo Workflows](https://argoproj.github.io/argo-workflows/), or [Tekton](https://tekton.dev/)), but will run wherever a container can be run. Compatible with regular Github and Github Enterprise URLs.\n\n![CI](https://github.com/crumbhole/ci-github-notifier/actions/workflows/ci.yaml/badge.svg) ![Code Quality](https://github.com/crumbhole/ci-github-notifier/actions/workflows/codeql-analysis.yaml/badge.svg) ![Release](https://github.com/crumbhole/ci-github-notifier/actions/workflows/release.yaml/badge.svg)\n\n# Environment Variables\nWe pass key information to the container using environment variables.\nFirst, we provide the necessary values for the GitHub status API:\n\n| Environment Variable  | Type      | Description                                                                                                                                       |\n|---------------------- |---------- |-------------------------------------------------------------------------------------------------------------------------------------------------- |\n| `state`               | string    | The state of the status. Can be one of `pending`, `success`, `error`, or `failure` ([Github Docs](https://docs.github.com/en/rest/commits/statuses?apiVersion=2022-11-28#about-commit-statuses)).                                                                       |\n| `target_url`          | string    | The target URL to associate with this status. This URL will be linked from the GitHub UI to allow users to easily see the ‘source’ of the Status. |\n| `description`         | string    | A short description of the status.                                                                                                                |\n| `context`             | string    | A string label to differentiate this status from the status of other systems.                                                                     |\n\nThen we provide GitHub authentication information. We provide one of the following:\n\n| Environment Variable  | Type      | Description                                                                                                                                       |\n|---------------------- |---------- |-------------------------------------------------------------------------------------------------------------------------------------------------- |\n| `access_token`        | string    | (Optional if `tokenFile` is set): A GitHub Access Token for a user with push access                                                               |\n| `tokenFile`           | string    | (Optional if `access_token` is set): Path to a file within the container that contains the GitHub access token. Useful for Vault secrets injection or similar. Takes precedence over `access_token` |\n\nFinally we provide Environment Variables that make up the values of the GitHub API url:\n\n| Environment Variable  | Type      | Description                                                                                                                                       |\n|---------------------- |---------- |-------------------------------------------------------------------------------------------------------------------------------------------------- |\n| `organisation`        | string    | The GitHub organisation/username for the notification. e.g. given https://github.com/crumbhole/ci-github-notifier, the organisation is \"crumbhole\"    |\n| `app_repo`            | string    | The GitHub repo for the notification. e.g. given https://github.com/crumbhole/ci-github-notifier, the app_repo is \"ci-github-notifier\"                    |\n| `git_sha`             | string    | The SHA1 of the PR or branch you wish to notify                                                                                                               |\n| `gh_url`              | string    | (OPTIONAL) The URL of the GitHub API. If omitted, will default to `api.github.com`                                                                              |\n\n# Docker run examples\nYou are unlikely to want to run these in production using `docker run`, but the following examples give a clear indication of how to execute the container.\n## Running with environment variables\n\n```\ndocker run \\\n    -e state=pending \\\n    -e target_url=https://sendible.com \\\n    -e description=\"This is an example description\" \\\n    -e context=\"Example context\" \\\n    -e access_token=\"123ABC123ABC\" \\\n    -e organisation=crumbhole \\\n    -e app_repo=\"ci-github-notifier\" \\\n    -e git_sha=\"123abc123abc\" \\\n    -e gh_url=\"api.mydomain.biz\" \\\n    ghcr.io/crumbhole/ci-github-notifier:stable\n```\n\n## Mounting tokenFile\n```\ndocker run \\\n    -e state=pending \\\n    -e target_url=https://sendible.com \\\n    -e description=\"This is an example description\" \\\n    -e context=\"Example context\" \\\n    -e tokenFile=\"/tmp/access_token\" \\\n    -e organisation=crumbhole \\\n    -e app_repo=\"ci-github-notifier\" \\\n    -e git_sha=\"123abc123abc\" \\\n    -e gh_url=\"api.mydomain.biz\" \\\n    -v /path/to/file:/tmp/access_token \\\n    ghcr.io/crumbhole/ci-github-notifier:stable\n```\n\n# Argo Workflows example\nA simple Argo Workflows template can be found in the examples directory.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcrumbhole%2Fci-github-notifier","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcrumbhole%2Fci-github-notifier","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcrumbhole%2Fci-github-notifier/lists"}