{"id":36780556,"url":"https://github.com/devopsext/notifier","last_synced_at":"2026-01-12T13:16:45.876Z","repository":{"id":57542590,"uuid":"293567514","full_name":"devopsext/notifier","owner":"devopsext","description":"Gitlab CI/CD pipeline trigger utility based on Google Pub/Sub messsage","archived":false,"fork":false,"pushed_at":"2020-09-08T15:25:55.000Z","size":39,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2023-07-27T22:03:06.698Z","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":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/devopsext.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}},"created_at":"2020-09-07T15:38:29.000Z","updated_at":"2021-06-10T07:14:56.000Z","dependencies_parsed_at":"2022-09-26T18:31:14.862Z","dependency_job_id":null,"html_url":"https://github.com/devopsext/notifier","commit_stats":null,"previous_names":[],"tags_count":1,"template":null,"template_full_name":null,"purl":"pkg:github/devopsext/notifier","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/devopsext%2Fnotifier","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/devopsext%2Fnotifier/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/devopsext%2Fnotifier/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/devopsext%2Fnotifier/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/devopsext","download_url":"https://codeload.github.com/devopsext/notifier/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/devopsext%2Fnotifier/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28338996,"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":"2026-01-12T13:16:42.949Z","updated_at":"2026-01-12T13:16:45.821Z","avatar_url":"https://github.com/devopsext.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Notifier\n\nUtility that allows to publish events into Google Pub/Sub from one side and receive events from the other side by triggering Gitlab CI/CD pipeline with a variable. A content of an event will be passed to a variable.\n\n[![GoDoc](https://godoc.org/github.com/devopsext/notifier?status.svg)](https://godoc.org/github.com/devopsext/notifier)\n[![build status](https://img.shields.io/travis/devopsext/notifier/master.svg?style=flat-square)](https://travis-ci.org/devopsext/notifier)\n\n## Features\n\n- Publish messages with any content\n- Subscribe and listen messages\n- Trigger pipeline with a content of message\n\n## Build\n\n```sh\ngit clone https://github.com/devopsext/notifier.git\ncd notifier/\ngo build\n```\n\n## Example\n\nTo try this example it's neccesary to prepare Google Pub/Sub to allow Notifier publish and receive messsages. To do so, create Service Account (under Google Gloud Console) with proper rights (read and write), download it in Json format to account.json as well as to make a topic and subscription in Pub/Sub. Gitlab repository should also have trigger token and branch.   \n\n### Export environment variable\n\n```sh\nexport NOTIFIER_PUBSUB_CREDENTIALS=account.json\nexport NOTIFIER_PUBSUB_PROJECT_ID=some-pubsub-project-id\n```\n\n\n### Run in Sub mode\n\n```sh\n./notifier sub --pubsub-subscription some-pubsub-subscription \\\n               --gitlab-base-url some-gitlab-base-url --gitlab-variable some-gitlab-variable \\\n               --gitlab-project-id some-gitlab-project-id --gitlab-project-ref some-gitlab-project-ref \\\n               --gitlab-trigger-token some-gitlab-trigger-toke \\\n               --log-format stdout --log-level debug --log-template '{{.msg}}' \n```\n\n### Run in Pub mode\n\n```sh\n./notifier pub --pubsub-topic some-pubsub-topic --pubsub-payload some-pubsub-payload \\\n               --log-format stdout --log-level debug --log-template '{{.msg}}' \n```\n\n## Usage\n\n```\nNotifier command\n\nUsage:\n  notifier [flags]\n  notifier [command]\n\nAvailable Commands:\n  help        Help about any command\n  pub         Pub command\n  sub         Sub command\n  version     Print the version number\n\nFlags:\n      --gitlab-base-url string        Gitlab base URL\n      --gitlab-project-id string      Gitlab project ID\n      --gitlab-project-ref string     Gitlab project ref\n      --gitlab-token string           Gitlab token\n      --gitlab-trigger-token string   Gitlab trigger token\n      --gitlab-variable string        Gitlab variable\n  -h, --help                          help for notifier\n      --log-format string             Log format: json, text, stdout (default \"text\")\n      --log-level string              Log level: info, warn, error, debug, panic (default \"info\")\n      --log-template string           Log template (default \"{{.func}} [{{.line}}]: {{.msg}}\")\n      --prometheus-listen string      Prometheus listen (default \"127.0.0.1:8080\")\n      --prometheus-url string         Prometheus endpoint url (default \"/metrics\")\n      --pubsub-credentials string     Pub/Sub credentials\n      --pubsub-project-id string      Pub/Sub project ID\n```\n\n## Environment variables\n\nFor containerization purpose all command switches have environment variables analogs.\n\n- NOTIFIER_LOG_FORMAT\n- NOTIFIER_LOG_LEVEL\n- NOTIFIER_LOG_TEMPLATE\n- NOTIFIER_PROMETHEUS_URL\n- NOTIFIER_PROMETHEUS_LISTEN\n- NOTIFIER_PUBSUB_CREDENTIALS\n- NOTIFIER_PUBSUB_PROJECT_ID\n- NOTIFIER_PUBSUB_PAYLOAD\n- NOTIFIER_PUBSUB_TOPIC\n- NOTIFIER_PUBSUB_SUBSCRIPTION\n- NOTIFIER_GITLAB_TOKEN\n- NOTIFIER_GITLAB_BASE_URL\n- NOTIFIER_GITLAB_PROJECT_ID\n- NOTIFIER_GITLAB_PROJECT_REF\n- NOTIFIER_GITLAB_VARIABLE\n- NOTIFIER_GITLAB_TRIGGER_TOKEN\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdevopsext%2Fnotifier","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdevopsext%2Fnotifier","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdevopsext%2Fnotifier/lists"}