{"id":25888329,"url":"https://github.com/jelder/bownse","last_synced_at":"2026-04-15T22:35:45.535Z","repository":{"id":26589381,"uuid":"30044040","full_name":"jelder/bownse","owner":"jelder","description":"The Heroku Webhook Multiplexer","archived":false,"fork":false,"pushed_at":"2015-10-07T17:51:43.000Z","size":1000,"stargazers_count":1,"open_issues_count":1,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2026-03-29T16:59:43.848Z","etag":null,"topics":["go","heroku","slack","webhook"],"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/jelder.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":"2015-01-29T22:16:04.000Z","updated_at":"2015-09-29T17:16:22.000Z","dependencies_parsed_at":"2022-08-31T17:00:40.279Z","dependency_job_id":null,"html_url":"https://github.com/jelder/bownse","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/jelder/bownse","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jelder%2Fbownse","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jelder%2Fbownse/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jelder%2Fbownse/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jelder%2Fbownse/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jelder","download_url":"https://codeload.github.com/jelder/bownse/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jelder%2Fbownse/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31863495,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-15T15:24:51.572Z","status":"ssl_error","status_checked_at":"2026-04-15T15:24:39.138Z","response_time":63,"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":["go","heroku","slack","webhook"],"created_at":"2025-03-02T18:35:37.822Z","updated_at":"2026-04-15T22:35:45.520Z","avatar_url":"https://github.com/jelder.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# bownse\n[![Circle CI](https://circleci.com/gh/jelder/bownse.svg?style=svg)](https://circleci.com/gh/jelder/bownse)\n[![Code Climate](https://codeclimate.com/github/jelder/bownse/badges/gpa.svg)](https://codeclimate.com/github/jelder/bownse)\n\nHow Heroku's [deploy webhooks](https://devcenter.heroku.com/articles/deploy-hooks#http-post-hook) were supposed to work: Ping a bunch of relevant services after every deploy. Bownse sits between Heroku and your addons, sending artisnal webhooks to your team chat, application performance monitors, and error trackers.\n\nCurrently supports Slack, Honeybadger, and NewRelic.\n\nYou can launch your own private Bownse instance from this button.\n\n[![Deploy to Heroku](https://www.herokucdn.com/deploy/button.png)](https://heroku.com/deploy)\n\n## Setup\n\nOnce you've deployed your own copy of Bownse, configure all of your Heroku apps to use it. The URL will be the URL of your Bownse instance followed by the value `SECRET_KEY` ENV var. For example, it might look a lot like this:\n\n```\nhttps://boundless-bownse.herokuapp.com/074585ce6ef2d8e457d31fc4af098bbdae039c640f041184f9b2488d60e19012\n```\n\nHeroku doesn't expose the upstream GitHub respository name, so you will have to configure it manually as an ENV var for each of your apps.\n\n```bash\nheroku config:set GITHUB_REPO=myname/myapp --app myapp\n```\n\nFinally, you must tell your Bownse instance how to authenticate against Heroku to get the information it needs. It exclusively uses the `config-vars` endpoint and never modifies anything. More details here: https://devcenter.heroku.com/articles/platform-api-reference#config-vars\n\n```bash\nheroku config:set HEROKU_AUTH_TOKEN=$(heroku auth:token) --app my-bownse-instance\n```\n\n## Slack\n\nBownse will figure everything out from your app's ENV vars, with one exception: Slack. Create an incoming webhook at https://boundless.slack.com/services/new/incoming-webhook, and then tell your Bownse instance about it by setting the `SLACK_URL` ENV var.\n\nIf you don't use Slack, I envy you. It's a pretty mediocre system especially for developers. \n\n## Contributing\nObviously, you are expected to follow the [contributor code of conduct](http://contributor-covenant.org/version/1/0/0/).\n\n1. Fork it\n2. Create your feature branch (`git checkout -b my-new-feature`)\n3. Commit your changes (`git commit -am 'Add some feature'`)\n4. Push to the branch (`git push origin my-new-feature`)\n5. Create new Pull Request\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjelder%2Fbownse","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjelder%2Fbownse","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjelder%2Fbownse/lists"}