{"id":16305449,"url":"https://github.com/moznion/boson","last_synced_at":"2025-10-25T14:30:39.198Z","repository":{"id":144680997,"uuid":"284742078","full_name":"moznion/boson","owner":"moznion","description":"A command line tool to send lines from through STDIN to the webhook endpoint.","archived":false,"fork":false,"pushed_at":"2020-08-05T16:17:15.000Z","size":27,"stargazers_count":7,"open_issues_count":1,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-01-31T07:34:19.034Z","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":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/moznion.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":"2020-08-03T15:52:06.000Z","updated_at":"2020-08-07T07:29:07.000Z","dependencies_parsed_at":null,"dependency_job_id":"e3b0b512-9698-4ebe-a9c8-9ecfb5778061","html_url":"https://github.com/moznion/boson","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/moznion%2Fboson","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/moznion%2Fboson/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/moznion%2Fboson/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/moznion%2Fboson/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/moznion","download_url":"https://codeload.github.com/moznion/boson/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":238155471,"owners_count":19425722,"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":[],"created_at":"2024-10-10T21:07:03.381Z","updated_at":"2025-10-25T14:30:33.929Z","avatar_url":"https://github.com/moznion.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# boson\n\nA command line tool to send lines from through STDIN to the webhook endpoint.\n\n## Usage\n\n```\nUsage of boson:\n  -body string\n        HTTP body for webhook request\n  -dry-run\n        Run this application with dry-run (i.e. it doesn't send any requests to the webhook endpoint)\n  -every-line\n        Run with every-line mode. This mode sends all of lines to the webhook endpoint\n  -filter-regexp string\n        Regexp for line filtering, run with regexp-filter mode; it allows using regexp group and it can use matched groups as \"{{ $1 }}\", \"{{ $2 }}\"...\n  -header value\n        HTTP header for webhook (example: \"Content-Type: application/json\"). It replaces \"{{ line }}\" token with got line string and \"{{ $N }}\" token with correspond group\n  -http-method string\n        HTTP method for webhook request (default \"POST\")\n  -timeout-sec int\n        HTTP timeout for webhook request (default 0, i.e. no-timeout)\n  -url string\n        URL for webhook endpoint. It replaces \"{{ line }}\" token with got line string and \"{{ $N }}\" token with correspond group\n  -url-encode-body-replacement\n        Encode the replacement of the body (i.e. the contents of \"{{ line }}\" and \"{{ $N }}\") of webhook request with url (percent) encoding; for \"application/x-www-form-urlencoded\"\n```\n\n### Example: Send every line to the webhook endpoint\n\n```\ntail -F something.log | boson --every-line --header \"Content-Type: application/json\" --header \"X-Test: Heigh-Ho\" --url http://localhost:8080 --body '{\"message\":\"{{ line }}\"}'\n```\n\n### Example: Send only matched line with a regular expression to the webhook endpoint\n\n```\ntail -F something.log | boson --filter-regexp=\"^\\[error].+\" --header \"Content-Type: application/json\" --header \"X-Test: Heigh-Ho\" --url http://localhost:8080 --body '{\"message\":\"{{ line }}\"}'\n```\n\n### Example: Send only matched line with a regular expression with grouping to the webhook endpoint\n\n```\necho \"2020/08/05 18:11:25 [error] hello\" | boson --filter-regexp=\"^(\\d+/\\d+/\\d+ \\d+:\\d+:\\d+) \\[error] (.+)\" --header \"Content-Type: application/json\" --header \"X-Test: Heigh-Ho\" --url http://localhost:8080 --body '{\"timestamp\":\"{{ $1 }}\",\"message\":\"{{ $2 }}\"}'\n```\n\n## Author\n\nmoznion (\u003cmoznion@gmail.com\u003e)\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmoznion%2Fboson","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmoznion%2Fboson","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmoznion%2Fboson/lists"}