ghwh

command module
v1.0.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 4, 2023 License: MIT Imports: 16 Imported by: 0

README

ghwh - github webhook handler

This small utility can be used to run commands on push github webhook events.

Install it:

go get -u github.com/artyom/ghwh

Use it:

Usage of ghwh:
  -cert="": path to ssl certificate
  -config="": path to config (yaml)
  -key="": path to ssl certificate key
  -listen="127.0.0.1:8080": address to listen at
  -qsize=10: job queue size

Configuration file example:

/hook1:
  reponame: ghwh
  secret: someSecret
  command: /usr/bin/touch
  args:
    - /tmp/ghwh-updated
  refs:
    "refs/heads/dev":
      command: /usr/bin/touch
      args:
        - /tmp/ghwh-dev-updated
        - /tmp/second-arg

/hook2:
  reponame: bar
  refs:
    "refs/heads/master":
      command: /usr/bin/local/some-script
      args:
        - "--branch=master"

This configuration defines two hook endpoints for two separate repositories. First endpoint mapped to /hook1 and handles hooks for ghwh repository, validating each request against shared secret. For refs/heads/dev ref. command /usr/bin/touch /tmp/ghwh-dev-updated /tmp/second-arg is called, for every other branch command /usr/bin/touch /tmp/ghwh-updated.

Second hook /hook2 handles updates of bar repository and processes only events for refs/heads/master ref., running command /usr/bin/local/some-script --branch=master.

Current implementation runs all commands one by one, queue size can be configured with -qsize flag. This may change in the future.

If both -cert and -key flags set, ghwh tries to use https protocol, otherwise plain http is used. If https is used with self-signed certificates, do not forget to set insecure_ssl=1 while setting up webhook.

Documentation

The Go Gopher

There is no documentation for this package.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL