package github-hooks-unix

All checked builds pass
  1. Overview
  2. Docs
GitHub API web hook listener library using unix functions

Install

dune-project
 Dependency

Authors

Maintainers

Sources

github-hooks-0.5.0.tbz
sha256=bd92e6d3b8f6106e65851ebb0e8d56f8f87dd2d7cf09ecaae2ea5f5ed422f4c9
sha512=13620ae004c2b56b974ffbd76f9a0627a63967636bc834809f82a39abb1abf75491f0f17858445fbeb292faf5ed4cb0b9e343023d4794e6a0860311e9bff9cc2

Description

Library to create GitHub webhook server.

Tags

git github

Added to opam-repository:

README

github-hooks -- GitHub API web hook listener library

Library to create GitHub webhook server.

Web hook tests

This repository contains a GitHub web hook test harness that confirms that ocaml-github can parse both polled and web-hook-received events and that the expected events are delivered in the correct order. To run the test_hook_server program, you must have a publicly accessible IP address with a DNS A record and a TLS certificate. You can use Let's Encrypt to get a TLS certificate for your domain for free. test_hook_server should be run from an account on the public-facing machine which also has agent access to an SSH key which is registered with GitHub. I recommend using a remote VM for the domain and forwarding a local ssh agent with something like ssh -A example.net.

Once this is configured, place your TLS certificate in the file webhook.crt and the key for that certificate in webhook.key. Generate a personal GitHub token named test with git jar make --scopes=admin:repo_hook,delete_repo,repo [GitHub token username] test (with the git-jar subcommand from mirage/ocaml-github) which has admin:repo_hook, delete_repo, and repo authority scopes. This token has quite a lot of authority so it is important to keep safe or use a test account rather than your primary GitHub account.

Finally, run make test and then _build/test/test_hook_server.native https://example.net:4433 [GitHub token username] test-github-hooks [GitHub SSH username] to run the tests on your server at example.net on port 4433 as the user [GitHub token username] but git-pushing as the user [GitHub SSH username]. The test program will create and delete the repository test-github-hooks in the process of running. If the tests fail, you may have to remove the cloned repository called test-github-hooks and the GitHub repository [GitHub token username]/test-github-hooks.

Dependencies (6)

  1. cohttp-lwt-unix >= "0.99.0"
  2. github-hooks >= "0.5.0"
  3. conduit-lwt-unix >= "1.5.0"
  4. github-unix >= "3.0.1"
  5. dune
  6. ocaml >= "4.02.0"

Dev Dependencies

None

Optional Dependencies

None

Used by

None

Conflicts

None

Build status

Results of building github-hooks-unix with each compiler on check.ci.ocaml.org, run of against opam-repository 8a77e58. All results for this package.

Each result links to its build log. To keep crawlers from overloading the site, build logs require a GitHub sign-in (see ocurrent/opam-health-check). On your first log, GitHub asks you to “Authorize opam-health-check”, the OCurrent app that runs these checks; it sees only your public profile, not your repositories. The sign-in lasts 30 days.

Version OCaml 4.11 OCaml 4.14 OCaml 5.2 OCaml 5.4 OCaml 5.5
0.5.0 (this version) good good good good good
  • good Package successfully built
  • partial One of the dependencies failed to build
  • bad Package failed to build
  • n/a Package is not available in this environment
  • internal Internal failure