-- 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 :: -- => GitLabServerConfig -- ^ the GitLab server details -- -> GitLab a -- ^ the GitLab action -- -> IO 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 (Maybe User) -- userProjects :: User -> GitLab (Maybe [Project]) -- projectCommits :: Project -> GitLab [Commit] ---- -- 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.3.2.0 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 -> Bool -> 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 -- | write system hook events to files in the system temporary directory. [debugSystemHooks] :: GitLabServerConfig -> Bool -- | 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 -> Maybe Text -> Maybe Text -> Text -> Text -> Text -> Text -> Links [self] :: Links -> Text [issues] :: Links -> Maybe Text [merge_requests] :: Links -> Maybe 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 -> Maybe Text -> Maybe MilestoneState -> Maybe Text -> Maybe Int -> Maybe UTCTime -> Text -> Int -> Maybe UTCTime -> Maybe URL -> Milestone [milestone_project_id] :: Milestone -> Maybe Int [milestone_group_id] :: Milestone -> Maybe Int [milestone_description] :: Milestone -> Maybe Text [milestone_state] :: Milestone -> Maybe MilestoneState [milestone_due_date] :: Milestone -> Maybe Text [milestone_iid] :: Milestone -> Maybe Int [milestone_created_at] :: Milestone -> Maybe UTCTime [milestone_title] :: Milestone -> Text [milestone_id] :: Milestone -> Int [milestone_updated_at] :: Milestone -> Maybe UTCTime [milestone_web_url] :: Milestone -> Maybe 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 [human_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 -- | tags. data Tag Tag :: Commit -> Maybe Release -> Text -> Text -> Maybe Text -> Bool -> Tag [tag_commit] :: Tag -> Commit [tag_release] :: Tag -> Maybe Release [tag_name] :: Tag -> Text [tag_target] :: Tag -> Text [tag_message] :: Tag -> Maybe Text [tag_protected] :: Tag -> Bool -- | Release associated with a tag data Release Release :: Text -> Text -> Release [release_tag_name] :: Release -> Text [release_description] :: Release -> Text -- | 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 String -> 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 String [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 -- | Discussions https://docs.gitlab.com/ee/api/discussions.html data Discussion Discussion :: Text -> Bool -> [Note] -> Discussion [discussion_id] :: Discussion -> Text [discussion_individual_note] :: Discussion -> Bool [discussion_notes] :: Discussion -> [Note] -- | Notes data Note Note :: Int -> Maybe Text -> Text -> Maybe Text -> Owner -> Text -> Text -> Bool -> Maybe Int -> Maybe Text -> Maybe Int -> Bool -> Note [note_id] :: Note -> Int [note_type] :: Note -> Maybe Text [note_body] :: Note -> Text [note_attachment] :: Note -> Maybe Text [note_author] :: Note -> Owner [note_created_at] :: Note -> Text [note_updated_at] :: Note -> Text [note_system] :: Note -> Bool [note_noteable_id] :: Note -> Maybe Int [note_noteable_type] :: Note -> Maybe Text [note_noteable_iid] :: Note -> Maybe Int [note_resolvable] :: Note -> Bool -- | Statistics and an issue newtype IssueStatistics IssueStatistics :: IssueStats -> IssueStatistics [issues_statistics] :: IssueStatistics -> IssueStats -- | Issue statistics newtype IssueStats IssueStats :: IssueCounts -> IssueStats [issues_counts] :: IssueStats -> IssueCounts -- | A count of all, open and closed issues against a project data IssueCounts IssueCounts :: Int -> Int -> Int -> IssueCounts [issues_all] :: IssueCounts -> Int [issues_closed] :: IssueCounts -> Int [issues_opened] :: IssueCounts -> Int -- | Project issue boards -- https://docs.gitlab.com/ee/user/project/issue_board.html data IssueBoard IssueBoard :: Int -> Text -> ProjectBoard -> Maybe Milestone -> [BoardIssue] -> Maybe Text -> Maybe Owner -> Maybe [BoardIssueLabel] -> Maybe Int -> IssueBoard [board_id] :: IssueBoard -> Int [board_name] :: IssueBoard -> Text [board_project] :: IssueBoard -> ProjectBoard [board_milestone] :: IssueBoard -> Maybe Milestone [board_lists] :: IssueBoard -> [BoardIssue] [board_group] :: IssueBoard -> Maybe Text [board_assignee] :: IssueBoard -> Maybe Owner [board_labels] :: IssueBoard -> Maybe [BoardIssueLabel] [board_weight] :: IssueBoard -> Maybe Int -- | Issues associated with a project issue board data BoardIssue BoardIssue :: Int -> BoardIssueLabel -> Int -> Int -> Int -> Maybe Int -> BoardIssue [board_issue_id] :: BoardIssue -> Int [board_issue_label] :: BoardIssue -> BoardIssueLabel [board_issue_position] :: BoardIssue -> Int [board_issue_max_issue_count] :: BoardIssue -> Int [board_issue_max_issue_weight] :: BoardIssue -> Int [board_issue_limit_metric] :: BoardIssue -> Maybe Int -- | Label of an issues for a project issue board data BoardIssueLabel BoardIssueLabel :: Maybe Int -> Text -> Text -> Maybe Text -> BoardIssueLabel [board_issue_label_id] :: BoardIssueLabel -> Maybe Int [board_issue_label_name] :: BoardIssueLabel -> Text [board_issue_label_color] :: BoardIssueLabel -> Text [board_issue_label_description] :: BoardIssueLabel -> Maybe Text -- | A project board data ProjectBoard ProjectBoard :: Int -> Text -> Text -> Text -> Text -> Text -> Text -> ProjectBoard [project_board_id] :: ProjectBoard -> Int [project_board_name] :: ProjectBoard -> Text [project_board_name_with_namespace] :: ProjectBoard -> Text [project_board_path] :: ProjectBoard -> Text [project_board_path_with_namespace] :: ProjectBoard -> Text [project_board_http_url_to_repo] :: ProjectBoard -> Text [project_board_web_url] :: ProjectBoard -> Text -- | Project visibility. data Visibility Public :: Visibility Private :: Visibility Internal :: Visibility -- | Unit test reports for a CI pipeline -- https://docs.gitlab.com/ee/ci/unit_test_reports.html data TestReport TestReport :: Double -> Int -> Int -> Int -> Int -> Int -> [TestSuite] -> TestReport [total_time] :: TestReport -> Double [total_count] :: TestReport -> Int [success_count] :: TestReport -> Int [failed_count] :: TestReport -> Int [skipped_count] :: TestReport -> Int [error_count] :: TestReport -> Int [test_suites] :: TestReport -> [TestSuite] -- | Testsuites associated with a test report data TestSuite TestSuite :: Text -> Double -> Int -> Int -> Int -> Int -> [TestCase] -> TestSuite [testsuite_name] :: TestSuite -> Text [testsuite_total_time] :: TestSuite -> Double [testsuite_success_count] :: TestSuite -> Int [testsuite_failed_count] :: TestSuite -> Int [testsuite_skipped_count] :: TestSuite -> Int [testsuite_error_count] :: TestSuite -> Int [testsuite_test_cases] :: TestSuite -> [TestCase] -- | Test case associated with a testsuite data TestCase TestCase :: Text -> Text -> Text -> Double -> Maybe Text -> Maybe Text -> TestCase [testcase_status] :: TestCase -> Text [testcase_name] :: TestCase -> Text [testcase_classname] :: TestCase -> Text [testcase_execution_time] :: TestCase -> Double [testcase_system_output] :: TestCase -> Maybe Text [testcase_stack_trace] :: TestCase -> Maybe Text instance GHC.Show.Show GitLab.Types.Member instance GHC.Generics.Generic GitLab.Types.Member instance GHC.Show.Show GitLab.Types.Namespace instance GHC.Generics.Generic GitLab.Types.Namespace instance GHC.Show.Show GitLab.Types.Links instance GHC.Generics.Generic GitLab.Types.Links instance GHC.Classes.Eq GitLab.Types.Owner instance GHC.Show.Show GitLab.Types.Owner instance GHC.Generics.Generic GitLab.Types.Owner instance GHC.Show.Show GitLab.Types.Permissions instance GHC.Generics.Generic GitLab.Types.Permissions instance GHC.Show.Show GitLab.Types.ProjectStats instance GHC.Generics.Generic GitLab.Types.ProjectStats instance GHC.Show.Show GitLab.Types.Project instance GHC.Generics.Generic GitLab.Types.Project instance GHC.Show.Show GitLab.Types.User instance GHC.Generics.Generic GitLab.Types.User instance GHC.Classes.Eq GitLab.Types.MilestoneState instance GHC.Show.Show GitLab.Types.MilestoneState instance GHC.Show.Show GitLab.Types.TimeStats instance GHC.Generics.Generic GitLab.Types.TimeStats instance GHC.Show.Show GitLab.Types.Pipeline instance GHC.Generics.Generic GitLab.Types.Pipeline instance GHC.Show.Show GitLab.Types.CommitTodo instance GHC.Generics.Generic GitLab.Types.CommitTodo instance GHC.Show.Show GitLab.Types.CommitStats instance GHC.Generics.Generic GitLab.Types.CommitStats instance GHC.Show.Show GitLab.Types.Commit instance GHC.Generics.Generic GitLab.Types.Commit instance GHC.Show.Show GitLab.Types.Release instance GHC.Generics.Generic GitLab.Types.Release instance GHC.Show.Show GitLab.Types.Tag instance GHC.Generics.Generic GitLab.Types.Tag instance GHC.Show.Show GitLab.Types.Diff instance GHC.Generics.Generic GitLab.Types.Diff instance GHC.Show.Show GitLab.Types.Repository instance GHC.Generics.Generic GitLab.Types.Repository instance GHC.Show.Show GitLab.Types.Artifact instance GHC.Generics.Generic GitLab.Types.Artifact instance GHC.Show.Show GitLab.Types.Job instance GHC.Generics.Generic GitLab.Types.Job instance GHC.Show.Show GitLab.Types.Group instance GHC.Generics.Generic GitLab.Types.Group instance GHC.Show.Show GitLab.Types.GroupShare instance GHC.Generics.Generic GitLab.Types.GroupShare instance GHC.Show.Show GitLab.Types.Branch instance GHC.Generics.Generic GitLab.Types.Branch instance GHC.Show.Show GitLab.Types.RepositoryFile instance GHC.Generics.Generic GitLab.Types.RepositoryFile instance GHC.Show.Show GitLab.Types.TodoAction instance GHC.Classes.Eq GitLab.Types.Milestone instance GHC.Show.Show GitLab.Types.Milestone instance GHC.Generics.Generic GitLab.Types.Milestone instance GHC.Show.Show GitLab.Types.MergeRequest instance GHC.Generics.Generic GitLab.Types.MergeRequest instance GHC.Show.Show GitLab.Types.Issue instance GHC.Generics.Generic GitLab.Types.Issue instance GHC.Show.Show GitLab.Types.TodoTarget instance GHC.Show.Show GitLab.Types.TodoState instance GHC.Show.Show GitLab.Types.TodoProject instance GHC.Generics.Generic GitLab.Types.TodoProject instance GHC.Show.Show GitLab.Types.Todo instance GHC.Show.Show GitLab.Types.Version instance GHC.Generics.Generic GitLab.Types.Version instance GHC.Show.Show GitLab.Types.EditIssueReq instance GHC.Generics.Generic GitLab.Types.EditIssueReq instance GHC.Show.Show GitLab.Types.Note instance GHC.Generics.Generic GitLab.Types.Note instance GHC.Show.Show GitLab.Types.Discussion instance GHC.Generics.Generic GitLab.Types.Discussion instance GHC.Show.Show GitLab.Types.IssueCounts instance GHC.Generics.Generic GitLab.Types.IssueCounts instance GHC.Show.Show GitLab.Types.IssueStats instance GHC.Generics.Generic GitLab.Types.IssueStats instance GHC.Show.Show GitLab.Types.IssueStatistics instance GHC.Generics.Generic GitLab.Types.IssueStatistics instance GHC.Classes.Eq GitLab.Types.BoardIssueLabel instance GHC.Show.Show GitLab.Types.BoardIssueLabel instance GHC.Generics.Generic GitLab.Types.BoardIssueLabel instance GHC.Classes.Eq GitLab.Types.BoardIssue instance GHC.Show.Show GitLab.Types.BoardIssue instance GHC.Generics.Generic GitLab.Types.BoardIssue instance GHC.Classes.Eq GitLab.Types.ProjectBoard instance GHC.Show.Show GitLab.Types.ProjectBoard instance GHC.Generics.Generic GitLab.Types.ProjectBoard instance GHC.Classes.Eq GitLab.Types.IssueBoard instance GHC.Show.Show GitLab.Types.IssueBoard instance GHC.Generics.Generic GitLab.Types.IssueBoard instance GHC.Classes.Eq GitLab.Types.Visibility instance GHC.Show.Show GitLab.Types.Visibility instance GHC.Classes.Eq GitLab.Types.TestCase instance GHC.Show.Show GitLab.Types.TestCase instance GHC.Generics.Generic GitLab.Types.TestCase instance GHC.Classes.Eq GitLab.Types.TestSuite instance GHC.Show.Show GitLab.Types.TestSuite instance GHC.Generics.Generic GitLab.Types.TestSuite instance GHC.Classes.Eq GitLab.Types.TestReport instance GHC.Show.Show GitLab.Types.TestReport instance GHC.Generics.Generic GitLab.Types.TestReport instance Data.Aeson.Types.FromJSON.FromJSON GitLab.Types.TestReport instance Data.Aeson.Types.FromJSON.FromJSON GitLab.Types.TestSuite instance Data.Aeson.Types.FromJSON.FromJSON GitLab.Types.TestCase instance Data.Aeson.Types.FromJSON.FromJSON GitLab.Types.Visibility instance Data.Aeson.Types.FromJSON.FromJSON GitLab.Types.IssueBoard instance Data.Aeson.Types.FromJSON.FromJSON GitLab.Types.ProjectBoard instance Data.Aeson.Types.FromJSON.FromJSON GitLab.Types.BoardIssue instance Data.Aeson.Types.FromJSON.FromJSON GitLab.Types.BoardIssueLabel instance Data.Aeson.Types.FromJSON.FromJSON GitLab.Types.IssueStatistics instance Data.Aeson.Types.FromJSON.FromJSON GitLab.Types.IssueStats instance Data.Aeson.Types.FromJSON.FromJSON GitLab.Types.IssueCounts instance Data.Aeson.Types.FromJSON.FromJSON GitLab.Types.Discussion instance Data.Aeson.Types.FromJSON.FromJSON GitLab.Types.Note 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.Tag instance Data.Aeson.Types.FromJSON.FromJSON GitLab.Types.Release 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 project event. data ProjectChanges ProjectChanges :: Text -> Text -> Text -> ProjectChanges [$sel:projectChanges_before:ProjectChanges] :: ProjectChanges -> Text [$sel:projectChanges_after:ProjectChanges] :: ProjectChanges -> Text [$sel:projectChanges_ref:ProjectChanges] :: ProjectChanges -> Text -- | 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 -> Maybe Text -> Maybe Text -> Maybe 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 -> Maybe Text [$sel:repositoryEvent_git_ssh_url:RepositoryEvent] :: RepositoryEvent -> Maybe Text [$sel:repositoryEvent_visibility_level:RepositoryEvent] :: RepositoryEvent -> Maybe Visibility -- | Tags have been pushed to the server. data RepositoryUpdate RepositoryUpdate :: Text -> Int -> Text -> Text -> Text -> Int -> ProjectEvent -> [ProjectChanges] -> [Text] -> RepositoryUpdate [$sel:repositoryUpdate_event_name:RepositoryUpdate] :: RepositoryUpdate -> Text [$sel:repositoryUpdate_user_id:RepositoryUpdate] :: RepositoryUpdate -> Int [$sel:repositoryUpdate_user_name:RepositoryUpdate] :: RepositoryUpdate -> Text [$sel:repositoryUpdate_user_email:RepositoryUpdate] :: RepositoryUpdate -> Text [$sel:repositoryUpdate_user_avatar:RepositoryUpdate] :: RepositoryUpdate -> Text [$sel:repositoryUpdate_project_id:RepositoryUpdate] :: RepositoryUpdate -> Int [$sel:repositoryUpdate_project:RepositoryUpdate] :: RepositoryUpdate -> ProjectEvent [$sel:repositoryUpdate_changes:RepositoryUpdate] :: RepositoryUpdate -> [ProjectChanges] [$sel:repositoryUpdate_refs:RepositoryUpdate] :: RepositoryUpdate -> [Text] -- | 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 -- | Merge request (named so, since MergeRequest type already used -- in GitLab.Types. data MergeRequestEvent MergeRequestEvent :: Text -> Text -> UserEvent -> ProjectEvent -> ObjectAttributes -> Maybe [Label] -> MergeRequestChanges -> RepositoryEvent -> MergeRequestEvent [$sel:mergeRequest_object_kind:MergeRequestEvent] :: MergeRequestEvent -> Text [$sel:mergeRequest_event_type:MergeRequestEvent] :: MergeRequestEvent -> Text [$sel:mergeRequest_user:MergeRequestEvent] :: MergeRequestEvent -> UserEvent [$sel:mergeRequest_project:MergeRequestEvent] :: MergeRequestEvent -> ProjectEvent [$sel:mergeRequest_object_attributes:MergeRequestEvent] :: MergeRequestEvent -> ObjectAttributes [$sel:mergeRequest_labels:MergeRequestEvent] :: MergeRequestEvent -> Maybe [Label] [$sel:mergeRequest_changes:MergeRequestEvent] :: MergeRequestEvent -> MergeRequestChanges [$sel:mergeRequest_repository:MergeRequestEvent] :: MergeRequestEvent -> RepositoryEvent -- | Label associated with a merge request data Label Label :: Maybe Int -> Maybe Text -> Maybe Text -> Maybe Int -> Maybe Text -> Maybe Text -> Maybe Bool -> Maybe Text -> Maybe Text -> Maybe Int -> Label [$sel:label_id:Label] :: Label -> Maybe Int [$sel:label_title:Label] :: Label -> Maybe Text [$sel:label_color:Label] :: Label -> Maybe Text [$sel:label_project_id:Label] :: Label -> Maybe Int [$sel:label_created_at:Label] :: Label -> Maybe Text [$sel:label_updated_at:Label] :: Label -> Maybe Text [$sel:label_template:Label] :: Label -> Maybe Bool [$sel:label_description:Label] :: Label -> Maybe Text [$sel:label_type:Label] :: Label -> Maybe Text [$sel:label_group_id:Label] :: Label -> Maybe Int -- | Changes that a merge request will make data MergeRequestChanges MergeRequestChanges :: Maybe (MergeRequestChange Int) -> Maybe (MergeRequestChange Text) -> Maybe (MergeRequestChange Text) -> Maybe (MergeRequestChange Int) -> Maybe (MergeRequestChange Int) -> Maybe (MergeRequestChange Text) -> Maybe (MergeRequestChange Int) -> Maybe (MergeRequestChange Text) -> Maybe (MergeRequestChange Int) -> Maybe (MergeRequestChange Text) -> Maybe (MergeRequestChange Text) -> MergeRequestChanges [$sel:mergeRequestChanges_author_id:MergeRequestChanges] :: MergeRequestChanges -> Maybe (MergeRequestChange Int) [$sel:mergeRequestChanges_created_at:MergeRequestChanges] :: MergeRequestChanges -> Maybe (MergeRequestChange Text) [$sel:mergeRequestChanges_description:MergeRequestChanges] :: MergeRequestChanges -> Maybe (MergeRequestChange Text) [$sel:mergeRequestChanges_id:MergeRequestChanges] :: MergeRequestChanges -> Maybe (MergeRequestChange Int) [$sel:mergeRequestChanges_iid:MergeRequestChanges] :: MergeRequestChanges -> Maybe (MergeRequestChange Int) [$sel:mergeRequestChanges_source_branch:MergeRequestChanges] :: MergeRequestChanges -> Maybe (MergeRequestChange Text) [$sel:mergeRequestChanges_source_project_id:MergeRequestChanges] :: MergeRequestChanges -> Maybe (MergeRequestChange Int) [$sel:mergeRequestChanges_target_branch:MergeRequestChanges] :: MergeRequestChanges -> Maybe (MergeRequestChange Text) [$sel:mergeRequestChanges_target_project_id:MergeRequestChanges] :: MergeRequestChanges -> Maybe (MergeRequestChange Int) [$sel:mergeRequestChanges_title:MergeRequestChanges] :: MergeRequestChanges -> Maybe (MergeRequestChange Text) [$sel:mergeRequestChanges_updated_at:MergeRequestChanges] :: MergeRequestChanges -> Maybe (MergeRequestChange Text) -- | The change between for a given GitLab data field a merge request will -- make data MergeRequestChange a MergeRequestChange :: Maybe a -> Maybe a -> MergeRequestChange a [$sel:mergeRequestChange_previous:MergeRequestChange] :: MergeRequestChange a -> Maybe a [$sel:mergeRequestChange_current:MergeRequestChange] :: MergeRequestChange a -> Maybe a -- | Attributes associated with a merge request data ObjectAttributes ObjectAttributes :: Int -> Text -> Text -> Int -> Maybe Int -> Maybe Int -> Maybe [Int] -> Text -> Text -> Text -> Maybe Int -> Text -> Maybe Int -> Text -> Int -> Int -> Text -> Maybe Int -> Maybe Text -> Maybe MergeParams -> Maybe Bool -> Maybe Int -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Int -> Maybe Int -> Maybe Text -> Maybe Int -> Maybe Int -> Maybe Bool -> Maybe Int -> ProjectEvent -> ProjectEvent -> CommitEvent -> Bool -> Maybe Int -> Maybe Int -> Maybe Int -> Maybe Text -> ObjectAttributes [$sel:objectAttributes_id:ObjectAttributes] :: ObjectAttributes -> Int [$sel:objectAttributes_target_branch:ObjectAttributes] :: ObjectAttributes -> Text [$sel:objectAttributes_source_branch:ObjectAttributes] :: ObjectAttributes -> Text [$sel:objectAttributes_source_project_id:ObjectAttributes] :: ObjectAttributes -> Int [$sel:objectAttributes_author_id:ObjectAttributes] :: ObjectAttributes -> Maybe Int [$sel:objectAttributes_assignee_id:ObjectAttributes] :: ObjectAttributes -> Maybe Int [$sel:objectAttributes_assignee_ids:ObjectAttributes] :: ObjectAttributes -> Maybe [Int] [$sel:objectAttributes_title:ObjectAttributes] :: ObjectAttributes -> Text [$sel:objectAttributes_created_at:ObjectAttributes] :: ObjectAttributes -> Text [$sel:objectAttributes_updated_at:ObjectAttributes] :: ObjectAttributes -> Text [$sel:objectAttributes_milestone_id:ObjectAttributes] :: ObjectAttributes -> Maybe Int [$sel:objectAttributes_state:ObjectAttributes] :: ObjectAttributes -> Text [$sel:objectAttributes_state_id:ObjectAttributes] :: ObjectAttributes -> Maybe Int [$sel:objectAttributes_merge_status:ObjectAttributes] :: ObjectAttributes -> Text [$sel:objectAttributes_target_project_id:ObjectAttributes] :: ObjectAttributes -> Int [$sel:objectAttributes_iid:ObjectAttributes] :: ObjectAttributes -> Int [$sel:objectAttributes_description:ObjectAttributes] :: ObjectAttributes -> Text [$sel:objectAttributes_updated_by_id:ObjectAttributes] :: ObjectAttributes -> Maybe Int [$sel:objectAttributes_merge_error:ObjectAttributes] :: ObjectAttributes -> Maybe Text [$sel:objectAttributes_merge_params:ObjectAttributes] :: ObjectAttributes -> Maybe MergeParams [$sel:objectAttributes_merge_when_pipeline_succeeds:ObjectAttributes] :: ObjectAttributes -> Maybe Bool [$sel:objectAttributes_merge_user_id:ObjectAttributes] :: ObjectAttributes -> Maybe Int [$sel:objectAttributes_merge_commit_sha:ObjectAttributes] :: ObjectAttributes -> Maybe Text [$sel:objectAttributes_deleted_at:ObjectAttributes] :: ObjectAttributes -> Maybe Text [$sel:objectAttributes_in_progress_merge_commit_sha:ObjectAttributes] :: ObjectAttributes -> Maybe Text [$sel:objectAttributes_lock_version:ObjectAttributes] :: ObjectAttributes -> Maybe Int [$sel:objectAttributes_time_estimate:ObjectAttributes] :: ObjectAttributes -> Maybe Int [$sel:objectAttributes_last_edited_at:ObjectAttributes] :: ObjectAttributes -> Maybe Text [$sel:objectAttributes_last_edited_by_id:ObjectAttributes] :: ObjectAttributes -> Maybe Int [$sel:objectAttributes_head_pipeline_id:ObjectAttributes] :: ObjectAttributes -> Maybe Int [$sel:objectAttributes_ref_fetched:ObjectAttributes] :: ObjectAttributes -> Maybe Bool [$sel:objectAttributes_merge_jid:ObjectAttributes] :: ObjectAttributes -> Maybe Int [$sel:objectAttributes_source:ObjectAttributes] :: ObjectAttributes -> ProjectEvent [$sel:objectAttributes_target:ObjectAttributes] :: ObjectAttributes -> ProjectEvent [$sel:objectAttributes_last_commit:ObjectAttributes] :: ObjectAttributes -> CommitEvent [$sel:objectAttributes_work_in_progress:ObjectAttributes] :: ObjectAttributes -> Bool [$sel:objectAttributes_total_time_spent:ObjectAttributes] :: ObjectAttributes -> Maybe Int [$sel:objectAttributes_human_total_time_spent:ObjectAttributes] :: ObjectAttributes -> Maybe Int [$sel:objectAttributes_human_time_estimate:ObjectAttributes] :: ObjectAttributes -> Maybe Int [$sel:objectAttributes_action:ObjectAttributes] :: ObjectAttributes -> Maybe Text -- | Merge parameters associated with a merge request data MergeParams MergeParams :: Maybe Text -> MergeParams [$sel:mergeParams_force_remove_source_branch:MergeParams] :: MergeParams -> Maybe Text -- | User associated with a merge request data UserEvent UserEvent :: Text -> Text -> Text -> UserEvent [$sel:userEvent_name:UserEvent] :: UserEvent -> Text [$sel:userEvent_username:UserEvent] :: UserEvent -> Text [$sel:userEvent_avatar_url:UserEvent] :: UserEvent -> Text -- | 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.UserCreate instance GHC.Show.Show GitLab.SystemHooks.Types.UserCreate instance GHC.Classes.Eq GitLab.SystemHooks.Types.UserRemove instance GHC.Show.Show GitLab.SystemHooks.Types.UserRemove instance GHC.Classes.Eq GitLab.SystemHooks.Types.UserFailedLogin instance GHC.Show.Show GitLab.SystemHooks.Types.UserFailedLogin instance GHC.Classes.Eq GitLab.SystemHooks.Types.UserRename instance GHC.Show.Show GitLab.SystemHooks.Types.UserRename instance GHC.Classes.Eq GitLab.SystemHooks.Types.KeyCreate instance GHC.Show.Show GitLab.SystemHooks.Types.KeyCreate instance GHC.Classes.Eq GitLab.SystemHooks.Types.KeyRemove instance GHC.Show.Show GitLab.SystemHooks.Types.KeyRemove instance GHC.Classes.Eq GitLab.SystemHooks.Types.GroupCreate instance GHC.Show.Show GitLab.SystemHooks.Types.GroupCreate instance GHC.Classes.Eq GitLab.SystemHooks.Types.GroupRemove instance GHC.Show.Show GitLab.SystemHooks.Types.GroupRemove instance GHC.Classes.Eq GitLab.SystemHooks.Types.GroupRename instance GHC.Show.Show GitLab.SystemHooks.Types.GroupRename instance GHC.Classes.Eq GitLab.SystemHooks.Types.NewGroupMember instance GHC.Show.Show GitLab.SystemHooks.Types.NewGroupMember instance GHC.Classes.Eq GitLab.SystemHooks.Types.GroupMemberRemove instance GHC.Show.Show GitLab.SystemHooks.Types.GroupMemberRemove instance GHC.Classes.Eq GitLab.SystemHooks.Types.GroupMemberUpdate instance GHC.Show.Show GitLab.SystemHooks.Types.GroupMemberUpdate 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.ProjectChanges instance GHC.Classes.Eq GitLab.SystemHooks.Types.ProjectChanges instance GHC.Show.Show GitLab.SystemHooks.Types.ProjectChanges instance GHC.Classes.Eq GitLab.SystemHooks.Types.RepositoryUpdate instance GHC.Show.Show GitLab.SystemHooks.Types.RepositoryUpdate 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.Generics.Generic GitLab.SystemHooks.Types.CommitAuthorEvent instance GHC.Classes.Eq GitLab.SystemHooks.Types.CommitAuthorEvent instance GHC.Show.Show GitLab.SystemHooks.Types.CommitAuthorEvent 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.Classes.Eq GitLab.SystemHooks.Types.TagPush instance GHC.Show.Show GitLab.SystemHooks.Types.TagPush instance GHC.Classes.Eq GitLab.SystemHooks.Types.Push instance GHC.Show.Show GitLab.SystemHooks.Types.Push instance GHC.Generics.Generic GitLab.SystemHooks.Types.Label instance GHC.Classes.Eq GitLab.SystemHooks.Types.Label instance GHC.Show.Show GitLab.SystemHooks.Types.Label instance GHC.Generics.Generic (GitLab.SystemHooks.Types.MergeRequestChange a) instance GHC.Classes.Eq a => GHC.Classes.Eq (GitLab.SystemHooks.Types.MergeRequestChange a) instance GHC.Show.Show a => GHC.Show.Show (GitLab.SystemHooks.Types.MergeRequestChange a) instance GHC.Generics.Generic GitLab.SystemHooks.Types.MergeRequestChanges instance GHC.Classes.Eq GitLab.SystemHooks.Types.MergeRequestChanges instance GHC.Show.Show GitLab.SystemHooks.Types.MergeRequestChanges instance GHC.Generics.Generic GitLab.SystemHooks.Types.MergeParams instance GHC.Classes.Eq GitLab.SystemHooks.Types.MergeParams instance GHC.Show.Show GitLab.SystemHooks.Types.MergeParams instance GHC.Generics.Generic GitLab.SystemHooks.Types.ObjectAttributes instance GHC.Classes.Eq GitLab.SystemHooks.Types.ObjectAttributes instance GHC.Show.Show GitLab.SystemHooks.Types.ObjectAttributes instance GHC.Generics.Generic GitLab.SystemHooks.Types.UserEvent instance GHC.Classes.Eq GitLab.SystemHooks.Types.UserEvent instance GHC.Show.Show GitLab.SystemHooks.Types.UserEvent instance GHC.Generics.Generic GitLab.SystemHooks.Types.MergeRequestEvent instance GHC.Classes.Eq GitLab.SystemHooks.Types.MergeRequestEvent instance GHC.Show.Show GitLab.SystemHooks.Types.MergeRequestEvent instance GHC.Classes.Eq GitLab.SystemHooks.Types.ProjectAction instance GHC.Show.Show GitLab.SystemHooks.Types.ProjectAction instance Data.Aeson.Types.FromJSON.FromJSON GitLab.SystemHooks.Types.ProjectCreate instance Data.Aeson.Types.FromJSON.FromJSON GitLab.SystemHooks.Types.ProjectDestroy instance Data.Aeson.Types.FromJSON.FromJSON GitLab.SystemHooks.Types.ProjectRename instance Data.Aeson.Types.FromJSON.FromJSON GitLab.SystemHooks.Types.ProjectTransfer instance Data.Aeson.Types.FromJSON.FromJSON GitLab.SystemHooks.Types.ProjectUpdate instance Data.Aeson.Types.FromJSON.FromJSON GitLab.SystemHooks.Types.UserAddToTeam instance Data.Aeson.Types.FromJSON.FromJSON GitLab.SystemHooks.Types.UserUpdateForTeam instance Data.Aeson.Types.FromJSON.FromJSON GitLab.SystemHooks.Types.UserRemoveFromTeam 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.Push instance Data.Aeson.Types.FromJSON.FromJSON GitLab.SystemHooks.Types.TagPush instance Data.Aeson.Types.FromJSON.FromJSON GitLab.SystemHooks.Types.RepositoryUpdate instance Data.Aeson.Types.FromJSON.FromJSON GitLab.SystemHooks.Types.MergeRequestEvent instance Data.Aeson.Types.FromJSON.FromJSON GitLab.SystemHooks.Types.ProjectAction instance GitLab.SystemHooks.Types.SystemHook GitLab.SystemHooks.Types.MergeRequestEvent instance Data.Aeson.Types.FromJSON.FromJSON GitLab.SystemHooks.Types.UserEvent instance Data.Aeson.Types.FromJSON.FromJSON GitLab.SystemHooks.Types.ObjectAttributes instance Data.Aeson.Types.FromJSON.FromJSON GitLab.SystemHooks.Types.MergeParams instance Data.Aeson.Types.FromJSON.FromJSON GitLab.SystemHooks.Types.MergeRequestChanges instance Data.Aeson.Types.FromJSON.FromJSON a => Data.Aeson.Types.FromJSON.FromJSON (GitLab.SystemHooks.Types.MergeRequestChange a) instance Data.Aeson.Types.FromJSON.FromJSON GitLab.SystemHooks.Types.Label instance GitLab.SystemHooks.Types.SystemHook GitLab.SystemHooks.Types.Push instance GitLab.SystemHooks.Types.SystemHook GitLab.SystemHooks.Types.TagPush instance Data.Aeson.Types.FromJSON.FromJSON GitLab.SystemHooks.Types.CommitEvent instance Data.Aeson.Types.FromJSON.FromJSON GitLab.SystemHooks.Types.CommitAuthorEvent instance Data.Aeson.Types.FromJSON.FromJSON GitLab.SystemHooks.Types.RepositoryEvent instance GitLab.SystemHooks.Types.SystemHook GitLab.SystemHooks.Types.RepositoryUpdate instance Data.Aeson.Types.FromJSON.FromJSON GitLab.SystemHooks.Types.ProjectChanges instance Data.Aeson.Types.FromJSON.FromJSON GitLab.SystemHooks.Types.ProjectEvent 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 instance GitLab.SystemHooks.Types.SystemHook GitLab.SystemHooks.Types.UserRemoveFromTeam instance GitLab.SystemHooks.Types.SystemHook GitLab.SystemHooks.Types.UserUpdateForTeam instance GitLab.SystemHooks.Types.SystemHook GitLab.SystemHooks.Types.UserAddToTeam instance GitLab.SystemHooks.Types.SystemHook GitLab.SystemHooks.Types.ProjectUpdate instance GitLab.SystemHooks.Types.SystemHook GitLab.SystemHooks.Types.ProjectTransfer instance GitLab.SystemHooks.Types.SystemHook GitLab.SystemHooks.Types.ProjectRename instance GitLab.SystemHooks.Types.SystemHook GitLab.SystemHooks.Types.ProjectDestroy instance GitLab.SystemHooks.Types.SystemHook GitLab.SystemHooks.Types.ProjectCreate 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 (Response ByteString) (Maybe Version)) module GitLab.API.Users -- | all registered users. allUsers :: GitLab [User] -- | searches for a user given a user ID. Returns Just User if the -- user is found, otherwise Nothing. userId :: Int -> GitLab (Maybe 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.Tags -- | returns all commits with tags. tags :: Project -> GitLab [Tag] -- | returns all commits with tags from a project given its project ID. tags' :: Int -> GitLab (Either (Response ByteString) [Tag]) module GitLab.API.RepositoryFiles -- | Get a list of repository files and directories in a project. repositoryFiles :: Project -> Text -> Text -> GitLab (Either (Response ByteString) (Maybe RepositoryFile)) -- | Get a list of repository files and directories in a project given the -- project's ID. repositoryFiles' :: Int -> Text -> Text -> GitLab (Either (Response ByteString) (Maybe RepositoryFile)) -- | Get raw data for a given file blob hash. repositoryFileBlob :: Int -> Text -> GitLab (Either (Response ByteString) (Maybe 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 (Response ByteString) [Repository]) -- | get a file archive of the repository files. For example: -- --
-- getFileArchive myProject TarGz "/tmp/myProject.tar.gz" --getFileArchive :: Project -> ArchiveFormat -> FilePath -> GitLab (Either (Response ByteString) ()) -- | 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 (Response ByteString) 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 (Response ByteString) ()) -- | 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 (Response ByteString) (Maybe 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 (Response ByteString) [Pipeline]) -- | get a pipeline’s test report. Since GitLab 13.0. pipelineTestReport :: Project -> Pipeline -> GitLab TestReport -- | get a pipeline’s test report. Since GitLab 13.0. pipelineTestReport' :: Int -> Int -> GitLab (Either (Response ByteString) (Maybe TestReport)) module GitLab.API.Notes -- | Creates a new note for a single merge request. createMergeRequestNote :: Project -> Int -> Text -> GitLab (Either (Response ByteString) (Maybe ())) -- | Creates a new note for a single merge request. createMergeRequestNote' :: Int -> Int -> Text -> GitLab (Either (Response ByteString) (Maybe ())) module GitLab.API.MergeRequests -- | returns the merge request for a project given its merge request IID. mergeRequest :: Project -> Int -> GitLab (Either (Response ByteString) (Maybe MergeRequest)) -- | returns the merge request for a project given its project ID and merge -- request IID. mergeRequest' :: Int -> Int -> GitLab (Either (Response ByteString) (Maybe MergeRequest)) -- | 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 (Response ByteString) [MergeRequest]) -- | Creates a merge request. createMergeRequest :: Project -> Text -> Text -> Int -> Text -> Text -> GitLab (Either (Response ByteString) (Maybe MergeRequest)) -- | Creates a merge request. createMergeRequest' :: Int -> Text -> Text -> Int -> Text -> Text -> GitLab (Either (Response ByteString) (Maybe MergeRequest)) -- | Accepts a merge request. acceptMergeRequest :: Project -> Int -> GitLab (Either (Response ByteString) (Maybe MergeRequest)) -- | Accepts a merge request. acceptMergeRequest' :: Int -> Int -> GitLab (Either (Response ByteString) (Maybe MergeRequest)) -- | Deletes a merge request. Only for admins and project owners. deleteMergeRequest :: Project -> Int -> GitLab (Either (Response ByteString) (Maybe ())) -- | Deletes a merge request. Only for admins and project owners. deleteMergeRequest' :: Int -> Int -> GitLab (Either (Response ByteString) (Maybe ())) 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 (Response ByteString) [Job]) module GitLab.API.Issues -- | No issue filters, thereby returning all issues. Default scope is -- "all". defaultIssueFilters :: IssueAttrs -- | Attributes related to a project issue data IssueAttrs IssueAttrs :: Maybe Int -> Maybe String -> Maybe Int -> Maybe String -> Maybe Bool -> Maybe UTCTime -> Maybe UTCTime -> Maybe DueDate -> Maybe Int -> Maybe IssueSearchIn -> Maybe Int -> Maybe String -> Maybe String -> Maybe String -> Maybe String -> Maybe Bool -> Maybe IssueOrderBy -> Maybe IssueScope -> Maybe String -> Maybe IssueSortBy -> Maybe IssueState -> Maybe UTCTime -> Maybe UTCTime -> Maybe Bool -> IssueAttrs [issueFilter_assignee_id] :: IssueAttrs -> Maybe Int [issueFilter_assignee_username] :: IssueAttrs -> Maybe String [issueFilter_author_id] :: IssueAttrs -> Maybe Int [issueFilter_author_username] :: IssueAttrs -> Maybe String [issueFilter_confidential] :: IssueAttrs -> Maybe Bool [issueFilter_created_after] :: IssueAttrs -> Maybe UTCTime [issueFilter_created_before] :: IssueAttrs -> Maybe UTCTime [issueFilter_due_date] :: IssueAttrs -> Maybe DueDate [issueFilter_iids] :: IssueAttrs -> Maybe Int [issueFilter_in] :: IssueAttrs -> Maybe IssueSearchIn [issueFilter_iteration_id] :: IssueAttrs -> Maybe Int [issueFilter_iteration_title] :: IssueAttrs -> Maybe String [issueFilter_milestone] :: IssueAttrs -> Maybe String [issueFilter_labels] :: IssueAttrs -> Maybe String [issueFilter_my_reaction_emoji] :: IssueAttrs -> Maybe String [issueFilter_non_archived] :: IssueAttrs -> Maybe Bool [issueFilter_order_by] :: IssueAttrs -> Maybe IssueOrderBy [issueFilter_scope] :: IssueAttrs -> Maybe IssueScope [issueFilter_search] :: IssueAttrs -> Maybe String [issueFilter_sort] :: IssueAttrs -> Maybe IssueSortBy [issueFilter_state] :: IssueAttrs -> Maybe IssueState [issueFilter_updated_after] :: IssueAttrs -> Maybe UTCTime [issueFilter_updated_before] :: IssueAttrs -> Maybe UTCTime [issueFilter_with_labels_details] :: IssueAttrs -> Maybe Bool -- | When an issue is due data DueDate NoDueDate :: DueDate Overdue :: DueDate Week :: DueDate Month :: DueDate NextMonthPreviousTwoWeeks :: DueDate -- | Where to filter a search within data IssueSearchIn JustTitle :: IssueSearchIn JustDescription :: IssueSearchIn TitleAndDescription :: IssueSearchIn -- | Ordering search results data IssueOrderBy CreatedAt :: IssueOrderBy UpdatedAt :: IssueOrderBy Priority :: IssueOrderBy DueDate :: IssueOrderBy RelativePosition :: IssueOrderBy LabelPriority :: IssueOrderBy MilestoneDue :: IssueOrderBy Popularity :: IssueOrderBy Weight :: IssueOrderBy -- | Scope of issue search results data IssueScope CreatedByMe :: IssueScope AssignedToMe :: IssueScope All :: IssueScope -- | Sort issues in ascending or descending order data IssueSortBy Ascending :: IssueSortBy Descending :: IssueSortBy -- | Is a project issues open or closed data IssueState IssueOpen :: IssueState IssueClosed :: IssueState -- | Get a list of a project’s issues projectIssues :: Project -> IssueAttrs -> GitLab [Issue] -- | Get a list of a project’s issues projectIssues' :: Int -> IssueAttrs -> GitLab (Either (Response ByteString) [Issue]) -- | Gets issues count statistics on all issues the authenticated user has -- access to. issueStatisticsUser :: IssueAttrs -> GitLab IssueStatistics -- | Gets issues count statistics for a given group. issueStatisticsGroup :: Group -> IssueAttrs -> GitLab IssueStatistics -- | Gets issues count statistics for a given group. issueStatisticsGroup' :: Int -> IssueAttrs -> GitLab (Either (Response ByteString) (Maybe IssueStatistics)) -- | Gets issues count statistics for a given group. issueStatisticsProject :: Project -> IssueAttrs -> GitLab IssueStatistics -- | Gets issues count statistics for a given project. issueStatisticsProject' :: Int -> IssueAttrs -> GitLab (Either (Response ByteString) (Maybe IssueStatistics)) -- | gets all issues create by a user. userIssues :: User -> GitLab [Issue] -- | create a new issue. newIssue :: Project -> Text -> Text -> GitLab (Either (Response ByteString) (Maybe Issue)) -- | create a new issue. newIssue' :: Int -> Text -> Text -> GitLab (Either (Response ByteString) (Maybe Issue)) -- | edits an issue. see -- https://docs.gitlab.com/ee/api/issues.html#edit-issue editIssue :: ProjectId -> IssueId -> EditIssueReq -> GitLab (Either (Response ByteString) Issue) instance GHC.Show.Show GitLab.API.Issues.IssueState instance GHC.Show.Show GitLab.API.Issues.IssueSortBy instance GHC.Show.Show GitLab.API.Issues.IssueScope instance GHC.Show.Show GitLab.API.Issues.IssueOrderBy instance GHC.Show.Show GitLab.API.Issues.IssueSearchIn instance GHC.Show.Show GitLab.API.Issues.DueDate module GitLab.API.Groups -- | gets groups with the given group name, path or full path. -- --
-- projectsWithNameOrPath "group1" --groupsWithNameOrPath :: Text -> GitLab (Either (Response ByteString) [Group]) -- | Get a list of projects in this group groupProjects :: Group -> GitLab (Either (Response ByteString) [Project]) -- | Get a list of projects in this group groupProjects' :: Int -> GitLab (Either (Response ByteString) [Project]) 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 (Response ByteString) [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 (Response ByteString) (Maybe 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 (Response ByteString) (Maybe 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 (Response ByteString) (Maybe 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 (Response ByteString) (Maybe Member)] -- | Removes a user from a project where the user has been explicitly -- assigned a role removeUserFromProject :: Text -> User -> GitLab (Either (Response ByteString) (Maybe ())) -- | Removes a user from a project where the user has been explicitly -- assigned a role removeUserFromProject' :: Text -> Int -> GitLab (Either (Response ByteString) (Maybe ())) -- | the members of a group. membersOfGroup :: Group -> GitLab [Member] -- | the members of a group given its ID. membersOfGroup' :: Int -> GitLab (Either (Response ByteString) [Member]) -- | adds all registered users to a group. addAllUsersToGroup :: Text -> AccessLevel -> GitLab [Either (Response ByteString) (Maybe Member)] -- | adds a user to a group. addUserToGroup :: Text -> AccessLevel -> User -> GitLab (Either (Response ByteString) (Maybe Member)) -- | adds a user with a given user ID to a group. addUserToGroup' :: Text -> AccessLevel -> Int -> GitLab (Either (Response ByteString) (Maybe Member)) -- | adds a list of users to a group. addUsersToGroup :: Text -> AccessLevel -> [User] -> GitLab [Either (Response ByteString) (Maybe Member)] -- | adds a list of users to a group. addUsersToGroup' :: Text -> AccessLevel -> [Text] -> GitLab [Either (Response ByteString) (Maybe Member)] -- | Removes a user from a group where the user has been explicitly -- assigned a role removeUserFromGroup :: Text -> User -> GitLab (Either (Response ByteString) (Maybe ())) -- | Removes a user from a group where the user has been explicitly -- assigned a role removeUserFromGroup' :: Text -> Int -> GitLab (Either (Response ByteString) (Maybe ())) instance GHC.Show.Show GitLab.API.Members.AccessLevel module GitLab.API.Discussions -- | gets all discussion for a commit for a project. commitDiscussions :: Project -> Text -> GitLab (Either (Response ByteString) [Discussion]) -- | gets all discussion for a commit for a project given its project ID. commitDiscussions' :: Int -> Text -> GitLab (Either (Response ByteString) [Discussion]) 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 (Response ByteString) [Commit]) -- | returns all commits of a branch from a project given the branch name. branchCommits :: Project -> Text -> GitLab [Commit] -- | returns all commits of a branch from a project given its project ID -- and the branch name. branchCommits' :: Int -> Text -> GitLab (Either (Response ByteString) [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 (Response ByteString) (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 (Response ByteString) [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 (Response ByteString) (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. -- --
-- projectsWithNameAndUser "user1" "project1" ---- -- looks for "user1/project1" projectsWithNameAndUser :: Text -> Text -> GitLab (Either (Response ByteString) (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 (Response ByteString) [Text]) -- | gets all projects for a user. -- --
-- userProjects myUser --userProjects :: User -> GitLab (Maybe [Project]) -- | gets all projects for a user given their username. -- --
-- userProjects "harry" --userProjects' :: Text -> 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 (Response ByteString) [Diff]) -- | gets all diffs in a project for a given project ID, for a given commit -- SHA. projectDiffs' :: Int -> Text -> GitLab (Either (Response ByteString) [Diff]) -- | add a group to a project. addGroupToProject :: Int -> Int -> AccessLevel -> GitLab (Either (Response ByteString) (Maybe GroupShare)) -- | transfer a project to a new namespace. transferProject :: Project -> Text -> GitLab (Either (Response ByteString) Project) -- | edit a project. transferProject' :: Int -> Text -> GitLab (Either (Response ByteString) Project) -- | edit a project. editProject :: Project -> EditProjectAttrs -> GitLab (Either (Response ByteString) Project) -- | edit a project. editProject' :: Int -> EditProjectAttrs -> GitLab (Either (Response ByteString) Project) -- | A default set of project attributes to override with the -- editProject functions. defaultEditProjectAttrs :: Int -> EditProjectAttrs -- | Attributes for updating when editing a project with the -- editProject functions. data EditProjectAttrs EditProjectAttrs :: Maybe Bool -> Maybe Text -> Maybe Int -> Maybe EnabledDisabled -> Maybe AutoDeployStrategy -> Maybe Bool -> Maybe Bool -> Maybe Text -> Maybe GitStrategy -> Maybe Int -> Maybe ProjectSettingAccessLevel -> Maybe Text -> Maybe Int -> Maybe Bool -> Maybe ProjectSettingAccessLevel -> Maybe Text -> Maybe Text -> Maybe Bool -> Maybe Text -> Maybe ProjectSettingAccessLevel -> Int -> Maybe Text -> Maybe ProjectSettingAccessLevel -> Maybe Bool -> Maybe MergeMethod -> Maybe ProjectSettingAccessLevel -> Maybe Bool -> Maybe Bool -> Maybe Int -> Maybe Bool -> Maybe Text -> Maybe ProjectSettingAccessLevel -> Maybe Bool -> Maybe Bool -> Maybe Bool -> Maybe Bool -> Maybe ProjectSettingAccessLevel -> Maybe ProjectSettingAccessLevel -> Maybe Bool -> Maybe Text -> Maybe Bool -> Maybe Bool -> Maybe ProjectSettingAccessLevel -> Maybe Text -> Maybe Bool -> Maybe Bool -> Maybe Bool -> Maybe Bool -> Maybe Bool -> Maybe ProjectSettingAccessLevel -> Maybe SquashOption -> Maybe Text -> Maybe Visibility -> Maybe ProjectSettingAccessLevel -> Maybe Text -> Maybe Text -> Maybe Bool -> EditProjectAttrs -- | Set whether or not merge requests can be merged with skipped jobs. [project_edit_allow_merge_on_skipped_pipeline] :: EditProjectAttrs -> Maybe Bool -- | One of disabled, private or enabled. [project_edit_analytics_access_level] :: EditProjectAttrs -> Maybe Text -- | How many approvers should approve merge request by default. [project_edit_approvals_before_merge] :: EditProjectAttrs -> Maybe Int -- | Auto-cancel pending pipelines. [project_edit_auto_cancel_pending_pipelines] :: EditProjectAttrs -> Maybe EnabledDisabled -- | Auto Deploy strategy (continuous, manual, or timed_incremental). [project_edit_auto_devops_deploy_strategy] :: EditProjectAttrs -> Maybe AutoDeployStrategy -- | Enable Auto DevOps for this project. [project_edit_auto_devops_enabled] :: EditProjectAttrs -> Maybe Bool -- | Set whether auto-closing referenced issues on default branch. [project_edit_autoclose_referenced_issues] :: EditProjectAttrs -> Maybe Bool -- | Test coverage parsing. [project_edit_build_coverage_regex] :: EditProjectAttrs -> Maybe Text -- | The Git strategy. Defaults to fetch. [project_edit_build_git_strategy] :: EditProjectAttrs -> Maybe GitStrategy -- | The maximum amount of time, in seconds, that a job can run. [project_edit_build_timeout] :: EditProjectAttrs -> Maybe Int -- | One of disabled, private, or enabled. [project_edit_builds_access_level] :: EditProjectAttrs -> Maybe ProjectSettingAccessLevel -- | The path to CI configuration file. [project_edit_ci_config_path] :: EditProjectAttrs -> Maybe Text -- | Default number of revisions for shallow cloning. [project_edit_ci_default_git_depth] :: EditProjectAttrs -> Maybe Int -- | When a new deployment job starts, skip older deployment jobs that are -- still pending. [project_edit_ci_forward_deployment_enabled] :: EditProjectAttrs -> Maybe Bool -- | Set visibility of container registry, for this project, to one of -- disabled, private or enabled. [project_edit_container_registry_access_level] :: EditProjectAttrs -> Maybe ProjectSettingAccessLevel -- | The default branch name. [project_edit_default_branch] :: EditProjectAttrs -> Maybe Text -- | Short project description. [project_edit_description] :: EditProjectAttrs -> Maybe Text -- | Disable email notifications. [project_edit_emails_disabled] :: EditProjectAttrs -> Maybe Bool -- | The classification label for the project. [project_edit_external_authorization_classification_label] :: EditProjectAttrs -> Maybe Text -- | One of disabled, private, or enabled. [project_edit_forking_access_level] :: EditProjectAttrs -> Maybe ProjectSettingAccessLevel -- | The ID or URL-encoded path of the project. [project_edit_id] :: EditProjectAttrs -> Int -- | URL to import repository from. [project_edit_import_url] :: EditProjectAttrs -> Maybe Text -- | One of disabled, private, or enabled. [project_edit_issues_access_level] :: EditProjectAttrs -> Maybe ProjectSettingAccessLevel -- | Enable LFS. [project_edit_lfs_enabled] :: EditProjectAttrs -> Maybe Bool -- | Set the merge method used. [project_edit_merge_method] :: EditProjectAttrs -> Maybe MergeMethod -- | One of disabled, private, or enabled. [project_edit_merge_requests_access_level] :: EditProjectAttrs -> Maybe ProjectSettingAccessLevel -- | Pull mirror overwrites diverged branches. [project_edit_mirror_overwrites_diverged_branches] :: EditProjectAttrs -> Maybe Bool -- | Pull mirroring triggers builds. [project_edit_mirror_trigger_builds] :: EditProjectAttrs -> Maybe Bool -- | User responsible for all the activity surrounding a pull mirror event. -- (admins only) [project_edit_mirror_user_id] :: EditProjectAttrs -> Maybe Int -- | Enables pull mirroring in a project. [project_edit_mirror] :: EditProjectAttrs -> Maybe Bool -- | The name of the project. [project_edit_name] :: EditProjectAttrs -> Maybe Text -- | One of disabled, private, or enabled. [project_edit_operations_access_level] :: EditProjectAttrs -> Maybe ProjectSettingAccessLevel -- | Set whether merge requests can only be merged when all the discussions -- are resolved. [project_edit_only_allow_merge_if_all_discussions_are_resolved] :: EditProjectAttrs -> Maybe Bool -- | Set whether merge requests can only be merged with successful jobs. [project_edit_only_allow_merge_if_pipeline_succeeds] :: EditProjectAttrs -> Maybe Bool -- | Only mirror protected branches. [project_edit_only_mirror_protected_branches] :: EditProjectAttrs -> Maybe Bool -- | Enable or disable packages repository feature. [project_edit_packages_enabled] :: EditProjectAttrs -> Maybe Bool -- | One of disabled, private, enabled, or public. [project_edit_pages_access_level] :: EditProjectAttrs -> Maybe ProjectSettingAccessLevel -- | One of disabled, private, enabled or public. [project_edit_requirements_access_level] :: EditProjectAttrs -> Maybe ProjectSettingAccessLevel -- | Allow only maintainers to pass user-defined variables when triggering -- a pipeline. For example when the pipeline is triggered in the UI, with -- the API, or by a trigger token. [project_edit_restrict_user_defined_variables] :: EditProjectAttrs -> Maybe Bool -- | Custom repository name for the project. By default generated based on -- name. [project_edit_path] :: EditProjectAttrs -> Maybe Text -- | If true, jobs can be viewed by non-project members. [project_edit_public_builds] :: EditProjectAttrs -> Maybe Bool -- | Enable Delete source branch option by default for all new merge -- requests. [project_edit_remove_source_branch_after_merge] :: EditProjectAttrs -> Maybe Bool -- | One of disabled, private, or enabled. [project_edit_repository_access_level] :: EditProjectAttrs -> Maybe ProjectSettingAccessLevel -- | Which storage shard the repository is on. (admins only) [project_edit_repository_storage] :: EditProjectAttrs -> Maybe Text -- | Allow users to request member access. [project_edit_request_access_enabled] :: EditProjectAttrs -> Maybe Bool -- | Automatically resolve merge request diffs discussions on lines changed -- with a push. [project_edit_resolve_outdated_diff_discussions] :: EditProjectAttrs -> Maybe Bool -- | Enable or disable Service Desk feature. [project_edit_service_desk_enabled] :: EditProjectAttrs -> Maybe Bool -- | Enable shared runners for this project. [project_edit_shared_runners_enabled] :: EditProjectAttrs -> Maybe Bool -- | Show default award emojis. [project_edit_show_default_award_emojis] :: EditProjectAttrs -> Maybe Bool -- | One of disabled, private, or enabled. [project_edit_snippets_access_level] :: EditProjectAttrs -> Maybe ProjectSettingAccessLevel -- | One of never, always, default_on, or default_off. [project_edit_squash_option] :: EditProjectAttrs -> Maybe SquashOption -- | The commit message used to apply merge request suggestions. [project_edit_suggestion_commit_message] :: EditProjectAttrs -> Maybe Text [project_edit_visibility] :: EditProjectAttrs -> Maybe Visibility -- | One of disabled, private, or enabled. [project_edit_wiki_access_level] :: EditProjectAttrs -> Maybe ProjectSettingAccessLevel -- | Default description for Issues. Description is parsed with GitLab -- Flavored Markdown. See Templates for issues and merge requests. [project_edit_issues_template] :: EditProjectAttrs -> Maybe Text -- | Default description for Merge Requests. Description is parsed with -- GitLab Flavored Markdown. [project_edit_merge_requests_template] :: EditProjectAttrs -> Maybe Text -- | Disable or enable the ability to keep the latest artifact for this -- project. [project_edit_keep_latest_artifact] :: EditProjectAttrs -> Maybe Bool -- | Is auto-cancel pending pipelines enabled or disabled data EnabledDisabled Enabled :: EnabledDisabled Disabled :: EnabledDisabled -- | Auto Deploy strategy: continuous, manual, or timed_incremental, for -- the editProject functions data AutoDeployStrategy Continuous :: AutoDeployStrategy Manual :: AutoDeployStrategy TimedIncremental :: AutoDeployStrategy -- | The Git strategy, defaults to fetch, for the editProject -- functions data GitStrategy Clone :: GitStrategy Fetch :: GitStrategy None :: GitStrategy -- | The project access level setting, for the editProject functions data ProjectSettingAccessLevel DisabledAccess :: ProjectSettingAccessLevel PrivateAccess :: ProjectSettingAccessLevel EnabledAccess :: ProjectSettingAccessLevel PublicAccess :: ProjectSettingAccessLevel -- | The project git merge method, for the editProject functions data MergeMethod Merge :: MergeMethod RebaseMerge :: MergeMethod FF :: MergeMethod -- | The project git merge squash option, for the editProject -- functions data SquashOption NeverSquash :: SquashOption AlwaysSquash :: SquashOption DefaultOnSquash :: SquashOption DefaultOffSquash :: SquashOption instance GHC.Classes.Eq GitLab.API.Projects.EnabledDisabled instance GHC.Classes.Eq GitLab.API.Projects.AutoDeployStrategy instance GHC.Classes.Eq GitLab.API.Projects.GitStrategy instance GHC.Classes.Eq GitLab.API.Projects.ProjectSettingAccessLevel instance GHC.Classes.Eq GitLab.API.Projects.MergeMethod instance GHC.Classes.Eq GitLab.API.Projects.SquashOption instance GHC.Classes.Eq GitLab.API.Projects.EditProjectAttrs instance GHC.Show.Show GitLab.API.Projects.EditProjectAttrs instance GHC.Generics.Generic GitLab.API.Projects.EditProjectAttrs instance GHC.Show.Show GitLab.API.Projects.SquashOption instance GHC.Show.Show GitLab.API.Projects.MergeMethod instance GHC.Show.Show GitLab.API.Projects.ProjectSettingAccessLevel instance GHC.Show.Show GitLab.API.Projects.GitStrategy instance GHC.Show.Show GitLab.API.Projects.AutoDeployStrategy instance GHC.Show.Show GitLab.API.Projects.EnabledDisabled module GitLab.SystemHooks.Rules -- | Add specified users with a Reporter role to all specified -- projects with a given project name ruleAddMembers :: String -> [Text] -> [Text] -> Rule -- | When a new user creates an account on a GitLab server they are added -- to all groups in the specified group list ruleAddNewUserToGroups :: String -> [Text] -> [Text] -> Rule 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 (Response ByteString) [Branch]) module GitLab.API.Boards -- | returns all issue boards for a project. projectIssueBoards :: Project -> GitLab [IssueBoard] -- | returns all issue boards for a project given its project ID. projectIssueBoards' :: Int -> GitLab (Either (Response ByteString) [IssueBoard]) -- | returns all issue boards for a project. projectIssueBoard :: Project -> Int -> GitLab (Either (Response ByteString) (Maybe IssueBoard)) -- | returns all issue boards for a project. projectIssueBoard' :: Int -> Int -> GitLab (Either (Response ByteString) (Maybe IssueBoard)) -- | Creates a project issue board. createIssueBoard :: Project -> Text -> GitLab (Maybe IssueBoard) -- | Creates a project issue board. createIssueBoard' :: Int -> Text -> GitLab (Either (Response ByteString) (Maybe IssueBoard)) -- | Updates a project issue board. updateIssueBoard' :: Int -> Int -> UpdateBoardAttrs -> GitLab (Either (Response ByteString) (Maybe IssueBoard)) -- | Deletes a project issue board. deleteIssueBoard :: Project -> IssueBoard -> GitLab (Either (Response ByteString) (Maybe ())) -- | Deletes a project issue board. deleteIssueBoard' :: Int -> Int -> GitLab (Either (Response ByteString) (Maybe ())) -- | Get a list of the board’s lists. Does not include open and closed -- lists. projectBoardLists :: Project -> IssueBoard -> GitLab [BoardIssue] -- | Get a list of the board’s lists. Does not include open and closed -- lists. projectBoardLists' :: Int -> Int -> GitLab (Either (Response ByteString) [BoardIssue]) -- | Get a list of the board’s lists. Does not include open and closed -- lists. boardList :: Project -> IssueBoard -> Int -> GitLab (Maybe BoardIssue) -- | Get a list of the board’s lists. Does not include open and closed -- lists. boardList' :: Int -> Int -> Int -> GitLab (Either (Response ByteString) (Maybe BoardIssue)) -- | Creates a new issue board list. createBoardList :: Project -> IssueBoard -> CreateBoardAttrs -> GitLab (Maybe BoardIssue) -- | Creates a new issue board list. createBoardList' :: Int -> Int -> CreateBoardAttrs -> GitLab (Either (Response ByteString) (Maybe BoardIssue)) -- | Updates an existing issue board list. This call is used to change list -- position. reorderBoardList :: Project -> IssueBoard -> Int -> Int -> GitLab (Either (Response ByteString) (Maybe BoardIssue)) -- | Updates an existing issue board list. This call is used to change list -- position. reorderBoardList' :: Int -> Int -> Int -> Int -> GitLab (Either (Response ByteString) (Maybe BoardIssue)) -- | Only for administrators and project owners. Deletes a board list. deleteBoardList :: Project -> IssueBoard -> Int -> GitLab (Either (Response ByteString) (Maybe ())) -- | Only for administrators and project owners. Deletes a board list. deleteBoardList' :: Int -> Int -> Int -> GitLab (Either (Response ByteString) (Maybe ())) -- | Attributes for updating when editing a board with the functions for -- updating issue boards. data UpdateBoardAttrs UpdateBoardAttrs :: Maybe String -> Maybe Int -> Maybe Int -> Maybe String -> Maybe Int -> UpdateBoardAttrs [updateBoard_new_name] :: UpdateBoardAttrs -> Maybe String [updateBoard_assignee_id] :: UpdateBoardAttrs -> Maybe Int [updateBoard_milestone_id] :: UpdateBoardAttrs -> Maybe Int [updateBoard_labels] :: UpdateBoardAttrs -> Maybe String [updateBoard_weight] :: UpdateBoardAttrs -> Maybe Int -- | default attributes for board update. defaultUpdateBoardAttrs :: UpdateBoardAttrs -- | default attributes for board creation. defaultCreateBoardAttrs :: CreateBoardAttrs -- | exactly one parameter must be provided. data CreateBoardAttrs CreateBoardAttrs :: Maybe Int -> Maybe Int -> Maybe Int -> CreateBoardAttrs [createBoard_label_id] :: CreateBoardAttrs -> Maybe Int [createBoard_assignee_id] :: CreateBoardAttrs -> Maybe Int [createBoard_milestone_id] :: CreateBoardAttrs -> Maybe Int 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
-- | The same as runGitLab, except that it prompts for a GitLab
-- access token before running the GitLab action.
--
-- In this case you can just use defaultGitLabServer with no
-- modification of the record field values, because these values will be
-- asked for at runtime:
--
-- -- runGitLabPassPrompt defaultGitLabServer myGitLabProgram --runGitLabPassPrompt :: 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