0.0
No commit activity in last 3 years
No release in over 3 years
Parse code pushes from multiple code hosting platforms
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Development

~> 10
~> 2.13
~> 0.8

Runtime

>= 0
>= 1.8
 Project Readme

magnum-payload

Ruby library to parse and process JSON-formatted payloads from code hosting providers. It accepts any commits payloads and transforms them into identical data structures.

If you need to integrate web-hooks from Github, Bitbucket or Gitlab this is definitely worth checking out. Check examples for details.

Build Status Code Climate

Supported platforms

You can integrate with the following providers:

Installation

Install via rubygems:

gem install magnum-payload

Or with bundler:

gem "magnum-payload", require: "magnum/payload"

Usage

Example:

require "magnum/payload"

# Shorthand method to parse payload
Magnum::Payload.parse("github", "JSON")    # => Magnum::Payload::Github
Magnum::Payload.parse("bitbucket", "JSON") # => Magnum::Payload::Bitbucket
Magnum::Payload.parse("gitlab", "JSON")    # => Magnum::Payload::Gitlab

# Or initialize a payload class directly
payload = Magnum::Payload::Github.new("JSON data")

# Check if payload should be skipped
payload.skip?
payload.skip_message?

See Payload Attributes section for payload instance details.

Check examples directory for code samples.

Payload Classes

All payload classes are inherited from Magnum::Payload::Base:

  • Magnum::Payload::Github
  • Magnum::Payload::Gitlab
  • Magnum::Payload::Beanstalk
  • Magnum::Payload::Bitbucket
  • Magnum::Payload::Custom

Payload Attributes

Attributes are depending on payload class.

  • raw_data - Original payload string or hash
  • data - Formatted hash instance
  • skip - Skip flag that indicated full payload skip (deleted head, etc)
  • commit - Code revision (SHA1, number)
  • branch - Code branch name (git, hg, svn)
  • author - Commit author name
  • committer - Commit committer name (git)
  • message - Commit message text
  • committer_email - Committer email (git)
  • author_email - Author email (git)
  • commit_url - Direct URL to view commit diff
  • compare_url - Direct URL to view commits diff

Test Suite

To execute test suite run:

rake test

Contact

License

The MIT License (MIT)

Copyright (c) 2013-2015 Magnum CI