{"id":16677827,"url":"https://github.com/jaemk/notify-hook","last_synced_at":"2026-04-27T06:33:06.607Z","repository":{"id":66210392,"uuid":"107829533","full_name":"jaemk/notify-hook","owner":"jaemk","description":"Git post-receive hook","archived":false,"fork":false,"pushed_at":"2018-02-28T02:46:00.000Z","size":51,"stargazers_count":2,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-12-30T14:32:39.428Z","etag":null,"topics":["git","githook","github-webhooks","gitolite"],"latest_commit_sha":null,"homepage":null,"language":"Rust","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/jaemk.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","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":"2017-10-22T01:49:09.000Z","updated_at":"2025-11-06T23:16:35.000Z","dependencies_parsed_at":"2023-02-23T23:15:44.201Z","dependency_job_id":null,"html_url":"https://github.com/jaemk/notify-hook","commit_stats":null,"previous_names":[],"tags_count":6,"template":false,"template_full_name":null,"purl":"pkg:github/jaemk/notify-hook","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jaemk%2Fnotify-hook","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jaemk%2Fnotify-hook/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jaemk%2Fnotify-hook/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jaemk%2Fnotify-hook/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jaemk","download_url":"https://codeload.github.com/jaemk/notify-hook/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jaemk%2Fnotify-hook/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32326022,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-26T23:26:28.701Z","status":"online","status_checked_at":"2026-04-27T02:00:06.769Z","response_time":128,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":["git","githook","github-webhooks","gitolite"],"created_at":"2024-10-12T13:27:36.916Z","updated_at":"2026-04-27T06:33:06.566Z","avatar_url":"https://github.com/jaemk.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# notify-hook\n\n[![Build Status](https://travis-ci.org/jaemk/notify-hook.svg?branch=master)](https://travis-ci.org/jaemk/notify-hook)\n\n\u003e Git post-receive hook to send GitHub PushEvent-formatted requests\n\nNote, some github-specific payload fields are missing. The exact payload format can be found in [`payload.rs`](https://github.com/jaemk/notify-hook/blob/master/src/payload.rs).\n\nSee [`releases`](https://github.com/jaemk/notify-hook/releases) for binaries, or build from source (see `Releases` section below).\nIf you've installed a pre-compiled binary, you can update to the latest release via `notify-hook self update`.\n\nSidenote: This is a rewrite of the python utility [notify-webhook](https://github.com/metajack/notify-webhook)\n\n----\n\n### Configuration Options\n\n\u003e Note: options are set (from within the git project) with:\n\u003e\n\u003e `git config notifyhook.hook-urls \"https://httpbin.org/post,https://httpbin.org/post\"`\n\n**notifyhook.repo-name**\n\nRepository name to use. Defaults to blank\n\n----\n\n**notifyhook.repo-description**\n\nRepository description to use. Defaults to blank\n\n----\n\n**notifyhook.repo-owner-name**\n\nRepository owner name to use. Defaults to blank\n\n----\n\n**notifyhook.repo-owner-email**\n\nRepository owner email to use. Defaults to blank\n\n----\n\n**notifyhook.hook-urls**\n\nComma separated list of urls to post content to.\n\n----\n\n**notifyhook.secret-token**\n\nOptional: Hex encoded secret token used to generate a [GitHub X-Hub-Signature](https://developer.github.com/webhooks/securing/) header.\n\n----\n\n**notifyhook.content-type**\n\nContent type to send payload as. Defaults to `urlencoded`.\n\nOptions:\n\n- `urlencoded`: (Default) Post as `application/x-www-form-urlencoded`\n- `json`: Post as `application/json`\n\n----\n\n### Development\n\n- Install [`rust`](https://rustup.rs)\n- `cargo build`\n- `echo \"6b1bc10c d7b4c1baba master\" | cargo run -- --debug`\n\n----\n\n### Releases\n\nStatically compiled releases are built by travis-ci with `--features update` to allow `notify-hook self update`.\nIf you want to fork this project and continue building/self-updating with **your** github releases, you'll need\nto enable the `notify-hook` repository in your travis-ci account and then update the `update` function\nto point to your forked github repository.\n\nIf you prefer to build locally, there are two options:\n\n1. If your build and target architectures are identical, you can get away with a simple `cargo build --release`. Note, this requires\n   `libssl-dev` to be installed in your build environment, and `openssl` installed on your target.\n2. If you want to build static releases, like those built by travis-ci, you can use the `build-release.py` script.\n   This script requires `docker` and `cross` to be installed to produce statically compiled binaries. By default,\n   artifacts will be produced for `i686` and `x86_64`. This can be tweaked in the `TARGETS` list of `build-release.py`.\n    - Install [`docker`](https://www.digitalocean.com/community/tutorials/how-to-install-and-use-docker-on-ubuntu-16-04)\n        - Add yourself to the `docker` group: `sudo usermod -a -G docker \u003cuser\u003e`\n        - Restart to pick up changes (logging in \u0026 out may suffice)\n        - You should be able to run `docker version` without any errors\n        - May need to start the Docker daemon if it's not already running: `sudo systemctl start docker`\n    - Install [`cross`](https://github.com/japaric/cross): `cargo install cross`\n    - `./build-release.py`\n        - Release artifacts (`i686` \u0026 `x86_64`) will be copied into `bin/32` \u0026 `bin/64`\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjaemk%2Fnotify-hook","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjaemk%2Fnotify-hook","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjaemk%2Fnotify-hook/lists"}