{"id":37216065,"url":"https://github.com/cdevents/webhook-adapter","last_synced_at":"2026-01-15T00:59:05.603Z","repository":{"id":224918367,"uuid":"760649853","full_name":"cdevents/webhook-adapter","owner":"cdevents","description":null,"archived":false,"fork":false,"pushed_at":"2024-03-19T20:33:46.000Z","size":20,"stargazers_count":0,"open_issues_count":4,"forks_count":1,"subscribers_count":6,"default_branch":"main","last_synced_at":"2024-07-22T13:42:02.384Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"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/cdevents.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":"2024-02-20T17:21:57.000Z","updated_at":"2024-07-22T13:42:02.384Z","dependencies_parsed_at":null,"dependency_job_id":"7ca6d8f1-e42f-4d69-ad00-cc3ca0b3564d","html_url":"https://github.com/cdevents/webhook-adapter","commit_stats":null,"previous_names":["cdevents/webhook-adapter"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/cdevents/webhook-adapter","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cdevents%2Fwebhook-adapter","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cdevents%2Fwebhook-adapter/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cdevents%2Fwebhook-adapter/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cdevents%2Fwebhook-adapter/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cdevents","download_url":"https://codeload.github.com/cdevents/webhook-adapter/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cdevents%2Fwebhook-adapter/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28440994,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-15T00:55:22.719Z","status":"ssl_error","status_checked_at":"2026-01-15T00:55:20.945Z","response_time":107,"last_error":"SSL_read: 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-15T00:59:04.836Z","updated_at":"2026-01-15T00:59:05.587Z","avatar_url":"https://github.com/cdevents.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# CDEvents Webhook Adapter\n\nA CDEvents Webhook Adapter can receive events via Webhooks and translate them into CDEvents, \nwith the help of various translators which supports publishing events via Webhooks.\nThe translated CDEvents can be sent to configured `messageBroker` URL \n\nThis adapter provides client and server implementation over an RPC connection and exposes an interface for plugin implementation,\n````go\n// EventTranslator is the interface that we're exposing as a plugin.\ntype EventTranslator interface {\n\tTranslateEvent(event string, headers http.Header) (string, error)\n}\n\n````\nVarious translators can be developed as plugins by implementing this interface method and serve using Hashicorp's [go-plugin](https://github.com/hashicorp/go-plugin/?tab=readme-ov-file#usage)\n\n## Translator's configuration\nOnce the plugin implemented [translator-plugins.yaml](./translator-plugins.yaml) needs an update with the details of Plugin name, pluginURL and messageBroker\n````yaml\ntranslator:\n  path: \"./plugins\"\n  plugins:\n    - name: \"\u003cpluginName\u003e\"\n      pluginURL: \"\u003cplugin's binary URL\u003e\"\n      messageBroker: \"\u003cmessage broker URL\u003e\"\n````\n\n`DOWNLOAD_PLUGIN` is an environment variable that can be set to `true` or `false` to download the plugin's binary from the translator's `pluginURL` when launching this adapter. Alternatively, the plugin's binary can also be downloaded manually and placed under the `./plugins` directory (create it if it does not exist).\n\n## Plugins implemented using this adapter\n| Plugin Name  | Plugin Repo  |\n| :------------ |:-------------------|\n| gerrit-translator-cdevents| https://github.com/cdevents/gerrit-translator |\n|  jira-translator-cdevents   | https://github.com/cdevents/jira-translator    |","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcdevents%2Fwebhook-adapter","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcdevents%2Fwebhook-adapter","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcdevents%2Fwebhook-adapter/lists"}