-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | A Haskell library for the GitLab web API -- -- This Haskell library queries and updates the database of a GitLab -- instance using the GitLab web API: -- https://docs.gitlab.com/ee/api/ -- -- It also features an API for writing Gitlab file hook applications -- -- Run all GitLab actions with runGitLab: -- --
--   runGitLab :: (MonadUnliftIO m, MonadIO m)
--    => GitLabServerConfig -- ^ the GitLab server details
--    -> GitLab m a         -- ^ the GitLab action
--    -> m a
--   
-- -- For example: -- --
--   myProjects <- runGitLab
--        (defaultGitLabServer
--            { url = "https://gitlab.example.com"
--            , token="my_token"} )
--        (searchUser "joe" >>= userProjects . fromJust)
--   
-- -- Which uses the functions: -- --
--   searchUser   :: Text -> GitLab m (Maybe User)
--   userProjects :: User -> GitLab m (Maybe [Project])
--   
-- -- This library can also be used to develop rule based GitLab file hooks -- that react in real time to GitLab events with: -- --
--   receive :: [Rule] -> GitLab ()
--   
-- --
--   class (FromJSON a) => SystemHook a where
--     match   :: String -> (a -> GitLab ()) -> Rule
--     matchIf :: String -> (a -> GitLab Bool) -> (a -> GitLab ()) -> Rule
--   
-- -- For more details about the file hooks support: -- https://www.macs.hw.ac.uk/~rs46/posts/2020-06-06-gitlab-system-hooks.html -- -- Unsurprisingly, this library is maintained on GitLab: -- https://gitlab.com/robstewart57/gitlab-haskell @package gitlab-haskell @version 0.2.2 module GitLab.Types -- | type synonym for all GitLab actions. type GitLab a = ReaderT GitLabState IO a -- | state used by GitLab actions, used internally. data GitLabState GitLabState :: GitLabServerConfig -> Manager -> GitLabState [serverCfg] :: GitLabState -> GitLabServerConfig [httpManager] :: GitLabState -> Manager -- | configuration data specific to a GitLab server. data GitLabServerConfig GitLabServerConfig :: Text -> Text -> Int -> Int -> GitLabServerConfig [url] :: GitLabServerConfig -> Text -- | personal access token, see -- https://docs.gitlab.com/ee/user/profile/personal_access_tokens.html [token] :: GitLabServerConfig -> Text -- | milliseconds [timeout] :: GitLabServerConfig -> Int -- | how many times to retry a HTTP request before giving up and returning -- an error. [retries] :: GitLabServerConfig -> Int -- | default settings, the url and token values will need to -- be overwritten. defaultGitLabServer :: GitLabServerConfig -- | archive format for file archives of repositories. See -- getFileArchive in Repositories. data ArchiveFormat -- | ".tar.gz" TarGz :: ArchiveFormat -- | ".tar.bz2" TarBz2 :: ArchiveFormat -- | ".tbz" Tbz :: ArchiveFormat -- | ".tbz2" Tbz2 :: ArchiveFormat -- | ".tb2" Tb2 :: ArchiveFormat -- | ".bz2" Bz2 :: ArchiveFormat -- | ".tar" Tar :: ArchiveFormat -- | ".zip" Zip :: ArchiveFormat -- | member of a project. data Member Member :: Int -> Text -> Text -> Text -> Maybe Text -> Maybe Text -> Int -> Maybe Text -> Member [member_id] :: Member -> Int [member_name] :: Member -> Text [member_username] :: Member -> Text [member_state] :: Member -> Text [member_avatar_uri] :: Member -> Maybe Text [member_web_url] :: Member -> Maybe Text [access_level] :: Member -> Int [expires_at] :: Member -> Maybe Text -- | namespaces. data Namespace Namespace :: Int -> Text -> Text -> Text -> Text -> Maybe Int -> Namespace [namespace_id] :: Namespace -> Int [namespace_name] :: Namespace -> Text [namespace_path] :: Namespace -> Text [kind] :: Namespace -> Text [full_path] :: Namespace -> Text [parent_id] :: Namespace -> Maybe Int -- | links. data Links Links :: Text -> Text -> Text -> Text -> Text -> Text -> Text -> Links [self] :: Links -> Text [issues] :: Links -> Text [merge_requests] :: Links -> Text [repo_branches] :: Links -> Text [link_labels] :: Links -> Text [link_events] :: Links -> Text [members] :: Links -> Text -- | owners. data Owner Ownwer :: Int -> Text -> Text -> Text -> Maybe Text -> Text -> Owner [owner_id] :: Owner -> Int [owner_name] :: Owner -> Text [owner_username] :: Owner -> Text [state] :: Owner -> Text [owner_avatar_url] :: Owner -> Maybe Text [owner_web_url] :: Owner -> Text -- | permissions. data Permissions Permissions :: Maybe Object -> Maybe Object -> Permissions [project_access] :: Permissions -> Maybe Object [group_access] :: Permissions -> Maybe Object -- | alias for project id type ProjectId = Int -- | projects. data Project Project :: Int -> Maybe Text -> Text -> Text -> Text -> Text -> Text -> Maybe Text -> [Text] -> Text -> Text -> Text -> Maybe Text -> Maybe Text -> Int -> Int -> Text -> Namespace -> Maybe Links -> Maybe Bool -> Maybe Text -> Maybe Owner -> Maybe Bool -> Maybe Bool -> Maybe Bool -> Maybe Bool -> Maybe Bool -> Maybe Bool -> Maybe Bool -> Maybe Bool -> Maybe Bool -> Maybe Int -> Maybe Project -> Maybe String -> Maybe Int -> Maybe Bool -> Maybe Text -> Maybe [Object] -> Maybe Bool -> Maybe Bool -> Maybe Bool -> Maybe Bool -> Maybe Text -> Maybe Permissions -> Maybe ProjectStats -> Project [project_id] :: Project -> Int [description] :: Project -> Maybe Text [project_name] :: Project -> Text [name_with_namespace] :: Project -> Text [project_path] :: Project -> Text [project_path_with_namespace] :: Project -> Text [project_created_at] :: Project -> Text [default_branch] :: Project -> Maybe Text [tag_list] :: Project -> [Text] [ssh_url_to_repo] :: Project -> Text [http_url_to_repo] :: Project -> Text [project_web_url] :: Project -> Text [readme_url] :: Project -> Maybe Text [project_avatar_url] :: Project -> Maybe Text [star_count] :: Project -> Int [forks_count] :: Project -> Int [last_activity_at] :: Project -> Text [namespace] :: Project -> Namespace [_links] :: Project -> Maybe Links [archived] :: Project -> Maybe Bool [visibility] :: Project -> Maybe Text [owner] :: Project -> Maybe Owner [resolve_outdated_diff_discussions] :: Project -> Maybe Bool [container_registry_enabled] :: Project -> Maybe Bool [issues_enabled] :: Project -> Maybe Bool [merge_requests_enabled] :: Project -> Maybe Bool [wiki_enabled] :: Project -> Maybe Bool [jobs_enabled] :: Project -> Maybe Bool [snippets_enabled] :: Project -> Maybe Bool [shared_runners_enabled] :: Project -> Maybe Bool [lfs_enabled] :: Project -> Maybe Bool [creator_id] :: Project -> Maybe Int [forked_from_project] :: Project -> Maybe Project [import_status] :: Project -> Maybe String [open_issues_count] :: Project -> Maybe Int [public_jobs] :: Project -> Maybe Bool [ci_config_path] :: Project -> Maybe Text [shared_with_groups] :: Project -> Maybe [Object] [only_allow_merge_if_pipeline_succeeds] :: Project -> Maybe Bool [request_access_enabled] :: Project -> Maybe Bool [only_allow_merge_if_all_discussions_are_resolved] :: Project -> Maybe Bool [printing_merge_request_link_enabled] :: Project -> Maybe Bool [merge_method] :: Project -> Maybe Text [permissions] :: Project -> Maybe Permissions [project_stats] :: Project -> Maybe ProjectStats -- | project statistics. data ProjectStats ProjectStats :: Int -> Int -> Int -> Maybe Int -> Maybe Int -> Maybe Int -> Maybe Int -> ProjectStats [commit_count] :: ProjectStats -> Int [storage_size] :: ProjectStats -> Int [repository_size] :: ProjectStats -> Int [wiki_size] :: ProjectStats -> Maybe Int [lfs_objects_size] :: ProjectStats -> Maybe Int [job_artifacts_size] :: ProjectStats -> Maybe Int [packages_size] :: ProjectStats -> Maybe Int -- | registered users. data User User :: Int -> Text -> Text -> Text -> Maybe Text -> Maybe Text -> User [user_id] :: User -> Int [user_username] :: User -> Text [user_name] :: User -> Text [user_state] :: User -> Text [user_avatar_uri] :: User -> Maybe Text [user_web_url] :: User -> Maybe Text -- | milestones. data Milestone Milestone :: Maybe Int -> Maybe Int -> Text -> MilestoneState -> Maybe UTCTime -> Int -> Maybe UTCTime -> Text -> Int -> UTCTime -> URL -> Milestone [milestone_project_id] :: Milestone -> Maybe Int [milestone_group_id] :: Milestone -> Maybe Int [milestone_description] :: Milestone -> Text [milestone_state] :: Milestone -> MilestoneState [milestone_due_date] :: Milestone -> Maybe UTCTime [milestone_iid] :: Milestone -> Int [milestone_created_at] :: Milestone -> Maybe UTCTime [milestone_title] :: Milestone -> Text [milestone_id] :: Milestone -> Int [milestone_updated_at] :: Milestone -> UTCTime [milestone_web_url] :: Milestone -> URL -- | milestone state. data MilestoneState MSActive :: MilestoneState MSClosed :: MilestoneState -- | time stats. data TimeStats TimeStats :: Int -> Int -> Maybe Int -> Maybe Int -> TimeStats [time_estimate] :: TimeStats -> Int [total_time_spent] :: TimeStats -> Int [humane_time_estimate] :: TimeStats -> Maybe Int [human_total_time_spent] :: TimeStats -> Maybe Int -- | alias for issue id type IssueId = Int -- | project issues. data Issue Issue :: Text -> Maybe Text -> User -> Maybe Milestone -> ProjectId -> Maybe [User] -> Maybe User -> Text -> Maybe Text -> Maybe User -> IssueId -> Text -> Text -> Int -> [Text] -> Int -> Int -> Int -> Maybe Text -> Text -> Bool -> Maybe Text -> Maybe Bool -> TimeStats -> Issue [issue_state] :: Issue -> Text [issue_description] :: Issue -> Maybe Text [issue_author] :: Issue -> User [milestone] :: Issue -> Maybe Milestone [issue_project_id] :: Issue -> ProjectId [assignees] :: Issue -> Maybe [User] [assignee] :: Issue -> Maybe User [updated_at] :: Issue -> Text [closed_at] :: Issue -> Maybe Text [closed_by] :: Issue -> Maybe User [issue_id] :: Issue -> IssueId [issue_title] :: Issue -> Text [issue_created_at] :: Issue -> Text [iid] :: Issue -> Int [issue_labels] :: Issue -> [Text] [upvotes] :: Issue -> Int [downvotes] :: Issue -> Int [user_notes_count] :: Issue -> Int [issue_due_date] :: Issue -> Maybe Text [issue_web_url] :: Issue -> Text [confidential] :: Issue -> Bool [weight] :: Issue -> Maybe Text [discussion_locked] :: Issue -> Maybe Bool [time_stats] :: Issue -> TimeStats -- | project pipelines data Pipeline Pipeline :: Int -> Text -> Text -> Text -> Maybe Text -> Pipeline [pipeline_id] :: Pipeline -> Int [sha] :: Pipeline -> Text [pipeline_ref] :: Pipeline -> Text [pipeline_status] :: Pipeline -> Text [pipeline_web_url] :: Pipeline -> Maybe Text -- | code commits. data Commit Commit :: Text -> Text -> Text -> Text -> Text -> Text -> Text -> Text -> Text -> Text -> Text -> Maybe [String] -> Maybe Pipeline -> Maybe CommitStats -> Maybe Text -> Commit [commit_id] :: Commit -> Text [short_id] :: Commit -> Text [title] :: Commit -> Text [author_name] :: Commit -> Text [author_email] :: Commit -> Text [authored_date] :: Commit -> Text [committer_name] :: Commit -> Text [committer_email] :: Commit -> Text [committed_date] :: Commit -> Text [commit_created_at] :: Commit -> Text [message] :: Commit -> Text [commit_parent_ids] :: Commit -> Maybe [String] [last_pipeline] :: Commit -> Maybe Pipeline [commit_stats] :: Commit -> Maybe CommitStats [commit_status] :: Commit -> Maybe Text -- | summary of a code commit for TODOs. data CommitTodo CommitTodo :: Text -> Text -> Text -> Maybe [String] -> CommitTodo [todo_commit_id] :: CommitTodo -> Text [todo_commit_short_id] :: CommitTodo -> Text [todo_commit_created_at] :: CommitTodo -> Text [todo_parent_ids] :: CommitTodo -> Maybe [String] -- | commit stats. data CommitStats Stats :: Int -> Int -> Int -> CommitStats [additions] :: CommitStats -> Int [deletions] :: CommitStats -> Int [total] :: CommitStats -> Int -- | diff between two commits. data Diff Diff :: Text -> Text -> Text -> Maybe Text -> Maybe Text -> Bool -> Bool -> Bool -> Diff [diff] :: Diff -> Text [new_path] :: Diff -> Text [old_path] :: Diff -> Text [a_mode] :: Diff -> Maybe Text [b_mode] :: Diff -> Maybe Text [new_file] :: Diff -> Bool [renamed_file] :: Diff -> Bool [deleted_file] :: Diff -> Bool -- | repositories. data Repository Repository :: Text -> Text -> Text -> Text -> Text -> Repository [repository_id] :: Repository -> Text [repository_name] :: Repository -> Text [repository_type] :: Repository -> Text [repository_path] :: Repository -> Text [mode] :: Repository -> Text -- | jobs. data Job Job :: Commit -> Maybe Text -> Text -> Text -> Text -> Double -> Maybe Text -> Int -> Text -> Pipeline -> Text -> [Artifact] -> Text -> Text -> Bool -> Text -> User -> Job [job_commit] :: Job -> Commit [job_coverage] :: Job -> Maybe Text [job_created_at] :: Job -> Text [job_started_at] :: Job -> Text [job_finished_at] :: Job -> Text [job_duration] :: Job -> Double [job_artifacts_expire_at] :: Job -> Maybe Text [job_id] :: Job -> Int [job_name] :: Job -> Text [job_pipeline] :: Job -> Pipeline [job_ref] :: Job -> Text [job_artifacts] :: Job -> [Artifact] [job_stage] :: Job -> Text [job_status] :: Job -> Text [job_tag] :: Job -> Bool [job_web_url] :: Job -> Text [job_user] :: Job -> User -- | artifacts. data Artifact Artifact :: Text -> Int -> Text -> Maybe Text -> Artifact [file_type] :: Artifact -> Text [size] :: Artifact -> Int [filename] :: Artifact -> Text [file_format] :: Artifact -> Maybe Text -- | groups. data Group Group :: Int -> Text -> Text -> Text -> Text -> Bool -> Maybe Text -> Text -> Bool -> Text -> Text -> Maybe Int -> Maybe Int -> Group [group_id] :: Group -> Int [group_name] :: Group -> Text [group_path] :: Group -> Text [group_description] :: Group -> Text [group_visibility] :: Group -> Text [group_lfs_enabled] :: Group -> Bool [group_avatar_url] :: Group -> Maybe Text [group_web_url] :: Group -> Text [group_request_access_enabled] :: Group -> Bool [group_full_name] :: Group -> Text [group_full_path] :: Group -> Text [group_file_template_project_id] :: Group -> Maybe Int [group_parent_id] :: Group -> Maybe Int -- | response to sharing a project with a group. data GroupShare GroupShare :: Int -> Int -> Int -> Int -> Maybe Text -> GroupShare [share_id] :: GroupShare -> Int [share_project_id] :: GroupShare -> Int [share_group_id] :: GroupShare -> Int [share_group_access] :: GroupShare -> Int [share_expires_at] :: GroupShare -> Maybe Text -- | code branches. data Branch Branch :: Text -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Commit -> Branch [branch_name] :: Branch -> Text [merged] :: Branch -> Bool [protected] :: Branch -> Bool [branch_default] :: Branch -> Bool [developers_can_push] :: Branch -> Bool [developers_can_merge] :: Branch -> Bool [can_push] :: Branch -> Bool [branch_commit] :: Branch -> Commit -- | files in a repository. data RepositoryFile RepositoryFile :: Text -> Text -> Int -> Text -> Text -> Text -> Text -> Text -> Text -> Text -> RepositoryFile [repository_file_file_name] :: RepositoryFile -> Text [repository_file_file_path] :: RepositoryFile -> Text [repository_file_size] :: RepositoryFile -> Int [encoding] :: RepositoryFile -> Text [content] :: RepositoryFile -> Text [content_sha256] :: RepositoryFile -> Text [ref] :: RepositoryFile -> Text [blob_id] :: RepositoryFile -> Text [repository_file_commit_id] :: RepositoryFile -> Text [last_commit_id] :: RepositoryFile -> Text -- | project merge requests. data MergeRequest MergeRequest :: Int -> Int -> Int -> Text -> Text -> Text -> Maybe User -> Maybe Text -> Maybe User -> Maybe Text -> Text -> Text -> Text -> Text -> Int -> Int -> User -> Maybe User -> Int -> Int -> [Text] -> Bool -> Maybe Milestone -> Bool -> Text -> Text -> Maybe Text -> Int -> Maybe Bool -> Maybe Bool -> Maybe Bool -> Maybe Bool -> Maybe Bool -> Text -> TimeStats -> Bool -> Maybe Int -> Maybe Pipeline -> Maybe Int -> Maybe Bool -> Bool -> Maybe Bool -> Maybe Bool -> MergeRequest [merge_request_id] :: MergeRequest -> Int [merge_request_iid] :: MergeRequest -> Int [merge_request_project_id] :: MergeRequest -> Int [merge_request_title] :: MergeRequest -> Text [merge_request_description] :: MergeRequest -> Text [merge_request_state] :: MergeRequest -> Text [merge_request_merged_by] :: MergeRequest -> Maybe User [merge_request_merged_at] :: MergeRequest -> Maybe Text [merge_request_closed_by] :: MergeRequest -> Maybe User [merge_request_closed_at] :: MergeRequest -> Maybe Text [merge_request_created_at] :: MergeRequest -> Text [merge_request_updated_at] :: MergeRequest -> Text [merge_request_target_branch] :: MergeRequest -> Text [merge_request_source_branch] :: MergeRequest -> Text [merge_request_upvotes] :: MergeRequest -> Int [merge_request_downvotes] :: MergeRequest -> Int [merge_request_author] :: MergeRequest -> User [merge_request_assignee] :: MergeRequest -> Maybe User [merge_request_source_project_id] :: MergeRequest -> Int [merge_request_target_project_id] :: MergeRequest -> Int [merge_request_labels] :: MergeRequest -> [Text] [merge_request_work_in_progress] :: MergeRequest -> Bool [merge_request_milestone] :: MergeRequest -> Maybe Milestone [merge_request_merge_when_pipeline_succeeds] :: MergeRequest -> Bool [merge_request_merge_status] :: MergeRequest -> Text [merge_request_sha] :: MergeRequest -> Text [merge_request_merge_commit_sha] :: MergeRequest -> Maybe Text [merge_request_user_notes_count] :: MergeRequest -> Int [merge_request_discussion_locked] :: MergeRequest -> Maybe Bool [merge_request_should_remove_source_branch] :: MergeRequest -> Maybe Bool [merge_request_force_remove_source_branch] :: MergeRequest -> Maybe Bool [merge_request_allow_collaboration] :: MergeRequest -> Maybe Bool [merge_request_allow_maintainer_to_push] :: MergeRequest -> Maybe Bool [merge_request_web_url] :: MergeRequest -> Text [merge_request_time_stats] :: MergeRequest -> TimeStats [merge_request_squash] :: MergeRequest -> Bool [merge_request_changes_count] :: MergeRequest -> Maybe Int [merge_request_pipeline] :: MergeRequest -> Maybe Pipeline [merge_request_diverged_commits_count] :: MergeRequest -> Maybe Int [merge_request_rebase_in_progress] :: MergeRequest -> Maybe Bool [merge_request_has_conflicts] :: MergeRequest -> Bool [merge_request_blocking_discussions_resolved] :: MergeRequest -> Maybe Bool [merge_request_approvals_before_merge] :: MergeRequest -> Maybe Bool -- | TODOs. data Todo Todo :: Int -> TodoProject -> User -> TodoAction -> TodoTarget -> URL -> Text -> TodoState -> UTCTime -> Todo [todo_id] :: Todo -> Int [todo_project] :: Todo -> TodoProject [todo_author] :: Todo -> User [todo_action_name] :: Todo -> TodoAction [todo_target] :: Todo -> TodoTarget [todo_target_url] :: Todo -> URL [todo_body] :: Todo -> Text [todo_state] :: Todo -> TodoState [todo_created_at] :: Todo -> UTCTime -- | A project TODO. data TodoProject TP :: Int -> Text -> Text -> Text -> Text -> Text -> UTCTime -> TodoProject [tp_id] :: TodoProject -> Int [tp_description] :: TodoProject -> Text [tp_name] :: TodoProject -> Text [tp_name_with_namespace] :: TodoProject -> Text [tp_path] :: TodoProject -> Text [tp_path_with_namespace] :: TodoProject -> Text [tp_created_at] :: TodoProject -> UTCTime -- | TODO actions. data TodoAction TAAssigned :: TodoAction TAMentioned :: TodoAction TABuildFailed :: TodoAction TAMarked :: TodoAction TAApprovalRequired :: TodoAction TAUnmergeable :: TodoAction TADirectlyAddressed :: TodoAction -- | TODO targets. data TodoTarget TTIssue :: Issue -> TodoTarget TTMergeRequest :: MergeRequest -> TodoTarget TTCommit :: CommitTodo -> TodoTarget -- | TODO states. data TodoState TSPending :: TodoState TSDone :: TodoState -- | version of the GitLab instance. data Version Version :: Text -> Text -> Version [version] :: Version -> Text [revision] :: Version -> Text -- | URL is a synonym for Text. type URL = Text -- | An edit issue request. data EditIssueReq EditIssueReq :: ProjectId -> IssueId -> Maybe Text -> Maybe Text -> Maybe Bool -> Maybe [Int] -> Maybe Int -> Maybe [Text] -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Int -> Maybe Bool -> Maybe Int -> Maybe Int -> EditIssueReq [edit_issue_id] :: EditIssueReq -> ProjectId [edit_issue_issue_iid] :: EditIssueReq -> IssueId [edit_issue_title] :: EditIssueReq -> Maybe Text [edit_issue_description] :: EditIssueReq -> Maybe Text [edit_issue_confidential] :: EditIssueReq -> Maybe Bool [edit_issue_assignee_ids] :: EditIssueReq -> Maybe [Int] [edit_issue_milestone_id] :: EditIssueReq -> Maybe Int [edit_issue_labels] :: EditIssueReq -> Maybe [Text] [edit_issue_state_event] :: EditIssueReq -> Maybe Text [edit_issue_updated_at] :: EditIssueReq -> Maybe Text [edit_issue_due_date] :: EditIssueReq -> Maybe Text [edit_issue_weight] :: EditIssueReq -> Maybe Int [edit_issue_discussion_locked] :: EditIssueReq -> Maybe Bool [edit_issue_epic_id] :: EditIssueReq -> Maybe Int [edit_issue_epic_iid] :: EditIssueReq -> Maybe Int instance GHC.Show.Show GitLab.Types.EditIssueReq instance GHC.Generics.Generic GitLab.Types.EditIssueReq instance GHC.Show.Show GitLab.Types.Version instance GHC.Generics.Generic GitLab.Types.Version instance GHC.Show.Show GitLab.Types.Todo instance GHC.Show.Show GitLab.Types.TodoProject instance GHC.Generics.Generic GitLab.Types.TodoProject instance GHC.Show.Show GitLab.Types.TodoState instance GHC.Show.Show GitLab.Types.TodoTarget instance GHC.Show.Show GitLab.Types.Issue instance GHC.Generics.Generic GitLab.Types.Issue instance GHC.Show.Show GitLab.Types.MergeRequest instance GHC.Generics.Generic GitLab.Types.MergeRequest instance GHC.Show.Show GitLab.Types.Milestone instance GHC.Generics.Generic GitLab.Types.Milestone instance GHC.Show.Show GitLab.Types.TodoAction instance GHC.Show.Show GitLab.Types.RepositoryFile instance GHC.Generics.Generic GitLab.Types.RepositoryFile instance GHC.Show.Show GitLab.Types.Branch instance GHC.Generics.Generic GitLab.Types.Branch instance GHC.Show.Show GitLab.Types.GroupShare instance GHC.Generics.Generic GitLab.Types.GroupShare instance GHC.Show.Show GitLab.Types.Group instance GHC.Generics.Generic GitLab.Types.Group instance GHC.Show.Show GitLab.Types.Job instance GHC.Generics.Generic GitLab.Types.Job instance GHC.Show.Show GitLab.Types.Artifact instance GHC.Generics.Generic GitLab.Types.Artifact instance GHC.Show.Show GitLab.Types.Repository instance GHC.Generics.Generic GitLab.Types.Repository instance GHC.Show.Show GitLab.Types.Diff instance GHC.Generics.Generic GitLab.Types.Diff instance GHC.Show.Show GitLab.Types.Commit instance GHC.Generics.Generic GitLab.Types.Commit instance GHC.Show.Show GitLab.Types.CommitStats instance GHC.Generics.Generic GitLab.Types.CommitStats instance GHC.Show.Show GitLab.Types.CommitTodo instance GHC.Generics.Generic GitLab.Types.CommitTodo instance GHC.Show.Show GitLab.Types.Pipeline instance GHC.Generics.Generic GitLab.Types.Pipeline instance GHC.Show.Show GitLab.Types.TimeStats instance GHC.Generics.Generic GitLab.Types.TimeStats instance GHC.Show.Show GitLab.Types.MilestoneState instance GHC.Show.Show GitLab.Types.User instance GHC.Generics.Generic GitLab.Types.User instance GHC.Show.Show GitLab.Types.Project instance GHC.Generics.Generic GitLab.Types.Project instance GHC.Show.Show GitLab.Types.ProjectStats instance GHC.Generics.Generic GitLab.Types.ProjectStats instance GHC.Show.Show GitLab.Types.Permissions instance GHC.Generics.Generic GitLab.Types.Permissions instance GHC.Show.Show GitLab.Types.Owner instance GHC.Generics.Generic GitLab.Types.Owner instance GHC.Show.Show GitLab.Types.Links instance GHC.Generics.Generic GitLab.Types.Links instance GHC.Show.Show GitLab.Types.Namespace instance GHC.Generics.Generic GitLab.Types.Namespace instance GHC.Show.Show GitLab.Types.Member instance GHC.Generics.Generic GitLab.Types.Member instance Data.Aeson.Types.ToJSON.ToJSON GitLab.Types.EditIssueReq instance Data.Aeson.Types.FromJSON.FromJSON GitLab.Types.Version instance Data.Aeson.Types.FromJSON.FromJSON GitLab.Types.Todo instance Data.Aeson.Types.FromJSON.FromJSON GitLab.Types.TodoProject instance Data.Aeson.Types.FromJSON.FromJSON GitLab.Types.TodoState instance Data.Aeson.Types.FromJSON.FromJSON GitLab.Types.Issue instance Data.Aeson.Types.FromJSON.FromJSON GitLab.Types.MergeRequest instance Data.Aeson.Types.FromJSON.FromJSON GitLab.Types.Milestone instance Data.Aeson.Types.FromJSON.FromJSON GitLab.Types.TodoAction instance Data.Aeson.Types.FromJSON.FromJSON GitLab.Types.RepositoryFile instance Data.Aeson.Types.FromJSON.FromJSON GitLab.Types.Branch instance Data.Aeson.Types.FromJSON.FromJSON GitLab.Types.GroupShare instance Data.Aeson.Types.FromJSON.FromJSON GitLab.Types.Group instance Data.Aeson.Types.FromJSON.FromJSON GitLab.Types.Job instance Data.Aeson.Types.FromJSON.FromJSON GitLab.Types.Artifact instance Data.Aeson.Types.FromJSON.FromJSON GitLab.Types.Repository instance Data.Aeson.Types.FromJSON.FromJSON GitLab.Types.Diff instance Data.Aeson.Types.FromJSON.FromJSON GitLab.Types.Commit instance Data.Aeson.Types.FromJSON.FromJSON GitLab.Types.CommitStats instance Data.Aeson.Types.FromJSON.FromJSON GitLab.Types.CommitTodo instance Data.Aeson.Types.FromJSON.FromJSON GitLab.Types.Pipeline instance Data.Aeson.Types.FromJSON.FromJSON GitLab.Types.TimeStats instance Data.Aeson.Types.FromJSON.FromJSON GitLab.Types.MilestoneState instance Data.Aeson.Types.FromJSON.FromJSON GitLab.Types.User instance Data.Aeson.Types.FromJSON.FromJSON GitLab.Types.Project instance Data.Aeson.Types.FromJSON.FromJSON GitLab.Types.ProjectStats instance Data.Aeson.Types.FromJSON.FromJSON GitLab.Types.Permissions instance Data.Aeson.Types.FromJSON.FromJSON GitLab.Types.Owner instance Data.Aeson.Types.FromJSON.FromJSON GitLab.Types.Links instance Data.Aeson.Types.FromJSON.FromJSON GitLab.Types.Namespace instance Data.Aeson.Types.FromJSON.FromJSON GitLab.Types.Member instance GHC.Show.Show GitLab.Types.ArchiveFormat module GitLab.SystemHooks.Types -- | Pattern matching rules on GitLab hook events. data Rule [Match] :: (Typeable a, SystemHook a) => String -> (a -> GitLab ()) -> Rule [MatchIf] :: (Typeable a, SystemHook a) => String -> (a -> GitLab Bool) -> (a -> GitLab ()) -> Rule -- | A typeclass for GitLab hook events. class (FromJSON a) => SystemHook a match :: SystemHook a => String -> (a -> GitLab ()) -> Rule matchIf :: SystemHook a => String -> (a -> GitLab Bool) -> (a -> GitLab ()) -> Rule -- | GitLab project creation. data ProjectCreate ProjectCreate :: Text -> Text -> Text -> Text -> Text -> Text -> Text -> Text -> Int -> Visibility -> ProjectCreate [$sel:projectCreate_created_at:ProjectCreate] :: ProjectCreate -> Text [$sel:projectCreate_updated_at:ProjectCreate] :: ProjectCreate -> Text [$sel:projectCreate_action:ProjectCreate] :: ProjectCreate -> Text [$sel:projectCreate_name:ProjectCreate] :: ProjectCreate -> Text [$sel:projectCreate_owner_email:ProjectCreate] :: ProjectCreate -> Text [$sel:projectCreate_owner_name:ProjectCreate] :: ProjectCreate -> Text [$sel:projectCreate_path:ProjectCreate] :: ProjectCreate -> Text [$sel:projectCreate_path_with_namespace:ProjectCreate] :: ProjectCreate -> Text [$sel:projectCreate_project_id:ProjectCreate] :: ProjectCreate -> Int [$sel:projectCreate_project_visibility:ProjectCreate] :: ProjectCreate -> Visibility -- | Removal of a GitLab removal. data ProjectDestroy ProjectDestroy :: Text -> Text -> Text -> Text -> Text -> Text -> Text -> Text -> Int -> Visibility -> ProjectDestroy [$sel:projectDestroy_created_at:ProjectDestroy] :: ProjectDestroy -> Text [$sel:projectDestroy_updated_at:ProjectDestroy] :: ProjectDestroy -> Text [$sel:projectDestroy_action:ProjectDestroy] :: ProjectDestroy -> Text [$sel:projectDestroy_name:ProjectDestroy] :: ProjectDestroy -> Text [$sel:projectDestroy_owner_email:ProjectDestroy] :: ProjectDestroy -> Text [$sel:projectDestroy_owner_name:ProjectDestroy] :: ProjectDestroy -> Text [$sel:projectDestroy_path:ProjectDestroy] :: ProjectDestroy -> Text [$sel:projectDestroy_path_with_namespace:ProjectDestroy] :: ProjectDestroy -> Text [$sel:projectDestroy_project_id:ProjectDestroy] :: ProjectDestroy -> Int [$sel:projectDestroy_project_visibility:ProjectDestroy] :: ProjectDestroy -> Visibility -- | Renaming of a GitLab project. data ProjectRename ProjectRename :: Text -> Text -> Text -> Text -> Text -> Text -> Int -> Text -> Text -> Visibility -> Text -> ProjectRename [$sel:projectRename_created_at:ProjectRename] :: ProjectRename -> Text [$sel:projectRename_updated_at:ProjectRename] :: ProjectRename -> Text [$sel:projectRename_event_name:ProjectRename] :: ProjectRename -> Text [$sel:projectRename_name:ProjectRename] :: ProjectRename -> Text [$sel:projectRename_path:ProjectRename] :: ProjectRename -> Text [$sel:projectRename_path_with_namespace:ProjectRename] :: ProjectRename -> Text [$sel:projectRename_project_id:ProjectRename] :: ProjectRename -> Int [$sel:projectRename_owner_name:ProjectRename] :: ProjectRename -> Text [$sel:projectRename_owner_email:ProjectRename] :: ProjectRename -> Text [$sel:projectRename_project_visibility:ProjectRename] :: ProjectRename -> Visibility [$sel:projectRename_old_path_with_namespace:ProjectRename] :: ProjectRename -> Text -- | A project has been transferred. data ProjectTransfer ProjectTransfer :: Text -> Text -> Text -> Text -> Text -> Text -> Int -> Text -> Text -> Visibility -> Text -> ProjectTransfer [$sel:projectTransfer_created_at:ProjectTransfer] :: ProjectTransfer -> Text [$sel:projectTransfer_updated_at:ProjectTransfer] :: ProjectTransfer -> Text [$sel:projectTransfer_event_name:ProjectTransfer] :: ProjectTransfer -> Text [$sel:projectTransfer_name:ProjectTransfer] :: ProjectTransfer -> Text [$sel:projectTransfer_path:ProjectTransfer] :: ProjectTransfer -> Text [$sel:projectTransfer_path_with_namespace:ProjectTransfer] :: ProjectTransfer -> Text [$sel:projectTransfer_project_id:ProjectTransfer] :: ProjectTransfer -> Int [$sel:projectTransfer_owner_name:ProjectTransfer] :: ProjectTransfer -> Text [$sel:projectTransfer_owner_email:ProjectTransfer] :: ProjectTransfer -> Text [$sel:projectTransfer_project_visibility:ProjectTransfer] :: ProjectTransfer -> Visibility [$sel:projectTransfer_old_path_with_namespace:ProjectTransfer] :: ProjectTransfer -> Text -- | A project has been updated. data ProjectUpdate ProjectUpdate :: Text -> Text -> Text -> Text -> Text -> Text -> Text -> Text -> Int -> Visibility -> ProjectUpdate [$sel:projectUpdate_created_at:ProjectUpdate] :: ProjectUpdate -> Text [$sel:projectUpdate_updated_at:ProjectUpdate] :: ProjectUpdate -> Text [$sel:projectUpdate_event_name:ProjectUpdate] :: ProjectUpdate -> Text [$sel:projectUpdate_name:ProjectUpdate] :: ProjectUpdate -> Text [$sel:projectUpdate_owner_email:ProjectUpdate] :: ProjectUpdate -> Text [$sel:projectUpdate_owner_name:ProjectUpdate] :: ProjectUpdate -> Text [$sel:projectUpdate_path:ProjectUpdate] :: ProjectUpdate -> Text [$sel:projectUpdate_path_with_namespace:ProjectUpdate] :: ProjectUpdate -> Text [$sel:projectUpdate_project_id:ProjectUpdate] :: ProjectUpdate -> Int [$sel:projectUpdate_project_visibility:ProjectUpdate] :: ProjectUpdate -> Visibility -- | A user has been added to a team. data UserAddToTeam UserAddToTeam :: Text -> Text -> Text -> Text -> Int -> Text -> Text -> Text -> Text -> Text -> Text -> Int -> Visibility -> UserAddToTeam [$sel:userAddTeam_created_at:UserAddToTeam] :: UserAddToTeam -> Text [$sel:userAddTeam_updated_at:UserAddToTeam] :: UserAddToTeam -> Text [$sel:userAddTeam_event_name:UserAddToTeam] :: UserAddToTeam -> Text [$sel:userAddTeam_access_level:UserAddToTeam] :: UserAddToTeam -> Text [$sel:userAddTeam_project_id:UserAddToTeam] :: UserAddToTeam -> Int [$sel:userAddTeam_project_name:UserAddToTeam] :: UserAddToTeam -> Text [$sel:userAddTeam_project_path:UserAddToTeam] :: UserAddToTeam -> Text [$sel:userAddTeam_project_path_with_namespace:UserAddToTeam] :: UserAddToTeam -> Text [$sel:userAddTeam_user_email:UserAddToTeam] :: UserAddToTeam -> Text [$sel:userAddTeam_user_name:UserAddToTeam] :: UserAddToTeam -> Text [$sel:userAddTeam_user_username:UserAddToTeam] :: UserAddToTeam -> Text [$sel:userAddTeam_user_id:UserAddToTeam] :: UserAddToTeam -> Int [$sel:userAddTeam_project_visibility:UserAddToTeam] :: UserAddToTeam -> Visibility -- | A user in a team has been updated. data UserUpdateForTeam UserUpdateForTeam :: Text -> Text -> Text -> Text -> Int -> Text -> Text -> Text -> Text -> Text -> Text -> Int -> Visibility -> UserUpdateForTeam [$sel:userUpdateTeam_created_at:UserUpdateForTeam] :: UserUpdateForTeam -> Text [$sel:userUpdateTeam_updated_at:UserUpdateForTeam] :: UserUpdateForTeam -> Text [$sel:userUpdateTeam_event_name:UserUpdateForTeam] :: UserUpdateForTeam -> Text [$sel:userUpdateTeam_access_level:UserUpdateForTeam] :: UserUpdateForTeam -> Text [$sel:userUpdateTeam_project_id:UserUpdateForTeam] :: UserUpdateForTeam -> Int [$sel:userUpdateTeam_project_name:UserUpdateForTeam] :: UserUpdateForTeam -> Text [$sel:userUpdateTeam_project_path:UserUpdateForTeam] :: UserUpdateForTeam -> Text [$sel:userUpdateTeam_project_path_with_namespace:UserUpdateForTeam] :: UserUpdateForTeam -> Text [$sel:userUpdateTeam_user_email:UserUpdateForTeam] :: UserUpdateForTeam -> Text [$sel:userUpdateTeam_user_name:UserUpdateForTeam] :: UserUpdateForTeam -> Text [$sel:userUpdateTeam_user_username:UserUpdateForTeam] :: UserUpdateForTeam -> Text [$sel:userUpdateTeam_user_id:UserUpdateForTeam] :: UserUpdateForTeam -> Int [$sel:userUpdateTeam_project_visibility:UserUpdateForTeam] :: UserUpdateForTeam -> Visibility -- | A user has been removed from a team. data UserRemoveFromTeam UserRemoveFromTeam :: Text -> Text -> Text -> Text -> Int -> Text -> Text -> Text -> Text -> Text -> Text -> Int -> Visibility -> UserRemoveFromTeam [$sel:userRemoveTeam_created_at:UserRemoveFromTeam] :: UserRemoveFromTeam -> Text [$sel:userRemoveTeam_updated_at:UserRemoveFromTeam] :: UserRemoveFromTeam -> Text [$sel:userRemoveTeam_event_name:UserRemoveFromTeam] :: UserRemoveFromTeam -> Text [$sel:userRemoveTeam_access_level:UserRemoveFromTeam] :: UserRemoveFromTeam -> Text [$sel:userRemoveTeam_project_id:UserRemoveFromTeam] :: UserRemoveFromTeam -> Int [$sel:userRemoveTeam_project_name:UserRemoveFromTeam] :: UserRemoveFromTeam -> Text [$sel:userRemoveTeam_project_path:UserRemoveFromTeam] :: UserRemoveFromTeam -> Text [$sel:userRemoveTeam_project_path_with_namespace:UserRemoveFromTeam] :: UserRemoveFromTeam -> Text [$sel:userRemoveTeam_user_email:UserRemoveFromTeam] :: UserRemoveFromTeam -> Text [$sel:userRemoveTeam_user_name:UserRemoveFromTeam] :: UserRemoveFromTeam -> Text [$sel:userRemoveTeam_user_username:UserRemoveFromTeam] :: UserRemoveFromTeam -> Text [$sel:userRemoveTeam_user_id:UserRemoveFromTeam] :: UserRemoveFromTeam -> Int [$sel:userRemoveTeam_project_visibility:UserRemoveFromTeam] :: UserRemoveFromTeam -> Visibility -- | A user has been created. data UserCreate UserCreate :: Text -> Text -> Text -> Text -> Text -> Text -> Int -> UserCreate [$sel:userCreate_created_at:UserCreate] :: UserCreate -> Text [$sel:userCreate_updated_at:UserCreate] :: UserCreate -> Text [$sel:userCreate_email:UserCreate] :: UserCreate -> Text [$sel:userCreate_event_name:UserCreate] :: UserCreate -> Text [$sel:userCreate_name:UserCreate] :: UserCreate -> Text [$sel:userCreate_username:UserCreate] :: UserCreate -> Text [$sel:userCreate_user_id:UserCreate] :: UserCreate -> Int -- | A user has been removed. data UserRemove UserRemove :: Text -> Text -> Text -> Text -> Text -> Text -> Int -> UserRemove [$sel:userRemove_created_at:UserRemove] :: UserRemove -> Text [$sel:userRemove_updated_at:UserRemove] :: UserRemove -> Text [$sel:userRemove_email:UserRemove] :: UserRemove -> Text [$sel:userRemove_event_name:UserRemove] :: UserRemove -> Text [$sel:userRemove_name:UserRemove] :: UserRemove -> Text [$sel:userRemove_username:UserRemove] :: UserRemove -> Text [$sel:userRemove_user_id:UserRemove] :: UserRemove -> Int -- | A user has failed to log in. data UserFailedLogin UserFailedLogin :: Text -> Text -> Text -> Text -> Text -> Int -> Text -> Text -> UserFailedLogin [$sel:userFailedLogin_event_name:UserFailedLogin] :: UserFailedLogin -> Text [$sel:userFailedLogin_created_at:UserFailedLogin] :: UserFailedLogin -> Text [$sel:userFailedLogin_updated_at:UserFailedLogin] :: UserFailedLogin -> Text [$sel:userFailedLogin_name:UserFailedLogin] :: UserFailedLogin -> Text [$sel:userFailedLogin_email:UserFailedLogin] :: UserFailedLogin -> Text [$sel:userFailedLogin_user_id:UserFailedLogin] :: UserFailedLogin -> Int [$sel:userFailedLogin_username:UserFailedLogin] :: UserFailedLogin -> Text [$sel:userFailedLogin_state:UserFailedLogin] :: UserFailedLogin -> Text -- | A user has been renamed. data UserRename UserRename :: Text -> Text -> Text -> Text -> Text -> Int -> Text -> Text -> UserRename [$sel:userRename_event_name:UserRename] :: UserRename -> Text [$sel:userRename_created_at:UserRename] :: UserRename -> Text [$sel:userRename_updated_at:UserRename] :: UserRename -> Text [$sel:userRename_name:UserRename] :: UserRename -> Text [$sel:userRename_email:UserRename] :: UserRename -> Text [$sel:userRename_user_id:UserRename] :: UserRename -> Int [$sel:userRename_username:UserRename] :: UserRename -> Text [$sel:userRename_old_username:UserRename] :: UserRename -> Text -- | A key has been created. data KeyCreate KeyCreate :: Text -> Text -> Text -> Text -> Text -> Int -> KeyCreate [$sel:keyCreate_event_name:KeyCreate] :: KeyCreate -> Text [$sel:keyCreate_created_at:KeyCreate] :: KeyCreate -> Text [$sel:keyCreate_updated_at:KeyCreate] :: KeyCreate -> Text [$sel:keyCreate_username:KeyCreate] :: KeyCreate -> Text [$sel:keyCreate_key:KeyCreate] :: KeyCreate -> Text [$sel:keyCreate_id:KeyCreate] :: KeyCreate -> Int -- | A key has been removed. data KeyRemove KeyRemove :: Text -> Text -> Text -> Text -> Text -> Int -> KeyRemove [$sel:keyRemove_event_name:KeyRemove] :: KeyRemove -> Text [$sel:keyRemove_created_at:KeyRemove] :: KeyRemove -> Text [$sel:keyRemove_updated_at:KeyRemove] :: KeyRemove -> Text [$sel:keyRemove_username:KeyRemove] :: KeyRemove -> Text [$sel:keyRemove_key:KeyRemove] :: KeyRemove -> Text [$sel:keyRemove_id:KeyRemove] :: KeyRemove -> Int -- | A group has been created. data GroupCreate GroupCreate :: Text -> Text -> Text -> Text -> Maybe Text -> Maybe Text -> Text -> Int -> GroupCreate [$sel:groupCreate_created_at:GroupCreate] :: GroupCreate -> Text [$sel:groupCreate_updated_at:GroupCreate] :: GroupCreate -> Text [$sel:groupCreate_event_name:GroupCreate] :: GroupCreate -> Text [$sel:groupCreate_name:GroupCreate] :: GroupCreate -> Text [$sel:groupCreate_owner_email:GroupCreate] :: GroupCreate -> Maybe Text [$sel:groupCreate_owner_name:GroupCreate] :: GroupCreate -> Maybe Text [$sel:groupCreate_path:GroupCreate] :: GroupCreate -> Text [$sel:groupCreate_group_id:GroupCreate] :: GroupCreate -> Int -- | A group has been removed. data GroupRemove GroupRemove :: Text -> Text -> Text -> Text -> Maybe Text -> Maybe Text -> Text -> Int -> GroupRemove [$sel:groupRemove_created_at:GroupRemove] :: GroupRemove -> Text [$sel:groupRemove_updated_at:GroupRemove] :: GroupRemove -> Text [$sel:groupRemove_event_name:GroupRemove] :: GroupRemove -> Text [$sel:groupRemove_name:GroupRemove] :: GroupRemove -> Text [$sel:groupRemove_owner_email:GroupRemove] :: GroupRemove -> Maybe Text [$sel:groupRemove_owner_name:GroupRemove] :: GroupRemove -> Maybe Text [$sel:groupRemove_path:GroupRemove] :: GroupRemove -> Text [$sel:groupRemove_group_id:GroupRemove] :: GroupRemove -> Int -- | A group has been renamed. data GroupRename GroupRename :: Text -> Text -> Text -> Text -> Text -> Text -> Int -> Maybe Text -> Maybe Text -> Text -> Text -> GroupRename [$sel:groupRename_event_name:GroupRename] :: GroupRename -> Text [$sel:groupRename_created_at:GroupRename] :: GroupRename -> Text [$sel:groupRename_updated_at:GroupRename] :: GroupRename -> Text [$sel:groupRename_name:GroupRename] :: GroupRename -> Text [$sel:groupRename_path:GroupRename] :: GroupRename -> Text [$sel:groupRename_full_path:GroupRename] :: GroupRename -> Text [$sel:groupRename_group_id:GroupRename] :: GroupRename -> Int [$sel:groupRename_owner_name:GroupRename] :: GroupRename -> Maybe Text [$sel:groupRename_owner_email:GroupRename] :: GroupRename -> Maybe Text [$sel:groupRename_old_path:GroupRename] :: GroupRename -> Text [$sel:groupRename_old_full_path:GroupRename] :: GroupRename -> Text -- | A user has been added to a group. data NewGroupMember NewGroupMember :: Text -> Text -> Text -> Text -> Int -> Text -> Text -> Text -> Text -> Text -> Int -> NewGroupMember [$sel:newGroupMember_created_at:NewGroupMember] :: NewGroupMember -> Text [$sel:newGroupMember_updated_at:NewGroupMember] :: NewGroupMember -> Text [$sel:newGroupMember_event_name:NewGroupMember] :: NewGroupMember -> Text [$sel:newGroupMember_group_access:NewGroupMember] :: NewGroupMember -> Text [$sel:newGroupMember_group_id:NewGroupMember] :: NewGroupMember -> Int [$sel:newGroupMember_group_name:NewGroupMember] :: NewGroupMember -> Text [$sel:newGroupMember_group_path:NewGroupMember] :: NewGroupMember -> Text [$sel:newGroupMember_user_email:NewGroupMember] :: NewGroupMember -> Text [$sel:newGroupMember_user_name:NewGroupMember] :: NewGroupMember -> Text [$sel:newGroupMember_user_username:NewGroupMember] :: NewGroupMember -> Text [$sel:newGroupMember_user_id:NewGroupMember] :: NewGroupMember -> Int -- | A user has been removed from a group. data GroupMemberRemove GroupMemberRemove :: Text -> Text -> Text -> Text -> Int -> Text -> Text -> Text -> Text -> Text -> Int -> GroupMemberRemove [$sel:groupMemberRemove_created_at:GroupMemberRemove] :: GroupMemberRemove -> Text [$sel:groupMemberRemove_updated_at:GroupMemberRemove] :: GroupMemberRemove -> Text [$sel:groupMemberRemove_event_name:GroupMemberRemove] :: GroupMemberRemove -> Text [$sel:groupMemberRemove_group_access:GroupMemberRemove] :: GroupMemberRemove -> Text [$sel:groupMemberRemove_group_id:GroupMemberRemove] :: GroupMemberRemove -> Int [$sel:groupMemberRemove_group_name:GroupMemberRemove] :: GroupMemberRemove -> Text [$sel:groupMemberRemove_group_path:GroupMemberRemove] :: GroupMemberRemove -> Text [$sel:groupMemberRemove_user_email:GroupMemberRemove] :: GroupMemberRemove -> Text [$sel:groupMemberRemove_user_name:GroupMemberRemove] :: GroupMemberRemove -> Text [$sel:groupMemberRemove_user_username:GroupMemberRemove] :: GroupMemberRemove -> Text [$sel:groupMemberRemove_user_id:GroupMemberRemove] :: GroupMemberRemove -> Int -- | A group member has been updated. data GroupMemberUpdate GroupMemberUpdate :: Text -> Text -> Text -> Text -> Int -> Text -> Text -> Text -> Text -> Text -> Int -> GroupMemberUpdate [$sel:groupMemberUpdate_created_at:GroupMemberUpdate] :: GroupMemberUpdate -> Text [$sel:groupMemberUpdate_updated_at:GroupMemberUpdate] :: GroupMemberUpdate -> Text [$sel:groupMemberUpdate_event_name:GroupMemberUpdate] :: GroupMemberUpdate -> Text [$sel:groupMemberUpdate_group_access:GroupMemberUpdate] :: GroupMemberUpdate -> Text [$sel:groupMemberUpdate_group_id:GroupMemberUpdate] :: GroupMemberUpdate -> Int [$sel:groupMemberUpdate_group_name:GroupMemberUpdate] :: GroupMemberUpdate -> Text [$sel:groupMemberUpdate_group_path:GroupMemberUpdate] :: GroupMemberUpdate -> Text [$sel:groupMemberUpdate_user_email:GroupMemberUpdate] :: GroupMemberUpdate -> Text [$sel:groupMemberUpdate_user_name:GroupMemberUpdate] :: GroupMemberUpdate -> Text [$sel:groupMemberUpdate_user_username:GroupMemberUpdate] :: GroupMemberUpdate -> Text [$sel:groupMemberUpdate_user_id:GroupMemberUpdate] :: GroupMemberUpdate -> Int -- | Commits have been pushed to the server. data Push Push :: Text -> Text -> Text -> Text -> Text -> Int -> Text -> Text -> Text -> Int -> ProjectEvent -> RepositoryEvent -> [CommitEvent] -> Int -> Push [$sel:push_event_name:Push] :: Push -> Text [$sel:push_before:Push] :: Push -> Text [$sel:push_after:Push] :: Push -> Text [$sel:push_ref:Push] :: Push -> Text [$sel:push_checkout_sha:Push] :: Push -> Text [$sel:push_user_id:Push] :: Push -> Int [$sel:push_user_name:Push] :: Push -> Text [$sel:push_user_email:Push] :: Push -> Text [$sel:push_user_avatar:Push] :: Push -> Text [$sel:push_project_id:Push] :: Push -> Int [$sel:push_project:Push] :: Push -> ProjectEvent [$sel:push_repository:Push] :: Push -> RepositoryEvent [$sel:push_commits:Push] :: Push -> [CommitEvent] [$sel:push_total_commits_count:Push] :: Push -> Int -- | Tags have been pushed to the server. data TagPush TagPush :: Text -> Text -> Text -> Text -> Text -> Int -> Text -> Text -> Int -> ProjectEvent -> RepositoryEvent -> [CommitEvent] -> Int -> TagPush [$sel:tagPush_event_name:TagPush] :: TagPush -> Text [$sel:tagPush_before:TagPush] :: TagPush -> Text [$sel:tagPush_after:TagPush] :: TagPush -> Text [$sel:tagPush_ref:TagPush] :: TagPush -> Text [$sel:tagPush_checkout_sha:TagPush] :: TagPush -> Text [$sel:tagPush_user_id:TagPush] :: TagPush -> Int [$sel:tagPush_user_name:TagPush] :: TagPush -> Text [$sel:tagPush_user_avatar:TagPush] :: TagPush -> Text [$sel:tagPush_project_id:TagPush] :: TagPush -> Int [$sel:tagPush_project:TagPush] :: TagPush -> ProjectEvent [$sel:tagPush_repository:TagPush] :: TagPush -> RepositoryEvent [$sel:tagPush_commits:TagPush] :: TagPush -> [CommitEvent] [$sel:tagPush_total_commits_count:TagPush] :: TagPush -> Int -- | A project event. data ProjectEvent ProjectEvent :: Text -> Text -> Text -> Maybe Text -> Text -> Text -> Text -> Visibility -> Text -> Text -> Maybe Text -> Text -> Text -> Text -> ProjectEvent [$sel:projectEvent_name:ProjectEvent] :: ProjectEvent -> Text [$sel:projectEvent_description:ProjectEvent] :: ProjectEvent -> Text [$sel:projectEvent_web_url:ProjectEvent] :: ProjectEvent -> Text [$sel:projectEvent_avatar_url:ProjectEvent] :: ProjectEvent -> Maybe Text [$sel:projectEvent_git_ssh_url:ProjectEvent] :: ProjectEvent -> Text [$sel:projectEvent_git_http_url:ProjectEvent] :: ProjectEvent -> Text [$sel:projectEvent_namespace:ProjectEvent] :: ProjectEvent -> Text [$sel:projectEvent_visibility_level:ProjectEvent] :: ProjectEvent -> Visibility [$sel:projectEvent_path_with_namespace:ProjectEvent] :: ProjectEvent -> Text [$sel:projectEvent_default_branch:ProjectEvent] :: ProjectEvent -> Text [$sel:projectEvent_homepage:ProjectEvent] :: ProjectEvent -> Maybe Text [$sel:projectEvent_url:ProjectEvent] :: ProjectEvent -> Text [$sel:projectEvent_ssh_url:ProjectEvent] :: ProjectEvent -> Text [$sel:projectEvent_http_url:ProjectEvent] :: ProjectEvent -> Text -- | A repository event. data RepositoryEvent RepositoryEvent :: Text -> Text -> Text -> Maybe Text -> Text -> Text -> Visibility -> RepositoryEvent [$sel:repositoryEvent_name:RepositoryEvent] :: RepositoryEvent -> Text [$sel:repositoryEvent_url:RepositoryEvent] :: RepositoryEvent -> Text [$sel:repositoryEvent_description:RepositoryEvent] :: RepositoryEvent -> Text [$sel:repositoryEvent_homepage:RepositoryEvent] :: RepositoryEvent -> Maybe Text [$sel:repositoryEvent_git_http_url:RepositoryEvent] :: RepositoryEvent -> Text [$sel:repositoryEvent_git_ssh_url:RepositoryEvent] :: RepositoryEvent -> Text [$sel:repositoryEvent_visibility_level:RepositoryEvent] :: RepositoryEvent -> Visibility -- | A commit event. data CommitEvent CommitEvent :: Text -> Text -> Text -> Text -> CommitAuthorEvent -> CommitEvent [$sel:commitEvent_id:CommitEvent] :: CommitEvent -> Text [$sel:commitEvent_message:CommitEvent] :: CommitEvent -> Text [$sel:commitEvent_timestamp:CommitEvent] :: CommitEvent -> Text [$sel:commitEvent_url:CommitEvent] :: CommitEvent -> Text [$sel:commitEvent_author:CommitEvent] :: CommitEvent -> CommitAuthorEvent -- | Commit author information. data CommitAuthorEvent CommitAuthorEvent :: Text -> Text -> CommitAuthorEvent [$sel:commitAuthorEvent_name:CommitAuthorEvent] :: CommitAuthorEvent -> Text [$sel:commitAuthorEvent_email:CommitAuthorEvent] :: CommitAuthorEvent -> Text -- | Project visibility. data Visibility Public :: Visibility Private :: Visibility Internal :: Visibility -- | Parse JSON data into GitLab events. parseEvent :: FromJSON a => String -> Maybe a instance GHC.Classes.Eq GitLab.SystemHooks.Types.ProjectCreate instance GHC.Show.Show GitLab.SystemHooks.Types.ProjectCreate instance GHC.Classes.Eq GitLab.SystemHooks.Types.ProjectDestroy instance GHC.Show.Show GitLab.SystemHooks.Types.ProjectDestroy instance GHC.Classes.Eq GitLab.SystemHooks.Types.ProjectRename instance GHC.Show.Show GitLab.SystemHooks.Types.ProjectRename instance GHC.Classes.Eq GitLab.SystemHooks.Types.ProjectTransfer instance GHC.Show.Show GitLab.SystemHooks.Types.ProjectTransfer instance GHC.Classes.Eq GitLab.SystemHooks.Types.ProjectUpdate instance GHC.Show.Show GitLab.SystemHooks.Types.ProjectUpdate instance GHC.Classes.Eq GitLab.SystemHooks.Types.UserAddToTeam instance GHC.Show.Show GitLab.SystemHooks.Types.UserAddToTeam instance GHC.Classes.Eq GitLab.SystemHooks.Types.UserUpdateForTeam instance GHC.Show.Show GitLab.SystemHooks.Types.UserUpdateForTeam instance GHC.Classes.Eq GitLab.SystemHooks.Types.UserRemoveFromTeam instance GHC.Show.Show GitLab.SystemHooks.Types.UserRemoveFromTeam instance GHC.Classes.Eq GitLab.SystemHooks.Types.Push instance GHC.Show.Show GitLab.SystemHooks.Types.Push instance GHC.Classes.Eq GitLab.SystemHooks.Types.TagPush instance GHC.Show.Show GitLab.SystemHooks.Types.TagPush instance GHC.Generics.Generic GitLab.SystemHooks.Types.ProjectEvent instance GHC.Classes.Eq GitLab.SystemHooks.Types.ProjectEvent instance GHC.Show.Show GitLab.SystemHooks.Types.ProjectEvent instance GHC.Generics.Generic GitLab.SystemHooks.Types.RepositoryEvent instance GHC.Classes.Eq GitLab.SystemHooks.Types.RepositoryEvent instance GHC.Show.Show GitLab.SystemHooks.Types.RepositoryEvent instance GHC.Classes.Eq GitLab.SystemHooks.Types.Visibility instance GHC.Show.Show GitLab.SystemHooks.Types.Visibility instance GHC.Classes.Eq GitLab.SystemHooks.Types.ProjectAction instance GHC.Show.Show GitLab.SystemHooks.Types.ProjectAction instance GHC.Generics.Generic GitLab.SystemHooks.Types.CommitEvent instance GHC.Classes.Eq GitLab.SystemHooks.Types.CommitEvent instance GHC.Show.Show GitLab.SystemHooks.Types.CommitEvent instance GHC.Generics.Generic GitLab.SystemHooks.Types.CommitAuthorEvent instance GHC.Classes.Eq GitLab.SystemHooks.Types.CommitAuthorEvent instance GHC.Show.Show GitLab.SystemHooks.Types.CommitAuthorEvent instance GHC.Classes.Eq GitLab.SystemHooks.Types.GroupMemberUpdate instance GHC.Show.Show GitLab.SystemHooks.Types.GroupMemberUpdate instance GHC.Classes.Eq GitLab.SystemHooks.Types.GroupMemberRemove instance GHC.Show.Show GitLab.SystemHooks.Types.GroupMemberRemove instance GHC.Classes.Eq GitLab.SystemHooks.Types.NewGroupMember instance GHC.Show.Show GitLab.SystemHooks.Types.NewGroupMember instance GHC.Classes.Eq GitLab.SystemHooks.Types.GroupRename instance GHC.Show.Show GitLab.SystemHooks.Types.GroupRename instance GHC.Classes.Eq GitLab.SystemHooks.Types.GroupRemove instance GHC.Show.Show GitLab.SystemHooks.Types.GroupRemove instance GHC.Classes.Eq GitLab.SystemHooks.Types.GroupCreate instance GHC.Show.Show GitLab.SystemHooks.Types.GroupCreate instance GHC.Classes.Eq GitLab.SystemHooks.Types.KeyRemove instance GHC.Show.Show GitLab.SystemHooks.Types.KeyRemove instance GHC.Classes.Eq GitLab.SystemHooks.Types.KeyCreate instance GHC.Show.Show GitLab.SystemHooks.Types.KeyCreate instance GHC.Classes.Eq GitLab.SystemHooks.Types.UserRename instance GHC.Show.Show GitLab.SystemHooks.Types.UserRename instance GHC.Classes.Eq GitLab.SystemHooks.Types.UserFailedLogin instance GHC.Show.Show GitLab.SystemHooks.Types.UserFailedLogin instance GHC.Classes.Eq GitLab.SystemHooks.Types.UserRemove instance GHC.Show.Show GitLab.SystemHooks.Types.UserRemove instance GHC.Classes.Eq GitLab.SystemHooks.Types.UserCreate instance GHC.Show.Show GitLab.SystemHooks.Types.UserCreate instance GitLab.SystemHooks.Types.SystemHook GitLab.SystemHooks.Types.ProjectCreate instance Data.Aeson.Types.FromJSON.FromJSON GitLab.SystemHooks.Types.ProjectCreate instance GitLab.SystemHooks.Types.SystemHook GitLab.SystemHooks.Types.ProjectDestroy instance Data.Aeson.Types.FromJSON.FromJSON GitLab.SystemHooks.Types.ProjectDestroy instance GitLab.SystemHooks.Types.SystemHook GitLab.SystemHooks.Types.ProjectRename instance Data.Aeson.Types.FromJSON.FromJSON GitLab.SystemHooks.Types.ProjectRename instance GitLab.SystemHooks.Types.SystemHook GitLab.SystemHooks.Types.ProjectTransfer instance Data.Aeson.Types.FromJSON.FromJSON GitLab.SystemHooks.Types.ProjectTransfer instance GitLab.SystemHooks.Types.SystemHook GitLab.SystemHooks.Types.ProjectUpdate instance Data.Aeson.Types.FromJSON.FromJSON GitLab.SystemHooks.Types.ProjectUpdate instance GitLab.SystemHooks.Types.SystemHook GitLab.SystemHooks.Types.UserAddToTeam instance Data.Aeson.Types.FromJSON.FromJSON GitLab.SystemHooks.Types.UserAddToTeam instance GitLab.SystemHooks.Types.SystemHook GitLab.SystemHooks.Types.UserUpdateForTeam instance Data.Aeson.Types.FromJSON.FromJSON GitLab.SystemHooks.Types.UserUpdateForTeam instance GitLab.SystemHooks.Types.SystemHook GitLab.SystemHooks.Types.UserRemoveFromTeam instance Data.Aeson.Types.FromJSON.FromJSON GitLab.SystemHooks.Types.UserRemoveFromTeam instance GitLab.SystemHooks.Types.SystemHook GitLab.SystemHooks.Types.Push instance Data.Aeson.Types.FromJSON.FromJSON GitLab.SystemHooks.Types.Push instance GitLab.SystemHooks.Types.SystemHook GitLab.SystemHooks.Types.TagPush instance Data.Aeson.Types.FromJSON.FromJSON GitLab.SystemHooks.Types.TagPush instance Data.Aeson.Types.FromJSON.FromJSON GitLab.SystemHooks.Types.ProjectEvent instance Data.Aeson.Types.FromJSON.FromJSON GitLab.SystemHooks.Types.RepositoryEvent instance Data.Aeson.Types.FromJSON.FromJSON GitLab.SystemHooks.Types.Visibility instance Data.Aeson.Types.FromJSON.FromJSON GitLab.SystemHooks.Types.UserCreate instance Data.Aeson.Types.FromJSON.FromJSON GitLab.SystemHooks.Types.UserRemove instance Data.Aeson.Types.FromJSON.FromJSON GitLab.SystemHooks.Types.UserFailedLogin instance Data.Aeson.Types.FromJSON.FromJSON GitLab.SystemHooks.Types.UserRename instance Data.Aeson.Types.FromJSON.FromJSON GitLab.SystemHooks.Types.KeyCreate instance Data.Aeson.Types.FromJSON.FromJSON GitLab.SystemHooks.Types.KeyRemove instance Data.Aeson.Types.FromJSON.FromJSON GitLab.SystemHooks.Types.GroupCreate instance Data.Aeson.Types.FromJSON.FromJSON GitLab.SystemHooks.Types.GroupRemove instance Data.Aeson.Types.FromJSON.FromJSON GitLab.SystemHooks.Types.GroupRename instance Data.Aeson.Types.FromJSON.FromJSON GitLab.SystemHooks.Types.NewGroupMember instance Data.Aeson.Types.FromJSON.FromJSON GitLab.SystemHooks.Types.GroupMemberRemove instance Data.Aeson.Types.FromJSON.FromJSON GitLab.SystemHooks.Types.GroupMemberUpdate instance Data.Aeson.Types.FromJSON.FromJSON GitLab.SystemHooks.Types.ProjectAction instance Data.Aeson.Types.FromJSON.FromJSON GitLab.SystemHooks.Types.CommitEvent instance Data.Aeson.Types.FromJSON.FromJSON GitLab.SystemHooks.Types.CommitAuthorEvent instance GitLab.SystemHooks.Types.SystemHook GitLab.SystemHooks.Types.GroupMemberUpdate instance GitLab.SystemHooks.Types.SystemHook GitLab.SystemHooks.Types.GroupMemberRemove instance GitLab.SystemHooks.Types.SystemHook GitLab.SystemHooks.Types.NewGroupMember instance GitLab.SystemHooks.Types.SystemHook GitLab.SystemHooks.Types.GroupRename instance GitLab.SystemHooks.Types.SystemHook GitLab.SystemHooks.Types.GroupRemove instance GitLab.SystemHooks.Types.SystemHook GitLab.SystemHooks.Types.GroupCreate instance GitLab.SystemHooks.Types.SystemHook GitLab.SystemHooks.Types.KeyRemove instance GitLab.SystemHooks.Types.SystemHook GitLab.SystemHooks.Types.KeyCreate instance GitLab.SystemHooks.Types.SystemHook GitLab.SystemHooks.Types.UserRename instance GitLab.SystemHooks.Types.SystemHook GitLab.SystemHooks.Types.UserFailedLogin instance GitLab.SystemHooks.Types.SystemHook GitLab.SystemHooks.Types.UserRemove instance GitLab.SystemHooks.Types.SystemHook GitLab.SystemHooks.Types.UserCreate module GitLab.SystemHooks.GitLabSystemHooks -- | Attempts to fire each rule in sequence. Reads the JSON data received -- from the GitLab server from standard input. receive :: [Rule] -> GitLab () -- | Attempts to fire each rule in sequence. Reads the JSON data received -- from a function argument. receiveString :: String -> [Rule] -> GitLab () -- | Try to fire a GitLab rule, returns True if the rule fired and -- False if it did not fire. tryFire :: String -> Rule -> GitLab Bool module GitLab.API.Version -- | Get the version of the GitLab server. gitlabVersion :: GitLab (Either Status (Maybe Version)) module GitLab.API.Users -- | all registered users. allUsers :: GitLab [User] -- | searches for a user given a username. Returns Just User if -- the user is found, otherwise Nothing. searchUser :: Text -> GitLab (Maybe User) -- | searches for users given a list of usernames, returns them in -- alphabetical order of their usernames. orderedUsers :: [Text] -> GitLab [User] module GitLab.API.Todos -- | returns all pending todos for the user, as defined by the access -- token. todos :: GitLab [Todo] module GitLab.API.RepositoryFiles -- | Get a list of repository files and directories in a project. repositoryFiles :: Project -> Text -> Text -> GitLab (Either Status (Maybe RepositoryFile)) -- | Get a list of repository files and directories in a project given the -- project's ID. repositoryFiles' :: Int -> Text -> Text -> GitLab (Either Status (Maybe RepositoryFile)) -- | Get raw data for a given file blob hash. repositoryFileBlob :: Int -> Text -> GitLab (Either Status String) module GitLab.API.Repositories -- | returns a list of repository files and directories in a project. repositories :: Project -> GitLab [Repository] -- | returns a list of repository files and directories in a project given -- its project ID. repositories' :: Int -> GitLab (Either Status [Repository]) -- | get a file archive of the repository files. For example: -- --
--   getFileArchive myProject TarGz "/tmp/myProject.tar.gz"
--   
getFileArchive :: Project -> ArchiveFormat -> FilePath -> GitLab (Either Status ()) -- | get a file archive of the repository files as a ByteString. For -- example: -- --
--   getFileArchiveBS myProject TarGz "/tmp/myProject.tar.gz"
--   
getFileArchiveBS :: Project -> ArchiveFormat -> GitLab (Either Status ByteString) -- | get a file archive of the repository files using the project's ID. For -- example: -- --
--   getFileArchive' 3453 Zip "/tmp/myProject.zip"
--   
getFileArchive' :: Int -> ArchiveFormat -> FilePath -> GitLab (Either Status ()) -- | get a file archive of the repository files as a ByteString -- using the project's ID. For example: -- --
--   getFileArchiveBS' 3453 Zip "/tmp/myProject.zip"
--   
getFileArchiveBS' :: Int -> ArchiveFormat -> GitLab (Either Status ByteString) module GitLab.API.Pipelines -- | returns the pipelines for a project. pipelines :: Project -> GitLab [Pipeline] -- | returns the pipelines for a project given its project ID. pipelines' :: Int -> GitLab (Either Status [Pipeline]) module GitLab.API.MergeRequests -- | returns the merge requests for a project. mergeRequests :: Project -> GitLab [MergeRequest] -- | returns the merge requests for a project given its project ID. mergeRequests' :: Int -> GitLab (Either Status [MergeRequest]) -- | Creates a merge request. createMergeRequest :: Project -> Text -> Text -> Int -> Text -> Text -> GitLab (Either Status MergeRequest) -- | Creates a merge request. createMergeRequest' :: Int -> Text -> Text -> Int -> Text -> Text -> GitLab (Either Status MergeRequest) -- | Accepts a merge request. acceptMergeRequest :: Project -> Int -> GitLab (Either Status MergeRequest) -- | Accepts a merge request. acceptMergeRequest' :: Int -> Int -> GitLab (Either Status MergeRequest) module GitLab.API.Members -- | the access levels for project members. See -- https://docs.gitlab.com/ee/user/permissions.html#project-members-permissions data AccessLevel Guest :: AccessLevel Reporter :: AccessLevel Developer :: AccessLevel Maintainer :: AccessLevel Owner :: AccessLevel -- | the members of a project. membersOfProject :: Project -> GitLab [Member] -- | the members of a project given its ID. membersOfProject' :: Int -> GitLab (Either Status [Member]) -- | adds a user to a project with the given access level. Returns 'Right -- Member' for each successful action, otherwise it returns 'Left -- Status'. addMemberToProject :: Project -> AccessLevel -> User -> GitLab (Either Status Member) -- | adds a user to a project with the given access level, given the -- project's ID and the user's ID. Returns Right Member for each -- successful action, otherwise it returns Left Status. addMemberToProject' :: Int -> AccessLevel -> Int -> GitLab (Either Status Member) -- | adds a list of users to a project with the given access level. Returns -- 'Right Member' for each successful action, otherwise it returns 'Left -- Status'. addMembersToProject :: Project -> AccessLevel -> [User] -> GitLab [Either Status Member] -- | adds a list of users to a project with the given access level, given -- the project's ID and the user IDs. Returns Right Member for -- each successful action, otherwise it returns Left Status. addMembersToProject' :: Int -> AccessLevel -> [Int] -> GitLab [Either Status Member] instance GHC.Show.Show GitLab.API.Members.AccessLevel module GitLab.API.Jobs -- | returns all jobs ran on a project. jobs :: Project -> GitLab [Job] -- | returns all jobs ran on a project given its project ID. jobs' :: Int -> GitLab (Either Status [Job]) module GitLab.API.Issues -- | returns all issues against a project. projectOpenedIssues :: Project -> GitLab [Issue] -- | returns all issues against a project given its project ID. projectOpenedIssues' :: Int -> GitLab (Either Status [Issue]) -- | gets all issues create by a user. userIssues :: User -> GitLab [Issue] -- | create a new issue. newIssue :: Project -> Text -> Text -> GitLab (Either Status Issue) -- | create a new issue. newIssue' :: Int -> Text -> Text -> GitLab (Either Status Issue) -- | edits an issue. see -- https://docs.gitlab.com/ee/api/issues.html#edit-issue editIssue :: ProjectId -> IssueId -> EditIssueReq -> GitLab (Either Status Issue) module GitLab.API.Groups -- | gets groups with the given group name or path. -- --
--   projectsWithNameOrPath "group1"
--   
groupsWithNameOrPath :: Text -> GitLab (Either Status [Group]) -- | adds all registered users to a group. addAllUsersToGroup :: Text -> AccessLevel -> GitLab [Either Status Member] -- | adds a user to a group. addUserToGroup :: Text -> AccessLevel -> User -> GitLab (Either Status Member) -- | adds a user with a given user ID to a group. addUserToGroup' :: Text -> AccessLevel -> Int -> GitLab (Either Status Member) -- | adds a list of users to a group. addUsersToGroup :: Text -> AccessLevel -> [User] -> GitLab [Either Status Member] -- | adds a list of users to a group. addUsersToGroup' :: Text -> AccessLevel -> [Text] -> GitLab [Either Status Member] module GitLab.API.Commits -- | returns all commits for a project. projectCommits :: Project -> GitLab [Commit] -- | returns all commits for a project given its project ID. projectCommits' :: Int -> GitLab (Either Status [Commit]) -- | returns a commit for the given project and commit hash, if such a -- commit exists. commitDetails :: Project -> Text -> GitLab (Maybe Commit) -- | returns a commit for the given project ID and commit hash, if such a -- commit exists. commitDetails' :: Int -> Text -> GitLab (Either Status (Maybe Commit)) module GitLab.API.Projects -- | gets all projects. allProjects :: GitLab [Project] -- | gets all forks of a project. Supports use of namespaces. -- --
--   projectForks "project1"
--   projectForks "group1/project1"
--   
projectForks :: Text -> GitLab (Either Status [Project]) -- | searches for a Project with the given project ID, returns -- Nothing if a project with the given ID is not found. searchProjectId :: Int -> GitLab (Either Status (Maybe Project)) -- | gets all projects with the given project name. -- --
--   projectsWithName "project1"
--   
projectsWithName :: Text -> GitLab [Project] -- | gets a project with the given name for the given username. E.g. -- --
--   projectsNamespaceName "user1" "project1"
--   
-- -- looks for "user1/project1" projectsWithNameAndUser :: Text -> Text -> GitLab (Either Status (Maybe Project)) -- | returns True if a project has multiple committers, according to -- the email addresses of the commits. multipleCommitters :: Project -> GitLab Bool -- | gets the email addresses in the author information in all commit for a -- project. commitsEmailAddresses :: Project -> GitLab [Text] -- | gets the email addresses in the author information in all commit for a -- project defined by the project's ID. commitsEmailAddresses' :: Int -> GitLab (Either Status [Text]) -- | gets all projects for a user given their username. -- --
--   userProjects "harry"
--   
userProjects' :: Text -> GitLab (Maybe [Project]) -- | gets all projects for a user. -- --
--   userProjects myUser
--   
userProjects :: User -> GitLab (Maybe [Project]) -- | gets the Project against which the given Issue was -- created. projectOfIssue :: Issue -> GitLab Project -- | finds all issues created by a user. -- --
--   issuesCreatedByUser "user1"
--   
-- -- returns a (user,projects) tuple, where user is the User found -- for the given searched username, and a list of Projects that -- the user has created issues for. issuesCreatedByUser :: Text -> GitLab (Maybe (User, [Project])) -- | searches for all projects with the given name, and returns a list of -- triples of: 1) the found project, 2) the list of issues for the found -- projects, and 3) a list of users who've created issues. issuesOnForks :: Text -> GitLab [(Project, [Issue], [User])] -- | returns a (namespace,members) tuple for the given Project, -- where namespace is the namespace of the project e.g. "user1/project1", -- and members is a list of (username,name) tuples about all members of -- the project. projectMemebersCount :: Project -> GitLab (Text, [(Text, Text)]) -- | returns True is the last commit for a project passes all -- continuous integration tests. projectCISuccess :: Project -> GitLab Bool -- | searches for a username, and returns a user ID for that user, or -- Nothing if a user cannot be found. namespacePathToUserId :: Text -> GitLab (Maybe Int) -- | gets all diffs in a project for a given commit SHA. projectDiffs :: Project -> Text -> GitLab (Either Status [Diff]) -- | gets all diffs in a project for a given project ID, for a given commit -- SHA. projectDiffs' :: Int -> Text -> GitLab (Either Status [Diff]) -- | share a project with a group. shareProjectWithGroup :: Int -> Int -> AccessLevel -> GitLab (Either Status GroupShare) module GitLab.API.Branches -- | Get a list of repository branches from a project, sorted by name -- alphabetically. branches :: Project -> GitLab [Branch] -- | Get a list of repository branches from a project given its project ID, -- sorted by name alphabetically. branches' :: Int -> GitLab (Either Status [Branch]) module GitLab -- | runs a GitLab action. -- -- Internally, this creates a single Manager, whichs keeps track -- of open connections for keep-alive and which is shared between -- multiple threads and requests. -- -- An example of its use is: -- --
--   projectsWithIssuesEnabled :: IO [Project]
--   projectsWithIssuesEnabled =
--     runGitLabyConfig $ filter (issueEnabled . issues_enabled) <$> allProjects
--     where
--       myConfig = defaultGitLabServer
--           { url = "https://gitlab.example.com"
--           , token = "my_access_token" }
--       issueEnabled Nothing = False
--       issueEnabled (Just b) = b
--   
runGitLab :: GitLabServerConfig -> GitLab a -> IO a -- | Only useful for testing GitLab actions that lift IO actions with -- liftIO. Cannot speak to a GitLab server. Only useful for the -- gitlab-haskell tests. runGitLabDbg :: GitLab a -> IO a -- | The same as runGitLab, except that it also takes a connection -- manager as an argument. runGitLabWithManager :: Manager -> GitLabServerConfig -> GitLab a -> IO a