{"id":13547184,"url":"https://github.com/GoogleCloudPlatform/cloud-build-notifiers","last_synced_at":"2025-04-02T19:32:41.091Z","repository":{"id":37892927,"uuid":"251435088","full_name":"GoogleCloudPlatform/cloud-build-notifiers","owner":"GoogleCloudPlatform","description":"Notifier images for Cloud Build, complete with build status filtering and Google Secret Manager integration","archived":false,"fork":false,"pushed_at":"2025-03-13T01:47:09.000Z","size":757,"stargazers_count":139,"open_issues_count":24,"forks_count":142,"subscribers_count":37,"default_branch":"master","last_synced_at":"2025-03-30T15:42:30.134Z","etag":null,"topics":["gcp","gcp-cloud-build","notifications"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/GoogleCloudPlatform.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","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":"2020-03-30T21:43:11.000Z","updated_at":"2025-02-27T14:06:01.000Z","dependencies_parsed_at":"2023-01-31T02:30:53.066Z","dependency_job_id":"938aa60e-9390-43b7-9403-a76cffede8ae","html_url":"https://github.com/GoogleCloudPlatform/cloud-build-notifiers","commit_stats":null,"previous_names":[],"tags_count":122,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GoogleCloudPlatform%2Fcloud-build-notifiers","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GoogleCloudPlatform%2Fcloud-build-notifiers/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GoogleCloudPlatform%2Fcloud-build-notifiers/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GoogleCloudPlatform%2Fcloud-build-notifiers/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/GoogleCloudPlatform","download_url":"https://codeload.github.com/GoogleCloudPlatform/cloud-build-notifiers/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246880261,"owners_count":20848835,"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":["gcp","gcp-cloud-build","notifications"],"created_at":"2024-08-01T12:00:52.180Z","updated_at":"2025-04-02T19:32:41.065Z","avatar_url":"https://github.com/GoogleCloudPlatform.png","language":"Go","funding_links":[],"categories":["Go","Useful links"],"sub_categories":[],"readme":"# Cloud Build Notifiers\n\nThis repo provides deployable notifier images and sources, as well as libraries\nfor creating new notifiers.\n\n[Cloud Build](https://cloud.google.com/cloud-build) notifiers are Docker\ncontainers that connect to the\n[Cloud Build Pub/Sub topic](https://cloud.google.com/cloud-build/docs/send-build-notifications)\nthat adapt Pub/Sub messages about Build update notifications to other\nservices/protocols, such as SMTP for email.\nCloud Build notifiers are long-lived binaries that receive notifications throughout\nBuilds' lifecycles (e.g. from the Build starting to execute through the Build finishing).\n\nAll notifiers can be built by Cloud Build and deployed on\n[Cloud Run](https://cloud.google.com/run). The only prerequisite is to be a\nCloud Build user and to have the\n[gcloud CLI tool](https://cloud.google.com/sdk/gcloud/) installed and configured\nfor your Cloud Build project(s).\n\nThere are currently 4 supported notifier types:\n\n-   [`bigquery`](./bigquery/README.md), which writes Build updates and related\n    data to a BigQuery table.\n-   [`http`](./http/README.md), which sends (HTTP `POST`s) a JSON payload to\n    another HTTP endpoint.\n-   [`slack`](./slack/README.md), which uses a Slack webhook to post a message\n    in a Slack channel.\n-   [`smtp`](./smtp/README.md), which sends emails via an SMTP server.\n\n**See the official documentation on Google Cloud for how to configure each notifier:**\n\n- [Configuring BigQuery notifications](https://cloud.google.com/cloud-build/docs/configuring-notifications/configure-bigquery)\n- [Configuring HTTP notifications](https://cloud.google.com/cloud-build/docs/configuring-notifications/configure-http)\n- [Configuring Slack notifications](https://cloud.google.com/cloud-build/docs/configuring-notifications/configure-slack)\n- [Configuring SMTP notifications](https://cloud.google.com/cloud-build/docs/configuring-notifications/configure-smtp)\n\n\n## Setup Script\n\nA [setup script](./setup.sh) exists that should automate _most_ of the notifier setup.\n\nRun `./setup.sh --help` for usage instructions.\n\n## Common Flags\n\nThe following are flags that belong to every notifier via inclusion of the `lib/notifiers` library.\n\n### `--smoketest`\n\nThis flag starts up the notifier image but only logs the notifier name (via type) and then exits.\n\n### `--setup_check`\n\nThis flag starts up the notifier, which does the following:\n\n1. Read the notifier configuration YAML from STDIN.\n1. Decode it into a configuration object.\n1. Attempt to call `notifier.SetUp` on the given notifier using the configuration and a faked-out `SecretGetter`.\n1. Exit successfully unless one of the previous steps failed.\n\nThis can be done using the following commands:\n\n```bash\n# First build the notifier locally.\n$ sudo docker build . \\\n    -f=./${NOTIFIER_TYPE}/Dockerfile --tag=${NOTIFIER_TYPE}-test\n# Then run the `setup_check` with your YAML.\n# --interactive to allow reading from STDIN.\n# --rm to clean/remove the image once it exits.\n$ sudo docker run \\\n    --interactive \\\n    --rm \\ \n    --name=${NOTIFIER_TYPE}-test \\\n    ${NOTIFIER_TYPE}-test:latest --setup_check --alsologtostderr -v=5 \\\n    \u003c path/to/my/config.yaml \n```\n\n## License\n\nThis project uses an [Apache 2.0 license](./LICENSE).\n\n## Contributing\n\nSee [here](./CONTRIBUTING.md) for contributing guidelines.\n\n## Support\n\nThere are several ways to get support for issues in this project:\n\n-   [Cloud Build Slack channel](https://googlecloud-community.slack.com/archives/C4KCRJL4D)\n-   [Cloud Build Issue Tracker](https://issuetracker.google.com/issues/new?component=190802\u0026template=1162743)\n-   [General Google Cloud support](https://cloud.google.com/cloud-build/docs/getting-support)\n\nNote: Issues filed in this repo are not guaranteed to be addressed.\nWe recommend filing issues via the [Issue Tracker](https://issuetracker.google.com/issues/new?component=190802\u0026template=1162743).\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FGoogleCloudPlatform%2Fcloud-build-notifiers","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FGoogleCloudPlatform%2Fcloud-build-notifiers","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FGoogleCloudPlatform%2Fcloud-build-notifiers/lists"}