Provide a simple Express Node application that listen for incoming queries (Webhooks). A flat json config file define shell action to do on incoming queries.
Node-hook-action supports:
- github webhooks,
- header value condition,
- json payload value condition.
Inspired by RazvanCristian/node-git-webhook
- create a sample webhook configuration file. Like config.json
- install node-hook-action as dependency
pnpm install node-hook-action
- run the server.
node -e 'require("node-hook-action")()'
- try the client in another console !
# if you didn't clone the repository, simply copy examples/ scripts
./examples/webhookPostExample.sh
server_config: Hook Express server configserver_config.path: Webhook pathserver_config.secret: which kind of secret does your webhook queries are using ? at least one secret must be filled.server_config.secret.github: to set when using github webhooks. Set github webhook secret value here.server_config.secret.custom: to match a simple postx-tokenheader value.server_config.directories.logs: logs directory (optional): to set if you would like to log into a dedicated directory in addition to console logs.actions: setup one or more actions or conditional actions to do on webhook reception.actions.headers: action headers (key/value) condition.actions.payload: action payload condition. The key is a valid json path. The value is an expected string at json path location in webhook JSON payload.actions.events: per event action(s).actions.events.event: (github use case) value ofx-github-eventheader. (custom use case) set tocustomactions.events.action: shell command to execute.actions.events.action.async=true: shell async command to execute.
There is a ready to use config.json at root directory, that match related examples, and tests.
cf. CONTRIBUTING
| badge | name | description |
|---|---|---|
| Houndci | JavaScript automated review (configured by .hound.yml) |
|
| Github actions | Continuous tests. | |
| Github actions | Continuous vulnerability audit. |
