Download the PHP package thecodingmachine/gitlab-hook-middleware without Composer
On this page you can find all versions of the php package thecodingmachine/gitlab-hook-middleware. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download thecodingmachine/gitlab-hook-middleware
More information about thecodingmachine/gitlab-hook-middleware
Files in thecodingmachine/gitlab-hook-middleware
Package gitlab-hook-middleware
Short Description A PSR-15 middleware to manage Gitlab hooks.
License MIT
Homepage https://github.com/thecodingmachine/gitlab-hook-middleware
Informations about the package gitlab-hook-middleware
Gitlab hook PSR-15 middleware
This package is a PSR-15 Middleware to receive events sent by a Gitlab webhook and send them to a listener.
It's possible to use directly the hookReceiver to build the event object, but you could check the Gitlab authentification.
How does it work
The middleware checks the header named X-GITLAB-TOKEN and builds an event object. The object is dispatched to a listener that you must implement.
The middleware takes care of unserializing the payload and provides you with nice PHP objects instead of raw JSON data. It's possible to get the initial array payload with the getPayload() function.
Your listener will receive all events. If you want to listen on a specific event type, you must check the object type.
Event List:
Scope | Hook | Header | Object |
---|---|---|---|
Project | Push Hook | Push Hook | TheCodingMachine\GitlabHook\Model\Push |
Project | Tag Push Hook | Tag Push Hook | TheCodingMachine\GitlabHook\Model\TagPush |
Project | Note Hook | Note Hook | Not implemented |
Project | Pipeline Hook | Pipeline Hook | TheCodingMachine\GitlabHook\Model\Pipeline |
Project | Build Hook | Build Hook | TheCodingMachine\GitlabHook\Model\Build |
Group | Project created | System Hook | TheCodingMachine\GitlabHook\Model\ProjectCreate |
Group | Project destroyed | System Hook | TheCodingMachine\GitlabHook\Model\ProjectDestroy |
Group | Project renamed | System Hook | TheCodingMachine\GitlabHook\Model\ProjectRename |
Group | Project transferred | System Hook | TheCodingMachine\GitlabHook\Model\ProjectTrasnfer |
Group | New Team Member | System Hook | TheCodingMachine\GitlabHook\Model\TeamMemberAdd |
Group | Team Member Removed | System Hook | TheCodingMachine\GitlabHook\Model\TeamMemberRemove |
Group | User created | System Hook | TheCodingMachine\GitlabHook\Model\UserCreate |
Group | User removed | System Hook | TheCodingMachine\GitlabHook\Model\UserDestroy |
Group | User failed login | System Hook | TheCodingMachine\GitlabHook\Model\UserFailedLogin |
Group | User renamed | System Hook | TheCodingMachine\GitlabHook\Model\UserRename |
Group | Key added | System Hook | TheCodingMachine\GitlabHook\Model\KeyCreate |
Group | Key removed | System Hook | TheCodingMachine\GitlabHook\Model\KeyDestroy |
Group | Group created | System Hook | TheCodingMachine\GitlabHook\Model\GroupCreate |
Group | Group removed | System Hook | TheCodingMachine\GitlabHook\Model\GroupDestroy |
Group | Group renamed | System Hook | TheCodingMachine\GitlabHook\Model\GroupRename |
Group | New Group Member | System Hook | TheCodingMachine\GitlabHook\Model\UserGroupAdd |
Group | Group Member Removed | System Hook | TheCodingMachine\GitlabHook\Model\UserGroupRemove |
Group | Push events | System Hook | TheCodingMachine\GitlabHook\Model\Push |
Group | Tag events | System Hook | TheCodingMachine\GitlabHook\Model\Tag |
Group | Merge request events | System Hook | TheCodingMachine\GitlabHook\Model\MergeRequest |
Group | Repository Update events | System Hook | TheCodingMachine\GitlabHook\Model\RepositoryUpdate |
Example
Listener implementation
Use without middleware
Use a middleware
All versions of gitlab-hook-middleware with dependencies
thecodingmachine/funky Version ^1
psr/http-server-middleware Version ^1
psr/http-server-handler Version ^1
psr/http-message Version ^1
psr/log Version ^1
psr/container Version ^1
zendframework/zend-diactoros Version ^1.8.5