Popularity
8.0
Declining
Activity
3.8
-
34
3
13

Monthly Downloads: 43
Programming language: Haskell
License: MIT License
Tags: API     GitHub    
Latest version: v0.16.0

github-webhooks alternatives and similar packages

Based on the "GitHub" category.
Alternatively, view github-webhooks alternatives based on common mentions on social networks and blogs.

Do you think we are missing an alternative of github-webhooks or a related project?

Add another 'GitHub' Package

README

[github-webhooks Mascot](./doc/github-webhooks-mascot-248.svg) \

github-webhooks

Hackage License

release master
Linux & OSX travis-linux travis-linux
Windows appveyor-windows appveyor-windows

Complete Haskell types and instances for decoding GitHub API Webhook payloads.

Features

  • Best-in-class JSON decoding via aeson.
  • Unicode string support via text.
  • Suitable for large data payloads using vector.
  • Type-safe encoding of optional data.
  • Type-safe event action encodings with support for future API changes.
  • Instances for Typeable, Data, Generic and NFData.
  • Strongly typed utility classes EventHasSender, EventHasRepo et al.
  • Strict data types suitable for high performance streaming operations.
  • Full support for these event types.

Installation

github-webhooks is available via installation on Hackage and Stackage.

Examples

Minimal working example:

$ stack ghci bytestring aeson github-webhooks
import qualified Data.ByteString.Lazy as BSL
import           Data.Aeson           ( eitherDecode' )

json <- BSL.readFile "fixtures/watch-event.json"
eitherDecode' json :: Either String WatchEvent

Some practical integration examples are also provided:

  • [Servant Integration (Simple)](./examples/servant-simple#readme)
    Minimal working example of integrating this package with servant and servant-github-webhook.
  • [Servant Integration (Typical)](./examples/servant-adv#readme)
    This example demonstrates more advanced use-cases with servant by decoding multiple different types of payloads on the same endpoint.
  • [Scotty Integration](./examples/scotty#readme)
    Minimal working example of integrating this package with scotty.

Changelog

See [CHANGELOG.md](./CHANGELOG.md) for a summary of changes in each release.

Roadmap

See [ROADMAP.md](./ROADMAP.md) for the project timeline and feature estimation of future releases.

Authors

See [AUTHORS](./AUTHORS) for a list of significant authors.

License

MIT License

Copyright (c) 2017-2020 Cuedo Business Solutions (https://cuedo.com.au)

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

Free open source software, sponsored by cuedo.com.au. \ \ [Cuedo Business Solutions](./doc/cuedo-color-256.svg)


*Note that all licence references and agreements mentioned in the github-webhooks README section above are relevant to that project's source code only.