gitlab-haskell-0.2.1: A Haskell library for the GitLab web API

Copyright(c) Rob Stewart Heriot-Watt University 2020
LicenseBSD3
Maintainerrobstewart57@gmail.com
Stabilitystable
Safe HaskellNone
LanguageHaskell2010

GitLab.SystemHooks.Types

Description

 
Synopsis

Documentation

data Rule where Source #

Pattern matching rules on GitLab hook events.

Constructors

Match :: (Typeable a, SystemHook a) => String -> (a -> GitLab ()) -> Rule 
MatchIf :: (Typeable a, SystemHook a) => String -> (a -> GitLab Bool) -> (a -> GitLab ()) -> Rule 

class FromJSON a => SystemHook a where Source #

A typeclass for GitLab hook events.

Methods

match :: String -> (a -> GitLab ()) -> Rule Source #

matchIf :: String -> (a -> GitLab Bool) -> (a -> GitLab ()) -> Rule Source #

Instances
SystemHook TagPush Source # 
Instance details

Defined in GitLab.SystemHooks.Types

Methods

match :: String -> (TagPush -> GitLab ()) -> Rule Source #

matchIf :: String -> (TagPush -> GitLab Bool) -> (TagPush -> GitLab ()) -> Rule Source #

SystemHook Push Source # 
Instance details

Defined in GitLab.SystemHooks.Types

Methods

match :: String -> (Push -> GitLab ()) -> Rule Source #

matchIf :: String -> (Push -> GitLab Bool) -> (Push -> GitLab ()) -> Rule Source #

SystemHook GroupMemberUpdate Source # 
Instance details

Defined in GitLab.SystemHooks.Types

SystemHook GroupMemberRemove Source # 
Instance details

Defined in GitLab.SystemHooks.Types

SystemHook NewGroupMember Source # 
Instance details

Defined in GitLab.SystemHooks.Types

SystemHook GroupRename Source # 
Instance details

Defined in GitLab.SystemHooks.Types

SystemHook GroupRemove Source # 
Instance details

Defined in GitLab.SystemHooks.Types

SystemHook GroupCreate Source # 
Instance details

Defined in GitLab.SystemHooks.Types

SystemHook KeyRemove Source # 
Instance details

Defined in GitLab.SystemHooks.Types

Methods

match :: String -> (KeyRemove -> GitLab ()) -> Rule Source #

matchIf :: String -> (KeyRemove -> GitLab Bool) -> (KeyRemove -> GitLab ()) -> Rule Source #

SystemHook KeyCreate Source # 
Instance details

Defined in GitLab.SystemHooks.Types

Methods

match :: String -> (KeyCreate -> GitLab ()) -> Rule Source #

matchIf :: String -> (KeyCreate -> GitLab Bool) -> (KeyCreate -> GitLab ()) -> Rule Source #

SystemHook UserRename Source # 
Instance details

Defined in GitLab.SystemHooks.Types

SystemHook UserFailedLogin Source # 
Instance details

Defined in GitLab.SystemHooks.Types

SystemHook UserRemove Source # 
Instance details

Defined in GitLab.SystemHooks.Types

SystemHook UserCreate Source # 
Instance details

Defined in GitLab.SystemHooks.Types

SystemHook UserRemoveFromTeam Source # 
Instance details

Defined in GitLab.SystemHooks.Types

SystemHook UserUpdateForTeam Source # 
Instance details

Defined in GitLab.SystemHooks.Types

SystemHook UserAddToTeam Source # 
Instance details

Defined in GitLab.SystemHooks.Types

SystemHook ProjectUpdate Source # 
Instance details

Defined in GitLab.SystemHooks.Types

SystemHook ProjectTransfer Source # 
Instance details

Defined in GitLab.SystemHooks.Types

SystemHook ProjectRename Source # 
Instance details

Defined in GitLab.SystemHooks.Types

SystemHook ProjectDestroy Source # 
Instance details

Defined in GitLab.SystemHooks.Types

SystemHook ProjectCreate Source # 
Instance details

Defined in GitLab.SystemHooks.Types

data UserRemoveFromTeam Source #

A user has been removed from a team.

data Push Source #

Commits have been pushed to the server.

Instances
Eq Push Source # 
Instance details

Defined in GitLab.SystemHooks.Types

Methods

(==) :: Push -> Push -> Bool #

(/=) :: Push -> Push -> Bool #

Show Push Source # 
Instance details

Defined in GitLab.SystemHooks.Types

Methods

showsPrec :: Int -> Push -> ShowS #

show :: Push -> String #

showList :: [Push] -> ShowS #

FromJSON Push Source # 
Instance details

Defined in GitLab.SystemHooks.Types

SystemHook Push Source # 
Instance details

Defined in GitLab.SystemHooks.Types

Methods

match :: String -> (Push -> GitLab ()) -> Rule Source #

matchIf :: String -> (Push -> GitLab Bool) -> (Push -> GitLab ()) -> Rule Source #

data ProjectEvent Source #

A project event.

Instances
Eq ProjectEvent Source # 
Instance details

Defined in GitLab.SystemHooks.Types

Show ProjectEvent Source # 
Instance details

Defined in GitLab.SystemHooks.Types

Generic ProjectEvent Source # 
Instance details

Defined in GitLab.SystemHooks.Types

Associated Types

type Rep ProjectEvent :: Type -> Type #

FromJSON ProjectEvent Source # 
Instance details

Defined in GitLab.SystemHooks.Types

type Rep ProjectEvent Source # 
Instance details

Defined in GitLab.SystemHooks.Types

type Rep ProjectEvent = D1 (MetaData "ProjectEvent" "GitLab.SystemHooks.Types" "gitlab-haskell-0.2.1-IyZ5C6ZdiAxIx7nQvb388y" False) (C1 (MetaCons "ProjectEvent" PrefixI True) (((S1 (MetaSel (Just "projectEvent_name") NoSourceUnpackedness NoSourceStrictness DecidedStrict) (Rec0 Text) :*: (S1 (MetaSel (Just "projectEvent_description") NoSourceUnpackedness NoSourceStrictness DecidedStrict) (Rec0 Text) :*: S1 (MetaSel (Just "projectEvent_web_url") NoSourceUnpackedness NoSourceStrictness DecidedStrict) (Rec0 Text))) :*: ((S1 (MetaSel (Just "projectEvent_avatar_url") NoSourceUnpackedness NoSourceStrictness DecidedStrict) (Rec0 (Maybe Text)) :*: S1 (MetaSel (Just "projectEvent_git_ssh_url") NoSourceUnpackedness NoSourceStrictness DecidedStrict) (Rec0 Text)) :*: (S1 (MetaSel (Just "projectEvent_git_http_url") NoSourceUnpackedness NoSourceStrictness DecidedStrict) (Rec0 Text) :*: S1 (MetaSel (Just "projectEvent_namespace") NoSourceUnpackedness NoSourceStrictness DecidedStrict) (Rec0 Text)))) :*: ((S1 (MetaSel (Just "projectEvent_visibility_level") NoSourceUnpackedness NoSourceStrictness DecidedStrict) (Rec0 Visibility) :*: (S1 (MetaSel (Just "projectEvent_path_with_namespace") NoSourceUnpackedness NoSourceStrictness DecidedStrict) (Rec0 Text) :*: S1 (MetaSel (Just "projectEvent_default_branch") NoSourceUnpackedness NoSourceStrictness DecidedStrict) (Rec0 Text))) :*: ((S1 (MetaSel (Just "projectEvent_homepage") NoSourceUnpackedness NoSourceStrictness DecidedStrict) (Rec0 (Maybe Text)) :*: S1 (MetaSel (Just "projectEvent_url") NoSourceUnpackedness NoSourceStrictness DecidedStrict) (Rec0 Text)) :*: (S1 (MetaSel (Just "projectEvent_ssh_url") NoSourceUnpackedness NoSourceStrictness DecidedStrict) (Rec0 Text) :*: S1 (MetaSel (Just "projectEvent_http_url") NoSourceUnpackedness NoSourceStrictness DecidedStrict) (Rec0 Text))))))

data RepositoryEvent Source #

A repository event.

Instances
Eq RepositoryEvent Source # 
Instance details

Defined in GitLab.SystemHooks.Types

Show RepositoryEvent Source # 
Instance details

Defined in GitLab.SystemHooks.Types

Generic RepositoryEvent Source # 
Instance details

Defined in GitLab.SystemHooks.Types

Associated Types

type Rep RepositoryEvent :: Type -> Type #

FromJSON RepositoryEvent Source # 
Instance details

Defined in GitLab.SystemHooks.Types

type Rep RepositoryEvent Source # 
Instance details

Defined in GitLab.SystemHooks.Types

type Rep RepositoryEvent = D1 (MetaData "RepositoryEvent" "GitLab.SystemHooks.Types" "gitlab-haskell-0.2.1-IyZ5C6ZdiAxIx7nQvb388y" False) (C1 (MetaCons "RepositoryEvent" PrefixI True) ((S1 (MetaSel (Just "repositoryEvent_name") NoSourceUnpackedness NoSourceStrictness DecidedStrict) (Rec0 Text) :*: (S1 (MetaSel (Just "repositoryEvent_url") NoSourceUnpackedness NoSourceStrictness DecidedStrict) (Rec0 Text) :*: S1 (MetaSel (Just "repositoryEvent_description") NoSourceUnpackedness NoSourceStrictness DecidedStrict) (Rec0 Text))) :*: ((S1 (MetaSel (Just "repositoryEvent_homepage") NoSourceUnpackedness NoSourceStrictness DecidedStrict) (Rec0 (Maybe Text)) :*: S1 (MetaSel (Just "repositoryEvent_git_http_url") NoSourceUnpackedness NoSourceStrictness DecidedStrict) (Rec0 Text)) :*: (S1 (MetaSel (Just "repositoryEvent_git_ssh_url") NoSourceUnpackedness NoSourceStrictness DecidedStrict) (Rec0 Text) :*: S1 (MetaSel (Just "repositoryEvent_visibility_level") NoSourceUnpackedness NoSourceStrictness DecidedStrict) (Rec0 Visibility)))))

data CommitEvent Source #

A commit event.

Instances
Eq CommitEvent Source # 
Instance details

Defined in GitLab.SystemHooks.Types

Show CommitEvent Source # 
Instance details

Defined in GitLab.SystemHooks.Types

Generic CommitEvent Source # 
Instance details

Defined in GitLab.SystemHooks.Types

Associated Types

type Rep CommitEvent :: Type -> Type #

FromJSON CommitEvent Source # 
Instance details

Defined in GitLab.SystemHooks.Types

type Rep CommitEvent Source # 
Instance details

Defined in GitLab.SystemHooks.Types

type Rep CommitEvent = D1 (MetaData "CommitEvent" "GitLab.SystemHooks.Types" "gitlab-haskell-0.2.1-IyZ5C6ZdiAxIx7nQvb388y" False) (C1 (MetaCons "CommitEvent" PrefixI True) ((S1 (MetaSel (Just "commitEvent_id") NoSourceUnpackedness NoSourceStrictness DecidedStrict) (Rec0 Text) :*: S1 (MetaSel (Just "commitEvent_message") NoSourceUnpackedness NoSourceStrictness DecidedStrict) (Rec0 Text)) :*: (S1 (MetaSel (Just "commitEvent_timestamp") NoSourceUnpackedness NoSourceStrictness DecidedStrict) (Rec0 Text) :*: (S1 (MetaSel (Just "commitEvent_url") NoSourceUnpackedness NoSourceStrictness DecidedStrict) (Rec0 Text) :*: S1 (MetaSel (Just "commitEvent_author") NoSourceUnpackedness NoSourceStrictness DecidedStrict) (Rec0 CommitAuthorEvent)))))

data CommitAuthorEvent Source #

Commit author information.

Instances
Eq CommitAuthorEvent Source # 
Instance details

Defined in GitLab.SystemHooks.Types

Show CommitAuthorEvent Source # 
Instance details

Defined in GitLab.SystemHooks.Types

Generic CommitAuthorEvent Source # 
Instance details

Defined in GitLab.SystemHooks.Types

Associated Types

type Rep CommitAuthorEvent :: Type -> Type #

FromJSON CommitAuthorEvent Source # 
Instance details

Defined in GitLab.SystemHooks.Types

type Rep CommitAuthorEvent Source # 
Instance details

Defined in GitLab.SystemHooks.Types

type Rep CommitAuthorEvent = D1 (MetaData "CommitAuthorEvent" "GitLab.SystemHooks.Types" "gitlab-haskell-0.2.1-IyZ5C6ZdiAxIx7nQvb388y" False) (C1 (MetaCons "CommitAuthorEvent" PrefixI True) (S1 (MetaSel (Just "commitAuthorEvent_name") NoSourceUnpackedness NoSourceStrictness DecidedStrict) (Rec0 Text) :*: S1 (MetaSel (Just "commitAuthorEvent_email") NoSourceUnpackedness NoSourceStrictness DecidedStrict) (Rec0 Text)))

data Visibility Source #

Project visibility.

Constructors

Public 
Private 
Internal 

parseEvent :: FromJSON a => String -> Maybe a Source #

Parse JSON data into GitLab events.