-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | A Haskell library for the GitLab web API -- -- This library lifts the GitLab REST API into Haskell: -- https://docs.gitlab.com/ee/api/ -- -- The library also features a reactive event driven API for writing -- Gitlab file hook applications. @package gitlab-haskell @version 1.0.2.0 module GitLab.Types -- | Utility type which uses IO as underlying monad type GitLab a = GitLabT IO a -- | The monad in which the GitLab operations can be run. Contains the -- GitLabState to run the requests with. -- -- Run it with runGitLab newtype GitLabT m a GitLabT :: ReaderT GitLabState m a -> GitLabT m 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 -> AuthMethod -> Int -> DebugSystemHooks -> GitLabServerConfig [url] :: GitLabServerConfig -> Text [token] :: GitLabServerConfig -> AuthMethod -- | 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 -> DebugSystemHooks -- | personal access token, see -- https://docs.gitlab.com/ee/user/profile/personal_access_tokens.html data AuthMethod AuthMethodToken :: Text -> AuthMethod AuthMethodOAuth :: Text -> AuthMethod -- | 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 -- | 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 -- | Where to filter a search within data SearchIn JustTitle :: SearchIn JustDescription :: SearchIn TitleAndDescription :: SearchIn -- | Scope of search results data Scope CreatedByMe :: Scope AssignedToMe :: Scope All :: Scope -- | Sort objects in ascending or descending order data SortBy Ascending :: SortBy Descending :: SortBy -- | Ordering search results data OrderBy CreatedAt :: OrderBy UpdatedAt :: OrderBy Priority :: OrderBy DueDate :: OrderBy RelativePosition :: OrderBy LabelPriority :: OrderBy MilestoneDue :: OrderBy Popularity :: OrderBy Weight :: OrderBy -- | member of a project. data Member Member :: Int -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Int -> Maybe SamlIdentity -> Maybe Text -> Maybe Bool -> Maybe Bool -> Maybe Text -> Maybe Bool -> Maybe Text -> Maybe Text -> Maybe UTCTime -> Maybe Bool -> Maybe Text -> Member [member_id] :: Member -> Int [member_name] :: Member -> Maybe Text [member_email] :: Member -> Maybe Text [member_username] :: Member -> Maybe Text [member_state] :: Member -> Maybe Text [member_avatar_uri] :: Member -> Maybe Text [member_web_url] :: Member -> Maybe Text [member_access_level] :: Member -> Maybe Int [member_group_saml_identity] :: Member -> Maybe SamlIdentity [member_expires_at] :: Member -> Maybe Text [member_invited] :: Member -> Maybe Bool [member_override] :: Member -> Maybe Bool [member_avatar_url] :: Member -> Maybe Text [member_approved] :: Member -> Maybe Bool [member_membership_type] :: Member -> Maybe Text [member_last_activity_on] :: Member -> Maybe Text [member_created_at] :: Member -> Maybe UTCTime [member_removable] :: Member -> Maybe Bool [member_membership_state] :: Member -> Maybe Text -- | SAML identity data SamlIdentity SamlIdentity :: Text -> Text -> Maybe Int -> SamlIdentity [saml_identity_extern_uid] :: SamlIdentity -> Text [saml_identity_provider] :: SamlIdentity -> Text [saml_identity_saml_provider_id] :: SamlIdentity -> Maybe Int -- | identity data Identity Identity :: Text -> Text -> Maybe Int -> Identity [identity_extern_uid] :: Identity -> Text [identity_provider] :: Identity -> Text [identity_provider_id] :: Identity -> Maybe Int -- | namespaces. data Namespace Namespace :: Int -> Text -> Text -> Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Int -> Namespace [namespace_id] :: Namespace -> Int [namespace_name] :: Namespace -> Text [namespace_path] :: Namespace -> Text [namespace_kind] :: Namespace -> Text [namespace_full_path] :: Namespace -> Maybe Text [namespace_avatar_url] :: Namespace -> Maybe Text [namespace_web_url] :: Namespace -> Maybe Text [namespace_parent_id] :: Namespace -> Maybe Int -- | links. data Links Links :: Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Links [links_self] :: Links -> Text [links_issues] :: Links -> Maybe Text [links_notes] :: Links -> Maybe Text [links_award_emoji] :: Links -> Maybe Text [links_project] :: Links -> Maybe Text [links_merge_requests] :: Links -> Maybe Text [links_repo_branches] :: Links -> Maybe Text [links_labels] :: Links -> Maybe Text [links_events] :: Links -> Maybe Text [links_members] :: Links -> Maybe Text -- | owners. data Owner Ownwer :: Int -> Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe UTCTime -> Owner [owner_id] :: Owner -> Int [owner_name] :: Owner -> Text [owner_username] :: Owner -> Maybe Text [owner_email] :: Owner -> Maybe Text [owner_state] :: Owner -> Maybe Text [owner_avatar_url] :: Owner -> Maybe Text [owner_web_url] :: Owner -> Maybe Text [owner_created_at] :: Owner -> Maybe UTCTime -- | permissions. data Permissions Permissions :: Maybe Value -> Maybe Value -> Permissions [permissions_project_access] :: Permissions -> Maybe Value [permissions_group_access] :: Permissions -> Maybe Value -- | alias for project id type ProjectId = Int -- | projects. data Project Project :: Int -> Maybe Text -> Text -> Text -> Text -> Text -> Maybe UTCTime -> Maybe Text -> Maybe [Text] -> Maybe [Text] -> Maybe Text -> Maybe Text -> Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe License -> Maybe Int -> Maybe Text -> Maybe Int -> Maybe Bool -> Maybe Int -> Maybe UTCTime -> Maybe Namespace -> Maybe Bool -> Maybe Text -> Maybe Owner -> Maybe Bool -> Maybe Bool -> Maybe Text -> Maybe ExpirationPolicy -> Maybe Bool -> Maybe Bool -> Maybe Bool -> Maybe Bool -> Maybe Bool -> Maybe Bool -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Bool -> Maybe Bool -> Maybe Bool -> Maybe Int -> Maybe Project -> Maybe String -> Maybe Int -> Maybe Bool -> Maybe Int -> Maybe Text -> Maybe Text -> Maybe [GroupShare] -> Maybe Bool -> Maybe Bool -> Maybe Bool -> Maybe Bool -> Maybe Bool -> Maybe Bool -> Maybe Bool -> Maybe Bool -> Maybe Text -> Maybe Text -> Maybe Bool -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe [Text] -> Maybe Statistics -> Maybe Permissions -> Maybe Text -> Maybe Links -> Maybe Bool -> Maybe Bool -> Maybe Bool -> Maybe Text -> Maybe Bool -> Maybe Bool -> Maybe Int -> Maybe Int -> Maybe Bool -> Maybe Bool -> Maybe Bool -> Maybe Text -> Project [project_id] :: Project -> Int [project_description] :: Project -> Maybe Text [project_name] :: Project -> Text [project_name_with_namespace] :: Project -> Text [project_path] :: Project -> Text [project_path_with_namespace] :: Project -> Text [project_created_at] :: Project -> Maybe UTCTime [project_default_branch] :: Project -> Maybe Text [project_tag_list] :: Project -> Maybe [Text] [project_topics] :: Project -> Maybe [Text] [project_ssh_url_to_repo] :: Project -> Maybe Text [project_http_url_to_repo] :: Project -> Maybe Text [project_web_url] :: Project -> Text [project_readme_url] :: Project -> Maybe Text [project_avatar_url] :: Project -> Maybe Text [project_license_url] :: Project -> Maybe Text [project_license] :: Project -> Maybe License [project_star_count] :: Project -> Maybe Int [project_runners_token] :: Project -> Maybe Text [project_ci_default_git_depth] :: Project -> Maybe Int [project_ci_forward_deployment_enabled] :: Project -> Maybe Bool [project_forks_count] :: Project -> Maybe Int [project_last_activity_at] :: Project -> Maybe UTCTime [project_namespace] :: Project -> Maybe Namespace [project_archived] :: Project -> Maybe Bool [project_visibility] :: Project -> Maybe Text [project_owner] :: Project -> Maybe Owner [project_resolve_outdated_diff_discussions] :: Project -> Maybe Bool [project_container_registry_enabled] :: Project -> Maybe Bool [project_container_registry_access_level] :: Project -> Maybe Text [project_container_expiration_policy] :: Project -> Maybe ExpirationPolicy [project_issues_enabled] :: Project -> Maybe Bool [project_merge_requests_enabled] :: Project -> Maybe Bool [project_wiki_enabled] :: Project -> Maybe Bool [project_jobs_enabled] :: Project -> Maybe Bool [project_snippets_enabled] :: Project -> Maybe Bool [project_can_create_merge_request_in] :: Project -> Maybe Bool [project_issues_access_level] :: Project -> Maybe Text [project_repository_access_level] :: Project -> Maybe Text [project_merge_requests_access_level] :: Project -> Maybe Text [project_forking_access_level] :: Project -> Maybe Text [project_analytics_access_level] :: Project -> Maybe Text [project_wiki_access_level] :: Project -> Maybe Text [project_builds_access_level] :: Project -> Maybe Text [project_snippets_access_level] :: Project -> Maybe Text [project_pages_access_level] :: Project -> Maybe Text [project_emails_disabled] :: Project -> Maybe Bool [project_shared_runners_enabled] :: Project -> Maybe Bool [project_lfs_enabled] :: Project -> Maybe Bool [project_creator_id] :: Project -> Maybe Int [project_forked_from_project] :: Project -> Maybe Project [project_import_status] :: Project -> Maybe String [project_open_issues_count] :: Project -> Maybe Int [project_public_jobs] :: Project -> Maybe Bool [project_build_timeout] :: Project -> Maybe Int [project_auto_cancel_pending_pipelines] :: Project -> Maybe Text [project_ci_config_path] :: Project -> Maybe Text [project_shared_with_groups] :: Project -> Maybe [GroupShare] [project_only_allow_merge_if_pipeline_succeeds] :: Project -> Maybe Bool [project_allow_merge_on_skipped_pipeline] :: Project -> Maybe Bool [project_restrict_user_defined_variables] :: Project -> Maybe Bool [project_request_access_enabled] :: Project -> Maybe Bool [project_only_allow_merge_if_all_discussions_are_resolved] :: Project -> Maybe Bool [project_remove_source_branch_after_merge] :: Project -> Maybe Bool [project_printing_merge_request_link_enabled] :: Project -> Maybe Bool [project_printing_merge_requests_link_enabled] :: Project -> Maybe Bool [project_merge_method] :: Project -> Maybe Text [project_squash_option] :: Project -> Maybe Text [project_autoclose_referenced_issues] :: Project -> Maybe Bool [project_suggestion_commit_message] :: Project -> Maybe Text [project_marked_for_deletion_at] :: Project -> Maybe Text [project_marked_for_deletion_on] :: Project -> Maybe Text [project_compliance_frameworks] :: Project -> Maybe [Text] [project_statistics] :: Project -> Maybe Statistics [project_permissions] :: Project -> Maybe Permissions [project_container_registry_image_prefix] :: Project -> Maybe Text [project__links] :: Project -> Maybe Links [project_mirror] :: Project -> Maybe Bool [project_mirror_overwrites_diverged_branches] :: Project -> Maybe Bool [project_mirror_trigger_builds] :: Project -> Maybe Bool [project_auto_devops_deploy_strategy] :: Project -> Maybe Text [project_auto_devops_enabled] :: Project -> Maybe Bool [project_service_desk_enabled] :: Project -> Maybe Bool [project_approvals_before_merge] :: Project -> Maybe Int [project_mirror_user_id] :: Project -> Maybe Int [project_packages_enabled] :: Project -> Maybe Bool [project_empty_repo] :: Project -> Maybe Bool [project_only_mirror_protected_branches] :: Project -> Maybe Bool [project_repository_storage] :: Project -> Maybe Text -- | project statistics. data Statistics Statistics :: Maybe Int -> Int -> Int -> Maybe Int -> Maybe Int -> Maybe Int -> Maybe Int -> Maybe Int -> Maybe Int -> Maybe Int -> Statistics [statistics_commit_count] :: Statistics -> Maybe Int [statistics_storage_size] :: Statistics -> Int [statistics_repository_size] :: Statistics -> Int [statistics_wiki_size] :: Statistics -> Maybe Int [statistics_lfs_objects_size] :: Statistics -> Maybe Int [statistics_job_artifacts_size] :: Statistics -> Maybe Int [statistics_packages_size] :: Statistics -> Maybe Int [statistics_uploads_size] :: Statistics -> Maybe Int [statistics_snippets_size] :: Statistics -> Maybe Int [statistics_pipeline_artifacts_size] :: Statistics -> Maybe Int -- | registered users. data User User :: Int -> Text -> Maybe Text -> Maybe Bool -> Maybe UTCTime -> Maybe UTCTime -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Int -> Maybe Int -> Maybe Bool -> Maybe Bool -> Maybe Int -> Maybe Bool -> Maybe Bool -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe UTCTime -> Maybe [Identity] -> Text -> Maybe Text -> Maybe Int -> Maybe Bool -> Maybe Int -> Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Int -> Maybe Int -> Maybe Bool -> Maybe UTCTime -> Maybe Text -> Maybe Text -> Maybe Bool -> Maybe Text -> Maybe Bool -> Maybe Bool -> Maybe Bool -> User [user_id] :: User -> Int [user_username] :: User -> Text [user_bio] :: User -> Maybe Text [user_two_factor_enabled] :: User -> Maybe Bool [user_last_sign_in_at] :: User -> Maybe UTCTime [user_current_sign_in_at] :: User -> Maybe UTCTime [user_last_activity_on] :: User -> Maybe Text [user_skype] :: User -> Maybe Text [user_twitter] :: User -> Maybe Text [user_website_url] :: User -> Maybe Text [user_theme_id] :: User -> Maybe Int [user_color_scheme_id] :: User -> Maybe Int [user_external] :: User -> Maybe Bool [user_private_profile] :: User -> Maybe Bool [user_projects_limit] :: User -> Maybe Int [user_can_create_group] :: User -> Maybe Bool [user_can_create_project] :: User -> Maybe Bool [user_public_email] :: User -> Maybe Text [user_organization] :: User -> Maybe Text [user_job_title] :: User -> Maybe Text [user_pronouns] :: User -> Maybe Text [user_linkedin] :: User -> Maybe Text [user_confirmed_at] :: User -> Maybe UTCTime [user_identities] :: User -> Maybe [Identity] [user_name] :: User -> Text [user_email] :: User -> Maybe Text [user_followers] :: User -> Maybe Int [user_bot] :: User -> Maybe Bool [user_following] :: User -> Maybe Int [user_state] :: User -> Text [user_avatar_url] :: User -> Maybe Text [user_web_url] :: User -> Maybe Text [user_location] :: User -> Maybe Text [user_extern_uid] :: User -> Maybe Int [user_group_id_for_saml] :: User -> Maybe Int [user_discussion_locked] :: User -> Maybe Bool [user_created_at] :: User -> Maybe UTCTime [user_note] :: User -> Maybe Text [user_password] :: User -> Maybe Text [user_force_random_password] :: User -> Maybe Bool [user_providor] :: User -> Maybe Text [user_reset_password] :: User -> Maybe Bool [user_skip_confirmation] :: User -> Maybe Bool [user_view_diffs_file_by_file] :: User -> Maybe Bool -- | milestones. data Milestone Milestone :: Maybe Int -> Maybe Int -> Maybe Text -> Maybe MilestoneState -> Maybe Text -> Maybe Text -> Maybe Int -> Maybe UTCTime -> 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_start_date] :: Milestone -> Maybe Text [milestone_iid] :: Milestone -> Maybe Int [milestone_created_at] :: Milestone -> Maybe UTCTime [milestone_closed_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_stats_time_estimate] :: TimeStats -> Int [time_stats_total_time_spent] :: TimeStats -> Int [time_stats_human_time_estimate] :: TimeStats -> Maybe Int [time_stats_human_total_time_spent] :: TimeStats -> Maybe Int -- | alias for issue id type IssueId = Int -- | project issues. data Issue Issue :: Text -> Maybe Text -> Maybe Text -> Maybe User -> Maybe Milestone -> Maybe ProjectId -> Maybe [User] -> Maybe User -> Maybe UTCTime -> Maybe Text -> Maybe User -> IssueId -> Text -> Maybe UTCTime -> Int -> Maybe Text -> Maybe Text -> Maybe [Text] -> Int -> Int -> Maybe Int -> Maybe Int -> Maybe Text -> Text -> Maybe References -> Maybe Bool -> Maybe Text -> Maybe Epic -> Maybe Bool -> Maybe TimeStats -> Maybe Bool -> Maybe Text -> Maybe Links -> Maybe TaskCompletionStatus -> Maybe Int -> Maybe Bool -> Maybe Text -> Issue [issue_state] :: Issue -> Text [issue_description] :: Issue -> Maybe Text [issue_health_status] :: Issue -> Maybe Text [issue_author] :: Issue -> Maybe User [issue_milestone] :: Issue -> Maybe Milestone [issue_project_id] :: Issue -> Maybe ProjectId [issue_assignees] :: Issue -> Maybe [User] [issue_assignee] :: Issue -> Maybe User [issue_updated_at] :: Issue -> Maybe UTCTime [issue_closed_at] :: Issue -> Maybe Text [issue_closed_by] :: Issue -> Maybe User [issue_id] :: Issue -> IssueId [issue_title] :: Issue -> Text [issue_created_at] :: Issue -> Maybe UTCTime [issue_iid] :: Issue -> Int [issue_type] :: Issue -> Maybe Text [issue_issue_type] :: Issue -> Maybe Text [issue_labels] :: Issue -> Maybe [Text] [issue_upvotes] :: Issue -> Int [issue_downvotes] :: Issue -> Int [issue_merge_requests_count] :: Issue -> Maybe Int [issue_user_notes_count] :: Issue -> Maybe Int [issue_due_date] :: Issue -> Maybe Text [issue_web_url] :: Issue -> Text [issue_references] :: Issue -> Maybe References [issue_confidential] :: Issue -> Maybe Bool [issue_weight] :: Issue -> Maybe Text [issue_epic] :: Issue -> Maybe Epic [issue_discussion_locked] :: Issue -> Maybe Bool [issue_time_stats] :: Issue -> Maybe TimeStats [issue_has_tasks] :: Issue -> Maybe Bool [issue_task_status] :: Issue -> Maybe Text [issue__links] :: Issue -> Maybe Links [issue_task_completion_status] :: Issue -> Maybe TaskCompletionStatus [issue_blocking_issues_count] :: Issue -> Maybe Int [issue_subscribed] :: Issue -> Maybe Bool [issue_service_desk_reply_to] :: Issue -> Maybe Text -- | GitLab epic. data Epic Epic :: Int -> Int -> Text -> Text -> Int -> Epic [epic_id] :: Epic -> Int [epic_iid] :: Epic -> Int [epic_title] :: Epic -> Text [epic_url] :: Epic -> Text [epic_group_id] :: Epic -> Int -- | project pipelines data Pipeline Pipeline :: Int -> Maybe Int -> Maybe Int -> Text -> Text -> Text -> Maybe Text -> Maybe Text -> Maybe Bool -> Maybe Text -> Maybe User -> Maybe UTCTime -> Maybe UTCTime -> Maybe UTCTime -> Maybe UTCTime -> Maybe UTCTime -> Maybe Int -> Maybe Double -> Maybe Text -> Maybe DetailedStatus -> Pipeline [pipeline_id] :: Pipeline -> Int [pipeline_iid] :: Pipeline -> Maybe Int [pipeline_project_id] :: Pipeline -> Maybe Int [pipeline_sha] :: Pipeline -> Text [pipeline_ref] :: Pipeline -> Text [pipeline_status] :: Pipeline -> Text [pipeline_web_url] :: Pipeline -> Maybe Text [pipeline_before_sha] :: Pipeline -> Maybe Text [pipeline_tag] :: Pipeline -> Maybe Bool [pipeline_yaml_errors] :: Pipeline -> Maybe Text [pipeline_user] :: Pipeline -> Maybe User [pipeline_created_at] :: Pipeline -> Maybe UTCTime [pipeline_updated_at] :: Pipeline -> Maybe UTCTime [pipeline_started_at] :: Pipeline -> Maybe UTCTime [pipeline_finished_at] :: Pipeline -> Maybe UTCTime [pipelined_committed_at] :: Pipeline -> Maybe UTCTime [pipeline_duration] :: Pipeline -> Maybe Int [pipeline_queued_duration] :: Pipeline -> Maybe Double [pipeline_coverage] :: Pipeline -> Maybe Text [pipeline_detailed_status] :: Pipeline -> Maybe DetailedStatus -- | code commits. data Commit Commit :: Text -> Text -> Text -> Text -> Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Text -> Maybe [String] -> Maybe Pipeline -> Maybe CommitStats -> Maybe Text -> Maybe Text -> Commit [commit_id] :: Commit -> Text [commit_short_id] :: Commit -> Text [commit_title] :: Commit -> Text [commit_author_name] :: Commit -> Text [commit_author_email] :: Commit -> Text [commit_authored_date] :: Commit -> Maybe Text [commit_committer_name] :: Commit -> Maybe Text [commit_committer_email] :: Commit -> Maybe Text [commit_committed_date] :: Commit -> Maybe Text [commit_created_at] :: Commit -> Maybe Text [commit_message] :: Commit -> Text [commit_parent_ids] :: Commit -> Maybe [String] [commit_last_pipeline] :: Commit -> Maybe Pipeline [commit_stats] :: Commit -> Maybe CommitStats [commit_status] :: Commit -> Maybe Text [commit_web_url] :: Commit -> Maybe Text -- | summary of a code commit for TODOs. data CommitTodo CommitTodo :: Text -> Text -> UTCTime -> Maybe [String] -> CommitTodo [commit_todo_id] :: CommitTodo -> Text [commit_todo_short_id] :: CommitTodo -> Text [commit_todo_created_at] :: CommitTodo -> UTCTime [commit_todo_parent_ids] :: CommitTodo -> Maybe [String] -- | commit stats. data CommitStats CommitStats :: Int -> Int -> Int -> CommitStats [commitstats_additions] :: CommitStats -> Int [commitstats_deletions] :: CommitStats -> Int [commitstats_total] :: CommitStats -> Int -- | repository contributors. data Contributor Contributor :: Text -> Text -> Int -> Int -> Int -> Contributor [contributor_name] :: Contributor -> Text [contributor_email] :: Contributor -> Text [contributor_commits] :: Contributor -> Int [contributor_additions] :: Contributor -> Int [contributor_deletions] :: Contributor -> 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] :: Diff -> Text [diff_new_path] :: Diff -> Text [diff_old_path] :: Diff -> Text [diff_a_mode] :: Diff -> Maybe Text [diff_b_mode] :: Diff -> Maybe Text [diff_new_file] :: Diff -> Bool [diff_renamed_file] :: Diff -> Bool [diff_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 [repository_mode] :: Repository -> Text -- | Events https://docs.gitlab.com/ee/api/events.html data Job Job :: Commit -> Maybe Text -> Bool -> UTCTime -> Maybe UTCTime -> Maybe UTCTime -> Maybe Double -> Double -> Maybe Artifact -> Maybe [Artifact] -> Maybe UTCTime -> Maybe [Text] -> Int -> Text -> Maybe Pipeline -> Text -> Maybe Text -> Text -> Maybe Text -> Bool -> Text -> Maybe User -> Maybe Pipeline -> Job [job_commit] :: Job -> Commit [job_coverage] :: Job -> Maybe Text [job_allow_failure] :: Job -> Bool [job_created_at] :: Job -> UTCTime [job_started_at] :: Job -> Maybe UTCTime [job_finished_at] :: Job -> Maybe UTCTime [job_duration] :: Job -> Maybe Double [job_queued_duration] :: Job -> Double [job_artifacts_file] :: Job -> Maybe Artifact [job_artifacts] :: Job -> Maybe [Artifact] [job_artifacts_expire_at] :: Job -> Maybe UTCTime [job_tag_list] :: Job -> Maybe [Text] [job_id] :: Job -> Int [job_name] :: Job -> Text [job_pipeline] :: Job -> Maybe Pipeline [job_ref] :: Job -> Text [job_stage] :: Job -> Maybe Text [job_status] :: Job -> Text [job_failure_reason] :: Job -> Maybe Text [job_tag] :: Job -> Bool [job_web_url] :: Job -> Text [job_user] :: Job -> Maybe User [job_downstream_pipeline] :: Job -> Maybe Pipeline -- | artifacts. data Artifact Artifact :: Maybe Text -> Int -> Text -> Maybe Text -> Artifact [artifact_file_type] :: Artifact -> Maybe Text [artifact_size] :: Artifact -> Int [artifact_filename] :: Artifact -> Text [artifact_file_format] :: Artifact -> Maybe Text -- | groups. data Group Group :: Int -> Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Bool -> Maybe Bool -> Maybe Int -> Maybe Text -> Maybe Bool -> Maybe Text -> Maybe Bool -> Maybe Bool -> Maybe Int -> Maybe Bool -> Maybe Text -> Maybe Text -> Maybe Bool -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Int -> Maybe Int -> Maybe UTCTime -> Maybe Statistics -> Maybe [GroupShare] -> Maybe Bool -> Group [group_id] :: Group -> Int [group_name] :: Group -> Text [group_path] :: Group -> Maybe Text [group_description] :: Group -> Maybe Text [group_visibility] :: Group -> Maybe Text [group_share_with_group_lock] :: Group -> Maybe Bool [group_require_two_factor_authentication] :: Group -> Maybe Bool [group_two_factor_grace_period] :: Group -> Maybe Int [group_project_creation_level] :: Group -> Maybe Text [group_auto_devops_enabled] :: Group -> Maybe Bool [group_subgroup_creation_level] :: Group -> Maybe Text [group_emails_disabled] :: Group -> Maybe Bool [group_mentions_disabled] :: Group -> Maybe Bool [group_default_branch_protection] :: Group -> Maybe Int [group_lfs_enabled] :: Group -> Maybe Bool [group_avatar_url] :: Group -> Maybe Text [group_web_url] :: Group -> Maybe Text [group_request_access_enabled] :: Group -> Maybe Bool [group_full_name] :: Group -> Maybe Text [group_full_path] :: Group -> Maybe Text [group_runners_token] :: Group -> Maybe Text [group_file_template_project_id] :: Group -> Maybe Int [group_parent_id] :: Group -> Maybe Int [group_created_at] :: Group -> Maybe UTCTime [group_statistics] :: Group -> Maybe Statistics [group_shared_with_groups] :: Group -> Maybe [GroupShare] [group_prevent_sharing_groups_outside_hierarchy] :: Group -> Maybe Bool -- | response to sharing a project with a group. data GroupShare GroupShare :: Maybe Int -> Maybe Int -> Int -> Maybe Text -> Maybe Text -> Maybe Int -> Maybe Text -> GroupShare [groupshare_id] :: GroupShare -> Maybe Int [groupshare_project_id] :: GroupShare -> Maybe Int [groupshare_group_id] :: GroupShare -> Int [groupshare_group_name] :: GroupShare -> Maybe Text [groupshare_group_full_path] :: GroupShare -> Maybe Text [groupshare_group_access_level] :: GroupShare -> Maybe Int [groupshare_expires_at] :: GroupShare -> Maybe Text -- | code branches. data Branch Branch :: Text -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Maybe Text -> Commit -> Branch [branch_name] :: Branch -> Text [branch_merged] :: Branch -> Bool [branch_protected] :: Branch -> Bool [branch_default] :: Branch -> Bool [branch_developers_can_push] :: Branch -> Bool [branch_developers_can_merge] :: Branch -> Bool [branch_can_push] :: Branch -> Bool [branch_web_url] :: Branch -> Maybe Text [branch_commit] :: Branch -> Commit -- | files in a repository. data RepositoryFile RepositoryFile :: Text -> Text -> Int -> Text -> Text -> Text -> Text -> Text -> Text -> Text -> Maybe Bool -> RepositoryFile [repository_file_file_name] :: RepositoryFile -> Text [repository_file_file_path] :: RepositoryFile -> Text [repository_file_size] :: RepositoryFile -> Int [repository_file_encoding] :: RepositoryFile -> Text [repository_file_content] :: RepositoryFile -> Text [repository_file_content_sha256] :: RepositoryFile -> Text [repository_file_ref] :: RepositoryFile -> Text [repository_file_blob_id] :: RepositoryFile -> Text [repository_file_commit_id] :: RepositoryFile -> Text [repository_file_last_commit_id] :: RepositoryFile -> Text [repository_file_execute_filemode] :: RepositoryFile -> Maybe Bool -- | files in a repository. data RepositoryFileBlame RepositoryFileBlame :: Commit -> [Text] -> RepositoryFileBlame [repository_file_blame_commit] :: RepositoryFileBlame -> Commit [repository_file_blame_lines] :: RepositoryFileBlame -> [Text] -- | files in a repository. data RepositoryFileSimple RepositoryFileSimple :: Text -> Text -> RepositoryFileSimple [repository_file_simple_file_path] :: RepositoryFileSimple -> Text [repository_file_simple_branch] :: RepositoryFileSimple -> Text -- | project merge requests. data MergeRequest MergeRequest :: Int -> Int -> Int -> Text -> Text -> Text -> UTCTime -> UTCTime -> Text -> Text -> Int -> Int -> User -> Maybe User -> Maybe [User] -> Maybe [User] -> Int -> Int -> [Text] -> Maybe Bool -> Bool -> Maybe Milestone -> Bool -> Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Int -> Maybe Bool -> Maybe Bool -> Maybe Bool -> Maybe Bool -> Maybe Bool -> Maybe Text -> Maybe TimeStats -> Maybe Bool -> Maybe Bool -> Maybe String -> Maybe User -> Maybe UTCTime -> Maybe User -> Maybe UTCTime -> Maybe UTCTime -> Maybe UTCTime -> Maybe UTCTime -> Maybe Pipeline -> Maybe Pipeline -> Maybe Int -> Maybe Bool -> Maybe Bool -> Maybe Bool -> Maybe Bool -> Maybe Int -> Maybe Bool -> Maybe TaskCompletionStatus -> Maybe Text -> Maybe References -> Maybe [Change] -> Maybe Bool -> Maybe DiffRefs -> 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_created_at] :: MergeRequest -> UTCTime [merge_request_updated_at] :: MergeRequest -> UTCTime [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_assignees] :: MergeRequest -> Maybe [User] [merge_request_reviewers] :: MergeRequest -> Maybe [User] [merge_request_source_project_id] :: MergeRequest -> Int [merge_request_target_project_id] :: MergeRequest -> Int [merge_request_labels] :: MergeRequest -> [Text] [merge_request_draft] :: MergeRequest -> Maybe Bool [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_merge_error] :: MergeRequest -> Maybe Text [merge_request_sha] :: MergeRequest -> Maybe Text [merge_request_merge_commit_sha] :: MergeRequest -> Maybe Text [merge_request_squash_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 -> Maybe Text [merge_request_time_stats] :: MergeRequest -> Maybe TimeStats [merge_request_squash] :: MergeRequest -> Maybe Bool [merge_request_subscribed] :: MergeRequest -> Maybe Bool [merge_request_changes_count] :: MergeRequest -> Maybe String [merge_request_merged_by] :: MergeRequest -> Maybe User [merge_request_merged_at] :: MergeRequest -> Maybe UTCTime [merge_request_closed_by] :: MergeRequest -> Maybe User [merge_request_closed_at] :: MergeRequest -> Maybe UTCTime [merge_request_latest_build_started_at] :: MergeRequest -> Maybe UTCTime [merge_request_latest_build_finished_at] :: MergeRequest -> Maybe UTCTime [merge_request_first_deployed_to_production_at] :: MergeRequest -> Maybe UTCTime [merge_request_pipeline] :: MergeRequest -> Maybe Pipeline [merge_request_head_pipeline] :: MergeRequest -> Maybe Pipeline [merge_request_diverged_commits_count] :: MergeRequest -> Maybe Int [merge_request_rebase_in_progress] :: MergeRequest -> Maybe Bool [merge_request_first_contribution] :: MergeRequest -> Maybe Bool [merge_request_has_conflicts] :: MergeRequest -> Maybe Bool [merge_request_blocking_discussions_resolved] :: MergeRequest -> Maybe Bool [merge_request_approvals_before_merge] :: MergeRequest -> Maybe Int [merge_request_mirror] :: MergeRequest -> Maybe Bool [merge_request_task_completion_status] :: MergeRequest -> Maybe TaskCompletionStatus [merge_request_reference] :: MergeRequest -> Maybe Text [merge_request_references] :: MergeRequest -> Maybe References [merge_request_changes] :: MergeRequest -> Maybe [Change] [merge_request_overflow] :: MergeRequest -> Maybe Bool [merge_request_diff_refs] :: MergeRequest -> Maybe DiffRefs -- | TODOs. data Todo Todo :: Int -> TodoProject -> User -> TodoAction -> TodoTargetType -> TodoTarget -> URL -> Text -> TodoState -> UTCTime -> Maybe UTCTime -> Todo [todo_id] :: Todo -> Int [todo_project] :: Todo -> TodoProject [todo_author] :: Todo -> User [todo_action_name] :: Todo -> TodoAction [todo_target_type] :: Todo -> TodoTargetType [todo_target] :: Todo -> TodoTarget [todo_target_url] :: Todo -> URL [todo_body] :: Todo -> Text [todo_state] :: Todo -> TodoState [todo_created_at] :: Todo -> UTCTime [todo_updated_at] :: Todo -> Maybe UTCTime -- | A project TODO. data TodoProject TodoProject :: Int -> Maybe Text -> Text -> Text -> Text -> Text -> Maybe UTCTime -> TodoProject [todo_project_id] :: TodoProject -> Int [todo_project_description] :: TodoProject -> Maybe Text [todo_project_name] :: TodoProject -> Text [todo_project_name_with_namespace] :: TodoProject -> Text [todo_project_path] :: TodoProject -> Text [todo_project_path_with_namespace] :: TodoProject -> Text [todo_project_created_at] :: TodoProject -> Maybe UTCTime -- | TODO action. 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 -- | Target type of a TODO. data TodoTargetType MergeRequestTarget :: TodoTargetType IssueTarget :: TodoTargetType CommitTarget :: TodoTargetType -- | Type of a TODO. data TodoType TodoTypeIssue :: TodoType TodoTypeMergeRequest :: TodoType TodoTypeCommit :: TodoType TodoTypeEpic :: TodoType TodoTypeDesign :: TodoType TodoTypeAlert :: TodoType -- | TODO states. data TodoState TSPending :: TodoState TSDone :: TodoState -- | version of the GitLab instance. data Version Version :: Text -> Text -> Version [version_version] :: Version -> Text [version_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 UTCTime -> 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 UTCTime [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] -- | Note attached to a commit. data CommitNote CommitNote :: Text -> User -> CommitNote [commitnote_note] :: CommitNote -> Text [commitnote_author] :: CommitNote -> User -- | Notes data Note Note :: Int -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Owner -> UTCTime -> Maybe UTCTime -> Maybe Bool -> Maybe Int -> Maybe Text -> Maybe Int -> Maybe CommandsChanges -> Maybe Bool -> Maybe Bool -> Maybe Bool -> Maybe User -> Note [note_id] :: Note -> Int [note_title] :: Note -> Maybe Text [note_file_name] :: Note -> Maybe Text [note_type] :: Note -> Maybe Text [note_body] :: Note -> Maybe Text [note_attachment] :: Note -> Maybe Text [note_author] :: Note -> Owner [note_created_at] :: Note -> UTCTime [note_updated_at] :: Note -> Maybe UTCTime [note_system] :: Note -> Maybe Bool [note_noteable_id] :: Note -> Maybe Int [note_noteable_type] :: Note -> Maybe Text [note_noteable_iid] :: Note -> Maybe Int [note_commands_changes] :: Note -> Maybe CommandsChanges [note_resolved] :: Note -> Maybe Bool [note_resolvable] :: Note -> Maybe Bool [note_confidential] :: Note -> Maybe Bool [note_resolved_by] :: Note -> Maybe User -- | has a change been promoted to an epic. newtype CommandsChanges CommanandsChanges :: Bool -> CommandsChanges [commands_changes_promote_to_epic] :: CommandsChanges -> Bool -- | Statistics and an issue newtype IssueStatistics IssueStatistics :: IssueStats -> IssueStatistics [issue_statistics_stats] :: IssueStatistics -> IssueStats -- | Issue statistics newtype IssueStats IssueStats :: IssueCounts -> IssueStats [issue_stats_issue_counts] :: IssueStats -> IssueCounts -- | A count of all, open and closed issues against a project data IssueCounts IssueCounts :: Int -> Int -> Int -> IssueCounts [issue_counts__all] :: IssueCounts -> Int [issue_counts_closed] :: IssueCounts -> Int [issue_counts_opened] :: IssueCounts -> Int -- | Project issue boards -- https://docs.gitlab.com/ee/user/project/issue_board.html data IssueBoard IssueBoard :: Int -> Text -> Project -> Maybe Milestone -> [BoardIssue] -> Maybe Text -> Maybe Owner -> Maybe [BoardIssueLabel] -> Maybe Int -> IssueBoard [board_id] :: IssueBoard -> Int [board_name] :: IssueBoard -> Text [board_project] :: IssueBoard -> Project [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 -- | 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 [test_report_total_time] :: TestReport -> Double [test_report_total_count] :: TestReport -> Int [test_report_success_count] :: TestReport -> Int [test_report_failed_count] :: TestReport -> Int [test_report_skipped_count] :: TestReport -> Int [test_report_error_count] :: TestReport -> Int [test_report_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 -- | Estimated humand and total time spent. data TimeEstimate TimeEstimate :: Maybe Text -> Maybe Text -> Maybe Int -> Maybe Int -> TimeEstimate [time_estimate_human_time_estimate] :: TimeEstimate -> Maybe Text [time_estimate_human_total_time_spent] :: TimeEstimate -> Maybe Text [time_estimate_time_estimate] :: TimeEstimate -> Maybe Int [time_estimate_total_time_spent] :: TimeEstimate -> Maybe Int -- | monitors a task completion status. data TaskCompletionStatus TaskCompletionStatus :: Int -> Maybe Int -> TaskCompletionStatus [task_completion_status_count] :: TaskCompletionStatus -> Int [task_completion_status_completed_count] :: TaskCompletionStatus -> Maybe Int -- | references. data References References :: Text -> Text -> Text -> References [references_short] :: References -> Text [references_relative] :: References -> Text [references_full] :: References -> Text -- | Change between commits. data Change Change :: Text -> Text -> Text -> Text -> Text -> Bool -> Bool -> Bool -> Change [change_old_path] :: Change -> Text [change_new_path] :: Change -> Text [change_a_mode] :: Change -> Text [change_b_mode] :: Change -> Text [change_diff] :: Change -> Text [change_new_file] :: Change -> Bool [change_renamed_file] :: Change -> Bool [change_deleted_file] :: Change -> Bool -- | diff references. data DiffRefs DiffRefs :: Text -> Text -> Text -> DiffRefs [diff_refs_base_sha] :: DiffRefs -> Text [diff_refs_head_sha] :: DiffRefs -> Text [diff_refs_start_sha] :: DiffRefs -> Text -- | project pipelines data DetailedStatus DetailedStatus :: Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Bool -> Maybe Text -> Maybe Text -> Maybe Text -> DetailedStatus [detailed_status_icon] :: DetailedStatus -> Maybe Text [detailed_status_text] :: DetailedStatus -> Maybe Text [detailed_status_label] :: DetailedStatus -> Maybe Text [detailed_status_group] :: DetailedStatus -> Maybe Text [detailed_status_tooltip] :: DetailedStatus -> Maybe Text [detailed_status_has_details] :: DetailedStatus -> Maybe Bool [detailed_status_details_path] :: DetailedStatus -> Maybe Text [detailed_status_illustration] :: DetailedStatus -> Maybe Text [detailed_status_favicon] :: DetailedStatus -> Maybe Text -- | Licenses. data License License :: Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> License [license_key] :: License -> Maybe Text [license_name] :: License -> Maybe Text [license_nickname] :: License -> Maybe Text [license_html_url] :: License -> Maybe Text [license_source_url] :: License -> Maybe Text -- | Expiration policies. data ExpirationPolicy ExpirationPolicy :: Maybe Text -> Maybe Bool -> Maybe Int -> Maybe Text -> Maybe Text -> Maybe Value -> Maybe Value -> Maybe UTCTime -> ExpirationPolicy [expiration_policy_cadence] :: ExpirationPolicy -> Maybe Text [expiration_policy_enabled] :: ExpirationPolicy -> Maybe Bool [expiration_policy_keep_n] :: ExpirationPolicy -> Maybe Int [expiration_policy_older_than] :: ExpirationPolicy -> Maybe Text [expiration_policy_name_regex] :: ExpirationPolicy -> Maybe Text [expiration_policy_name_regex_delete] :: ExpirationPolicy -> Maybe Value [expiration_policy_name_regex_keep] :: ExpirationPolicy -> Maybe Value [expiration_policy_next_run_at] :: ExpirationPolicy -> Maybe UTCTime -- | Information about repository storage. data RepositoryStorage RepositoryStorage :: Int -> Maybe Text -> Maybe UTCTime -> Maybe Text -> RepositoryStorage [repository_storage_project_id] :: RepositoryStorage -> Int [repository_storage_disk_path] :: RepositoryStorage -> Maybe Text [repository_storage_created_at] :: RepositoryStorage -> Maybe UTCTime [repository_storage_repository_storage] :: RepositoryStorage -> Maybe Text -- | User who is the starrer of a project. data Starrer Starrer :: UTCTime -> User -> Starrer [starrer_starred_since] :: Starrer -> UTCTime [starrer_user] :: Starrer -> User -- | Avatar for a project. newtype ProjectAvatar ProjectAvatar :: Text -> ProjectAvatar [project_avatar_avatar_url] :: ProjectAvatar -> Text -- | Email information. data Email Email :: Int -> Text -> Maybe UTCTime -> Email [email_id] :: Email -> Int [email_email] :: Email -> Text [email_confirmed_at] :: Email -> Maybe UTCTime -- | SSH key information. data Key Key :: Maybe Int -> Maybe Text -> Text -> Maybe UTCTime -> Maybe UTCTime -> Key [key_id] :: Key -> Maybe Int [key_title] :: Key -> Maybe Text [key_key] :: Key -> Text [key_created_at] :: Key -> Maybe UTCTime [key_expires_at] :: Key -> Maybe UTCTime -- | User preferences. data UserPrefs UserPrefs :: Int -> Int -> Bool -> Bool -> UserPrefs [user_prefs_id] :: UserPrefs -> Int [user_prefs_user_id] :: UserPrefs -> Int [user_prefs_view_diffs_file_by_file] :: UserPrefs -> Bool [user_prefs_show_whitespace_in_diffs] :: UserPrefs -> Bool -- | User status. data UserStatus UserStatus :: Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe UTCTime -> UserStatus [user_status_emoji] :: UserStatus -> Maybe Text [user_status_availability] :: UserStatus -> Maybe Text [user_status_message] :: UserStatus -> Maybe Text [user_status_message_html] :: UserStatus -> Maybe Text [user_status_clear_status_at] :: UserStatus -> Maybe UTCTime -- | Tracks counts for a user's activity. data UserCount UserCount :: Int -> Int -> Int -> Int -> Int -> UserCount [user_count_merge_requests] :: UserCount -> Int [user_count_assigned_issues] :: UserCount -> Int [user_count_assigned_merge_requests] :: UserCount -> Int [user_count_review_requested_merge_requests] :: UserCount -> Int [user_count_todos] :: UserCount -> Int -- | Events https://docs.gitlab.com/ee/api/events.html data Event Event :: Int -> Maybe Text -> Int -> EventActionName -> Maybe Int -> Maybe Int -> Maybe EventTargetType -> Int -> Maybe Text -> Maybe UTCTime -> User -> Text -> Maybe PushData -> Maybe Note -> Event [event_id] :: Event -> Int [event_title] :: Event -> Maybe Text [event_project_id] :: Event -> Int [event_action_name] :: Event -> EventActionName [event_target_id] :: Event -> Maybe Int [event_target_iid] :: Event -> Maybe Int [event_target_type] :: Event -> Maybe EventTargetType [event_author_id] :: Event -> Int [event_target_title] :: Event -> Maybe Text [event_created_at] :: Event -> Maybe UTCTime [event_author] :: Event -> User [event_author_username] :: Event -> Text [event_push_data] :: Event -> Maybe PushData [event_note] :: Event -> Maybe Note -- | Tracks whether an action is open, closed, pushed or commented on. data EventActionName ANOpened :: EventActionName ANClosed :: EventActionName ANPushed :: EventActionName ANCommentedOn :: EventActionName -- | Associates an event with a particular target. data EventTargetType ETTIssue :: EventTargetType ETTMilestone :: EventTargetType ETTMergeRequest :: EventTargetType ETTNote :: EventTargetType ETTProject :: EventTargetType ETTSnippet :: EventTargetType ETTUser :: EventTargetType -- | Information about a git push. data PushData PushData :: Int -> EventActionName -> Text -> Text -> Text -> Text -> Text -> PushData [push_data_commit_count] :: PushData -> Int [push_data_action] :: PushData -> EventActionName [push_data_ref_type] :: PushData -> Text [push_data_commit_from] :: PushData -> Text [push_data_commit_to] :: PushData -> Text [push_data_ref] :: PushData -> Text [push_data_commit_title] :: PushData -> Text data DebugSystemHooks -- | Report all JSON objects received and unprocessed events AllEvents :: DebugSystemHooks -- | Report unprocessed events UnprocessedEvents :: DebugSystemHooks -- | Report all JSON objects received AllJSON :: DebugSystemHooks -- | No debugging NoHookDebugging :: DebugSystemHooks instance Data.Aeson.Types.ToJSON.ToJSON GitLab.Types.Event instance Data.Aeson.Types.FromJSON.FromJSON GitLab.Types.Event instance Data.Aeson.Types.ToJSON.ToJSON GitLab.Types.PushData instance Data.Aeson.Types.FromJSON.FromJSON GitLab.Types.PushData instance Data.Aeson.Types.ToJSON.ToJSON GitLab.Types.UserCount instance Data.Aeson.Types.FromJSON.FromJSON GitLab.Types.UserCount instance Data.Aeson.Types.ToJSON.ToJSON GitLab.Types.UserStatus instance Data.Aeson.Types.FromJSON.FromJSON GitLab.Types.UserStatus instance Data.Aeson.Types.ToJSON.ToJSON GitLab.Types.UserPrefs instance Data.Aeson.Types.FromJSON.FromJSON GitLab.Types.UserPrefs instance Data.Aeson.Types.ToJSON.ToJSON GitLab.Types.Key instance Data.Aeson.Types.FromJSON.FromJSON GitLab.Types.Key instance Data.Aeson.Types.ToJSON.ToJSON GitLab.Types.Email instance Data.Aeson.Types.FromJSON.FromJSON GitLab.Types.Email instance Data.Aeson.Types.ToJSON.ToJSON GitLab.Types.CommitNote instance Data.Aeson.Types.FromJSON.FromJSON GitLab.Types.CommitNote instance Data.Aeson.Types.ToJSON.ToJSON GitLab.Types.Group instance Data.Aeson.Types.FromJSON.FromJSON GitLab.Types.Group instance Data.Aeson.Types.ToJSON.ToJSON GitLab.Types.ProjectAvatar instance Data.Aeson.Types.FromJSON.FromJSON GitLab.Types.ProjectAvatar instance Data.Aeson.Types.ToJSON.ToJSON GitLab.Types.Starrer instance Data.Aeson.Types.FromJSON.FromJSON GitLab.Types.Starrer instance Data.Aeson.Types.ToJSON.ToJSON GitLab.Types.RepositoryStorage instance Data.Aeson.Types.FromJSON.FromJSON GitLab.Types.RepositoryStorage instance GHC.Classes.Eq GitLab.Types.Starrer instance GHC.Show.Show GitLab.Types.Starrer instance GHC.Classes.Eq GitLab.Types.ProjectAvatar instance GHC.Show.Show GitLab.Types.ProjectAvatar instance Data.Aeson.Types.ToJSON.ToJSON GitLab.Types.Todo instance Data.Aeson.Types.ToJSON.ToJSON GitLab.Types.TodoTargetType instance Data.Aeson.Types.ToJSON.ToJSON GitLab.Types.TodoState instance Data.Aeson.Types.ToJSON.ToJSON GitLab.Types.TodoTarget instance Data.Aeson.Types.ToJSON.ToJSON GitLab.Types.CommitTodo instance Data.Aeson.Types.FromJSON.FromJSON GitLab.Types.CommitTodo instance Data.Aeson.Types.FromJSON.FromJSON GitLab.Types.TodoTargetType instance Data.Aeson.Types.FromJSON.FromJSON GitLab.Types.Todo instance Data.Aeson.Types.ToJSON.ToJSON GitLab.Types.TimeEstimate instance Data.Aeson.Types.FromJSON.FromJSON GitLab.Types.TimeEstimate instance Data.Aeson.Types.ToJSON.ToJSON GitLab.Types.TodoAction instance Data.Aeson.Types.FromJSON.FromJSON GitLab.Types.TodoState instance Data.Aeson.Types.ToJSON.ToJSON GitLab.Types.TestReport instance Data.Aeson.Types.FromJSON.FromJSON GitLab.Types.TestReport instance Data.Aeson.Types.ToJSON.ToJSON GitLab.Types.TestSuite instance Data.Aeson.Types.FromJSON.FromJSON GitLab.Types.TestSuite instance Data.Aeson.Types.ToJSON.ToJSON GitLab.Types.TestCase instance Data.Aeson.Types.FromJSON.FromJSON GitLab.Types.TestCase instance Data.Aeson.Types.ToJSON.ToJSON GitLab.Types.IssueBoard instance Data.Aeson.Types.FromJSON.FromJSON GitLab.Types.IssueBoard instance Data.Aeson.Types.ToJSON.ToJSON GitLab.Types.BoardIssue instance Data.Aeson.Types.FromJSON.FromJSON GitLab.Types.BoardIssue instance Data.Aeson.Types.ToJSON.ToJSON GitLab.Types.BoardIssueLabel instance Data.Aeson.Types.FromJSON.FromJSON GitLab.Types.BoardIssueLabel instance Data.Aeson.Types.ToJSON.ToJSON GitLab.Types.IssueStatistics instance Data.Aeson.Types.FromJSON.FromJSON GitLab.Types.IssueStatistics instance Data.Aeson.Types.ToJSON.ToJSON GitLab.Types.IssueStats instance Data.Aeson.Types.FromJSON.FromJSON GitLab.Types.IssueStats instance Data.Aeson.Types.ToJSON.ToJSON GitLab.Types.IssueCounts instance Data.Aeson.Types.FromJSON.FromJSON GitLab.Types.IssueCounts instance Data.Aeson.Types.ToJSON.ToJSON GitLab.Types.Discussion instance Data.Aeson.Types.FromJSON.FromJSON GitLab.Types.Discussion instance Data.Aeson.Types.ToJSON.ToJSON GitLab.Types.Note instance Data.Aeson.Types.FromJSON.FromJSON GitLab.Types.Note instance Data.Aeson.Types.ToJSON.ToJSON GitLab.Types.CommandsChanges instance Data.Aeson.Types.FromJSON.FromJSON GitLab.Types.CommandsChanges instance Data.Aeson.Types.ToJSON.ToJSON GitLab.Types.EditIssueReq instance Data.Aeson.Types.FromJSON.FromJSON GitLab.Types.EditIssueReq instance Data.Aeson.Types.ToJSON.ToJSON GitLab.Types.Version instance Data.Aeson.Types.FromJSON.FromJSON GitLab.Types.Version instance Data.Aeson.Types.ToJSON.ToJSON GitLab.Types.Diff instance Data.Aeson.Types.FromJSON.FromJSON GitLab.Types.Diff instance Data.Aeson.Types.ToJSON.ToJSON GitLab.Types.MergeRequest instance Data.Aeson.Types.FromJSON.FromJSON GitLab.Types.MergeRequest instance Data.Aeson.Types.ToJSON.ToJSON GitLab.Types.DiffRefs instance Data.Aeson.Types.FromJSON.FromJSON GitLab.Types.DiffRefs instance Data.Aeson.Types.ToJSON.ToJSON GitLab.Types.Change instance Data.Aeson.Types.FromJSON.FromJSON GitLab.Types.Change instance Data.Aeson.Types.ToJSON.ToJSON GitLab.Types.RepositoryFileBlame instance Data.Aeson.Types.FromJSON.FromJSON GitLab.Types.RepositoryFileBlame instance Data.Aeson.Types.ToJSON.ToJSON GitLab.Types.RepositoryFileSimple instance Data.Aeson.Types.FromJSON.FromJSON GitLab.Types.RepositoryFileSimple instance Data.Aeson.Types.ToJSON.ToJSON GitLab.Types.RepositoryFile instance Data.Aeson.Types.FromJSON.FromJSON GitLab.Types.RepositoryFile instance Data.Aeson.Types.ToJSON.ToJSON GitLab.Types.Branch instance Data.Aeson.Types.FromJSON.FromJSON GitLab.Types.Branch instance Data.Aeson.Types.ToJSON.ToJSON GitLab.Types.Job instance Data.Aeson.Types.FromJSON.FromJSON GitLab.Types.Job instance Data.Aeson.Types.ToJSON.ToJSON GitLab.Types.Artifact instance Data.Aeson.Types.FromJSON.FromJSON GitLab.Types.Artifact instance Data.Aeson.Types.ToJSON.ToJSON GitLab.Types.Repository instance Data.Aeson.Types.FromJSON.FromJSON GitLab.Types.Repository instance Data.Aeson.Types.ToJSON.ToJSON GitLab.Types.Project instance Data.Aeson.Types.FromJSON.FromJSON GitLab.Types.Project instance Data.Aeson.Types.ToJSON.ToJSON GitLab.Types.Statistics instance Data.Aeson.Types.FromJSON.FromJSON GitLab.Types.Statistics instance Data.Aeson.Types.ToJSON.ToJSON GitLab.Types.GroupShare instance Data.Aeson.Types.FromJSON.FromJSON GitLab.Types.GroupShare instance Data.Aeson.Types.ToJSON.ToJSON GitLab.Types.License instance Data.Aeson.Types.FromJSON.FromJSON GitLab.Types.License instance Data.Aeson.Types.ToJSON.ToJSON GitLab.Types.ExpirationPolicy instance Data.Aeson.Types.FromJSON.FromJSON GitLab.Types.ExpirationPolicy instance Data.Aeson.Types.ToJSON.ToJSON GitLab.Types.Namespace instance Data.Aeson.Types.FromJSON.FromJSON GitLab.Types.Namespace instance Data.Aeson.Types.ToJSON.ToJSON GitLab.Types.Owner instance Data.Aeson.Types.FromJSON.FromJSON GitLab.Types.Owner instance Data.Aeson.Types.ToJSON.ToJSON GitLab.Types.Permissions instance Data.Aeson.Types.FromJSON.FromJSON GitLab.Types.Permissions instance Data.Aeson.Types.ToJSON.ToJSON GitLab.Types.Member instance Data.Aeson.Types.FromJSON.FromJSON GitLab.Types.Member instance Data.Aeson.Types.ToJSON.ToJSON GitLab.Types.Contributor instance Data.Aeson.Types.FromJSON.FromJSON GitLab.Types.Contributor instance Data.Aeson.Types.ToJSON.ToJSON GitLab.Types.Tag instance Data.Aeson.Types.FromJSON.FromJSON GitLab.Types.Tag instance Data.Aeson.Types.ToJSON.ToJSON GitLab.Types.Release instance Data.Aeson.Types.FromJSON.FromJSON GitLab.Types.Release instance Data.Aeson.Types.ToJSON.ToJSON GitLab.Types.Commit instance Data.Aeson.Types.FromJSON.FromJSON GitLab.Types.Commit instance Data.Aeson.Types.ToJSON.ToJSON GitLab.Types.CommitStats instance Data.Aeson.Types.FromJSON.FromJSON GitLab.Types.CommitStats instance Data.Aeson.Types.ToJSON.ToJSON GitLab.Types.Pipeline instance Data.Aeson.Types.FromJSON.FromJSON GitLab.Types.Pipeline instance Data.Aeson.Types.ToJSON.ToJSON GitLab.Types.DetailedStatus instance Data.Aeson.Types.FromJSON.FromJSON GitLab.Types.DetailedStatus instance Data.Aeson.Types.ToJSON.ToJSON GitLab.Types.Issue instance Data.Aeson.Types.FromJSON.FromJSON GitLab.Types.Issue instance Data.Aeson.Types.ToJSON.ToJSON GitLab.Types.TaskCompletionStatus instance Data.Aeson.Types.FromJSON.FromJSON GitLab.Types.TaskCompletionStatus instance Data.Aeson.Types.ToJSON.ToJSON GitLab.Types.Links instance Data.Aeson.Types.FromJSON.FromJSON GitLab.Types.Links instance Data.Aeson.Types.ToJSON.ToJSON GitLab.Types.Epic instance Data.Aeson.Types.FromJSON.FromJSON GitLab.Types.Epic instance Data.Aeson.Types.ToJSON.ToJSON GitLab.Types.References instance Data.Aeson.Types.FromJSON.FromJSON GitLab.Types.References instance Data.Aeson.Types.ToJSON.ToJSON GitLab.Types.Milestone instance Data.Aeson.Types.FromJSON.FromJSON GitLab.Types.Milestone instance Data.Aeson.Types.ToJSON.ToJSON GitLab.Types.User instance Data.Aeson.Types.FromJSON.FromJSON GitLab.Types.User instance Data.Aeson.Types.ToJSON.ToJSON GitLab.Types.MilestoneState instance Data.Aeson.Types.ToJSON.ToJSON GitLab.Types.Identity instance Data.Aeson.Types.FromJSON.FromJSON GitLab.Types.Identity instance Data.Aeson.Types.ToJSON.ToJSON GitLab.Types.SamlIdentity instance Data.Aeson.Types.FromJSON.FromJSON GitLab.Types.SamlIdentity instance Data.Aeson.Types.ToJSON.ToJSON GitLab.Types.TimeStats instance Data.Aeson.Types.FromJSON.FromJSON GitLab.Types.TimeStats instance GHC.Classes.Eq GitLab.Types.TodoTargetType instance GHC.Show.Show GitLab.Types.TodoTargetType instance GHC.Classes.Eq GitLab.Types.Todo instance GHC.Show.Show GitLab.Types.Todo instance GHC.Classes.Eq GitLab.Types.Version instance GHC.Show.Show GitLab.Types.Version instance GHC.Show.Show GitLab.Types.EditIssueReq instance GHC.Classes.Eq GitLab.Types.CommitNote instance GHC.Show.Show GitLab.Types.CommitNote instance GHC.Classes.Eq GitLab.Types.CommandsChanges instance GHC.Show.Show GitLab.Types.CommandsChanges instance GHC.Classes.Eq GitLab.Types.Note instance GHC.Show.Show GitLab.Types.Note instance GHC.Classes.Eq GitLab.Types.Discussion instance GHC.Show.Show GitLab.Types.Discussion instance GHC.Classes.Eq GitLab.Types.IssueCounts instance GHC.Show.Show GitLab.Types.IssueCounts instance GHC.Classes.Eq GitLab.Types.IssueStats instance GHC.Show.Show GitLab.Types.IssueStats instance GHC.Classes.Eq GitLab.Types.IssueStatistics instance GHC.Show.Show GitLab.Types.IssueStatistics instance GHC.Classes.Eq GitLab.Types.BoardIssueLabel instance GHC.Show.Show GitLab.Types.BoardIssueLabel instance GHC.Classes.Eq GitLab.Types.BoardIssue instance GHC.Show.Show GitLab.Types.BoardIssue instance GHC.Classes.Eq GitLab.Types.IssueBoard instance GHC.Show.Show 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.Classes.Eq GitLab.Types.TestSuite instance GHC.Show.Show GitLab.Types.TestSuite instance GHC.Classes.Eq GitLab.Types.TestReport instance GHC.Show.Show GitLab.Types.TestReport instance GHC.Classes.Eq GitLab.Types.TimeEstimate instance GHC.Show.Show GitLab.Types.TimeEstimate instance GHC.Classes.Eq GitLab.Types.Email instance GHC.Show.Show GitLab.Types.Email instance GHC.Classes.Eq GitLab.Types.UserPrefs instance GHC.Show.Show GitLab.Types.UserPrefs instance GHC.Classes.Eq GitLab.Types.Key instance GHC.Show.Show GitLab.Types.Key instance GHC.Classes.Eq GitLab.Types.UserStatus instance GHC.Show.Show GitLab.Types.UserStatus instance GHC.Classes.Eq GitLab.Types.UserCount instance GHC.Show.Show GitLab.Types.UserCount instance GHC.Classes.Eq GitLab.Types.EventActionName instance GHC.Show.Show GitLab.Types.EventActionName instance GHC.Classes.Eq GitLab.Types.PushData instance GHC.Show.Show GitLab.Types.PushData instance GHC.Classes.Eq GitLab.Types.EventTargetType instance GHC.Show.Show GitLab.Types.EventTargetType instance GHC.Classes.Eq GitLab.Types.Event instance GHC.Show.Show GitLab.Types.Event instance GHC.Classes.Eq GitLab.Types.Job instance GHC.Show.Show GitLab.Types.Job instance Data.Aeson.Types.ToJSON.ToJSON GitLab.Types.EventTargetType instance Data.Aeson.Types.FromJSON.FromJSON GitLab.Types.EventTargetType instance Data.Aeson.Types.ToJSON.ToJSON GitLab.Types.EventActionName instance Data.Aeson.Types.FromJSON.FromJSON GitLab.Types.EventActionName instance Data.Aeson.Types.FromJSON.FromJSON GitLab.Types.Visibility instance GHC.Show.Show GitLab.Types.TodoType instance Data.Aeson.Types.ToJSON.ToJSON GitLab.Types.TodoProject instance Data.Aeson.Types.FromJSON.FromJSON GitLab.Types.TodoProject instance GHC.Classes.Eq GitLab.Types.DebugSystemHooks instance GHC.Base.Monad m => Control.Monad.Reader.Class.MonadReader GitLab.Types.GitLabState (GitLab.Types.GitLabT m) instance Control.Monad.Fail.MonadFail m => Control.Monad.Fail.MonadFail (GitLab.Types.GitLabT m) instance GHC.Base.Monad m => GHC.Base.Monad (GitLab.Types.GitLabT m) instance GHC.Base.Applicative m => GHC.Base.Applicative (GitLab.Types.GitLabT m) instance GHC.Base.Functor m => GHC.Base.Functor (GitLab.Types.GitLabT m) instance GHC.Classes.Eq GitLab.Types.AccessLevel instance GHC.Classes.Eq GitLab.Types.Identity instance GHC.Show.Show GitLab.Types.Identity instance GHC.Classes.Eq GitLab.Types.SamlIdentity instance GHC.Show.Show GitLab.Types.SamlIdentity instance GHC.Classes.Eq GitLab.Types.Member instance GHC.Show.Show GitLab.Types.Member instance GHC.Classes.Eq GitLab.Types.Namespace instance GHC.Show.Show GitLab.Types.Namespace instance GHC.Classes.Eq GitLab.Types.Links instance GHC.Show.Show GitLab.Types.Links instance GHC.Classes.Eq GitLab.Types.Owner instance GHC.Show.Show GitLab.Types.Owner instance GHC.Classes.Eq GitLab.Types.Permissions instance GHC.Show.Show GitLab.Types.Permissions instance GHC.Classes.Eq GitLab.Types.License instance GHC.Show.Show GitLab.Types.License instance GHC.Classes.Eq GitLab.Types.ExpirationPolicy instance GHC.Show.Show GitLab.Types.ExpirationPolicy instance GHC.Classes.Eq GitLab.Types.RepositoryStorage instance GHC.Show.Show GitLab.Types.RepositoryStorage instance GHC.Classes.Eq GitLab.Types.Statistics instance GHC.Show.Show GitLab.Types.Statistics instance GHC.Classes.Eq GitLab.Types.User instance GHC.Show.Show GitLab.Types.User instance GHC.Classes.Eq GitLab.Types.MilestoneState instance GHC.Show.Show GitLab.Types.MilestoneState instance GHC.Classes.Eq GitLab.Types.TimeStats instance GHC.Show.Show GitLab.Types.TimeStats instance GHC.Classes.Eq GitLab.Types.Epic instance GHC.Show.Show GitLab.Types.Epic instance GHC.Classes.Eq GitLab.Types.DetailedStatus instance GHC.Show.Show GitLab.Types.DetailedStatus instance GHC.Classes.Eq GitLab.Types.Pipeline instance GHC.Show.Show GitLab.Types.Pipeline instance GHC.Classes.Eq GitLab.Types.CommitTodo instance GHC.Show.Show GitLab.Types.CommitTodo instance GHC.Classes.Eq GitLab.Types.Contributor instance GHC.Show.Show GitLab.Types.Contributor instance GHC.Classes.Eq GitLab.Types.CommitStats instance GHC.Show.Show GitLab.Types.CommitStats instance GHC.Classes.Eq GitLab.Types.Commit instance GHC.Show.Show GitLab.Types.Commit instance GHC.Classes.Eq GitLab.Types.Release instance GHC.Show.Show GitLab.Types.Release instance GHC.Classes.Eq GitLab.Types.Tag instance GHC.Show.Show GitLab.Types.Tag instance GHC.Classes.Eq GitLab.Types.Diff instance GHC.Show.Show GitLab.Types.Diff instance GHC.Classes.Eq GitLab.Types.Repository instance GHC.Show.Show GitLab.Types.Repository instance GHC.Classes.Eq GitLab.Types.Artifact instance GHC.Show.Show GitLab.Types.Artifact instance GHC.Classes.Eq GitLab.Types.GroupShare instance GHC.Show.Show GitLab.Types.GroupShare instance GHC.Classes.Eq GitLab.Types.Group instance GHC.Show.Show GitLab.Types.Group instance GHC.Classes.Eq GitLab.Types.Project instance GHC.Show.Show GitLab.Types.Project instance GHC.Classes.Eq GitLab.Types.Branch instance GHC.Show.Show GitLab.Types.Branch instance GHC.Classes.Eq GitLab.Types.RepositoryFile instance GHC.Show.Show GitLab.Types.RepositoryFile instance GHC.Classes.Eq GitLab.Types.RepositoryFileSimple instance GHC.Show.Show GitLab.Types.RepositoryFileSimple instance GHC.Classes.Eq GitLab.Types.RepositoryFileBlame instance GHC.Show.Show GitLab.Types.RepositoryFileBlame instance GHC.Classes.Eq GitLab.Types.TaskCompletionStatus instance GHC.Show.Show GitLab.Types.TaskCompletionStatus instance GHC.Classes.Eq GitLab.Types.References instance GHC.Show.Show GitLab.Types.References instance GHC.Classes.Eq GitLab.Types.Change instance GHC.Show.Show GitLab.Types.Change instance GHC.Classes.Eq GitLab.Types.DiffRefs instance GHC.Show.Show GitLab.Types.DiffRefs instance GHC.Classes.Eq GitLab.Types.TodoAction instance GHC.Show.Show GitLab.Types.TodoAction instance GHC.Classes.Eq GitLab.Types.Milestone instance GHC.Show.Show GitLab.Types.Milestone instance GHC.Classes.Eq GitLab.Types.MergeRequest instance GHC.Show.Show GitLab.Types.MergeRequest instance GHC.Classes.Eq GitLab.Types.Issue instance GHC.Show.Show GitLab.Types.Issue instance GHC.Classes.Eq GitLab.Types.TodoTarget instance GHC.Show.Show GitLab.Types.TodoTarget instance GHC.Classes.Eq GitLab.Types.TodoState instance GHC.Show.Show GitLab.Types.TodoState instance GHC.Classes.Eq GitLab.Types.TodoProject instance GHC.Show.Show GitLab.Types.TodoProject instance Data.Aeson.Types.FromJSON.FromJSON GitLab.Types.TodoAction instance Data.Aeson.Types.FromJSON.FromJSON GitLab.Types.MilestoneState instance GHC.Show.Show GitLab.Types.OrderBy instance GHC.Show.Show GitLab.Types.SortBy instance GHC.Show.Show GitLab.Types.Scope instance GHC.Show.Show GitLab.Types.SearchIn instance GHC.Show.Show GitLab.Types.AccessLevel instance GHC.Show.Show GitLab.Types.ArchiveFormat instance Control.Monad.Trans.Class.MonadTrans GitLab.Types.GitLabT instance Control.Monad.IO.Class.MonadIO m => Control.Monad.IO.Class.MonadIO (GitLab.Types.GitLabT m) 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 -> Maybe Text -> Maybe 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_username:Push] :: Push -> Maybe Text [$sel:push_user_email:Push] :: Push -> Maybe 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 -> Maybe 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 -> Maybe 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 -> Maybe 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 -> Maybe 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 newtype 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 => Text -> 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 :: Text -> [Rule] -> GitLab () -- | Try to fire a GitLab rule, returns True if the rule fired and -- False if it did not fire. tryFire :: Text -> Rule -> GitLab Bool module GitLab.API.Version -- | Retrieve version information for this GitLab instance. gitlabVersion :: GitLab (Either (Response ByteString) (Maybe Version)) module GitLab.API.Users -- | all registered users. users :: GitLab [User] -- | Get a single user. user :: Int -> GitLab (Either (Response ByteString) (Maybe User)) -- | searches for a user given a username. searchUser :: Text -> GitLab (Maybe User) -- | Creates a new user. Note only administrators can create new users. -- Either password, reset_password, or force_random_password must be -- specified. If reset_password and force_random_password are both false, -- then password is required. force_random_password and reset_password -- take priority over password. In addition, reset_password and -- force_random_password can be used together. createUser :: Text -> Text -> Text -> UserAttrs -> GitLab (Either (Response ByteString) (Maybe User)) -- | Extracts the user attributes for a user. Useful for modifying -- attrbibutes with modifyUser. userAttributes :: User -> Bool -> UserAttrs -- | Modifies an existing user. Only administrators can change attributes -- of a user. modifyUser :: Int -> UserAttrs -> GitLab (Either (Response ByteString) (Maybe User)) -- | Deletes a user’s authentication identity using the provider name -- associated with that identity. Available only for administrators. deleteAuthIdentity :: User -> Text -> GitLab (Either (Response ByteString) (Maybe ())) -- | Deletes a user. Available only for administrators. deleteUser :: User -> GitLab (Either (Response ByteString) (Maybe ())) -- | Get current user. currentUser :: GitLab User -- | Get current user status. currentUserStatus :: GitLab UserStatus -- | Get the status of a user. userStatus :: User -> GitLab UserStatus -- | Get the status of the current user. userPreferences :: GitLab UserPrefs -- | Follow a user. followUser :: User -> GitLab (Either (Response ByteString) (Maybe User)) -- | Unfollow a user. unfollowUser :: User -> GitLab (Either (Response ByteString) (Maybe User)) -- | Get the counts of the currently signed in user. currentUserCounts :: GitLab UserCount -- | Get a list of currently authenticated user’s SSH keys. currentUserSshKeys :: GitLab Key -- | Get a list of a specified user’s SSH keys. userSshKeys :: User -> GitLab Key -- | Creates a new key owned by the currently authenticated user. addSshKeyCurrentUser :: Text -> Text -> GitLab (Either (Response ByteString) (Maybe Key)) -- | Create new key owned by specified user. Available only for -- administrator. addSshKeyUser :: User -> Text -> Text -> GitLab (Either (Response ByteString) (Maybe Key)) -- | Deletes key owned by currently authenticated user. deleteSshKeyCurrentUser :: Int -> GitLab (Either (Response ByteString) (Maybe ())) -- | Deletes key owned by a specified user. Available only for -- administrator. deleteSshKeyUser :: User -> Int -> GitLab (Either (Response ByteString) (Maybe ())) -- | Get a list of currently authenticated user’s emails. emails :: GitLab [Email] -- | Get a list of currently authenticated user’s emails. emailsCurrentUser :: User -> GitLab [Email] -- | Blocks the specified user. Available only for administrator. blockUser :: User -> GitLab (Maybe User) -- | Unblocks the specified user. Available only for administrator. unblockUser :: User -> GitLab (Maybe User) -- | Activates the specified user. Available only for administrator. activateUser :: User -> GitLab (Maybe User) -- | Deactivates the specified user. Available only for administrator. deactivateUser :: User -> GitLab (Maybe User) -- | Bans the specified user. Available only for administrator. banUser :: User -> GitLab (Maybe User) -- | Unbans the specified user. Available only for administrator. unbanUser :: User -> GitLab (Maybe User) -- | Approves the specified user. Available only for administrator. approveUser :: User -> GitLab (Maybe User) -- | Rejects specified user that is pending approval. Available only for -- administrator. rejectUser :: User -> GitLab (Maybe User) -- | No group filters applied, thereby returning all groups. defaultUserFilters :: UserAttrs -- | Attributes related to a group data UserAttrs UserAttrs :: Maybe Bool -> Maybe Text -> Maybe Bool -> Maybe Text -> Maybe Int -> Maybe Bool -> Maybe Bool -> Maybe Int -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Bool -> Maybe Int -> Maybe Text -> Maybe Bool -> Maybe Bool -> Maybe Text -> Maybe Int -> Maybe Text -> Maybe Text -> Maybe Bool -> Maybe Text -> Maybe Text -> UserAttrs -- | User is an administrator - default is false [userFilter_admin] :: UserAttrs -> Maybe Bool -- | User’s biography [userFilter_bio] :: UserAttrs -> Maybe Text -- | User can create groups [userFilter_can_create_group] :: UserAttrs -> Maybe Bool -- | email address [userFilter_email] :: UserAttrs -> Maybe Text -- | External UID [userFilter_extern_uid] :: UserAttrs -> Maybe Int -- | Flag the user as external - default is fale [userFilter_external] :: UserAttrs -> Maybe Bool -- | Set user password to a random value - default is false [userFilter_force_random_password] :: UserAttrs -> Maybe Bool -- | ID of group where SAML has been configured [userFilter_group_id_for_saml] :: UserAttrs -> Maybe Int -- | User's LinkedIn account [userFilter_linkedin] :: UserAttrs -> Maybe Text -- | User's location [userFilter_location] :: UserAttrs -> Maybe Text -- | User's name [userFilter_name] :: UserAttrs -> Maybe Text -- | Administrator notes for this user [userFilter_note] :: UserAttrs -> Maybe Text -- | Organization name [userFilter_organization] :: UserAttrs -> Maybe Text -- | User's password [userFilter_password] :: UserAttrs -> Maybe Text -- | User’s profile is private - default is false [userFilter_private_profile] :: UserAttrs -> Maybe Bool -- | Number of projects user can create [userFilter_projects_limit] :: UserAttrs -> Maybe Int -- | External provider name [userFilter_providor] :: UserAttrs -> Maybe Text -- | Send user password reset link - default is false [userFilter_reset_password] :: UserAttrs -> Maybe Bool -- | Skip confirmation - default is false [userFilter_skip_confirmation] :: UserAttrs -> Maybe Bool -- | User's Skype ID [userFilter_skype] :: UserAttrs -> Maybe Text -- | User's theme ID - GitLab theme for the user [userFilter_theme_id] :: UserAttrs -> Maybe Int -- | User's Twitter account [userFilter_twitter] :: UserAttrs -> Maybe Text -- | User's username [userFilter_username] :: UserAttrs -> Maybe Text -- | Flag indicating the user sees only one file diff per page [userFilter_view_diffs_file_by_file] :: UserAttrs -> Maybe Bool -- | User's website URL [userFilter_website] :: UserAttrs -> Maybe Text -- | User's pronouns [userFilter_pronouns] :: UserAttrs -> Maybe Text module GitLab.API.Todos -- | returns all pending todos for the user, as defined by the access -- token. todos :: TodoAttrs -> GitLab [Todo] -- | Marks a single pending to-do item given by its ID for the current user -- as done. todoDone :: Int -> GitLab (Either (Response ByteString) (Maybe ())) -- | Marks all pending to-do items for the current user as done. It returns -- the HTTP status code 204 with an empty response. todosDone :: GitLab (Either (Response ByteString) (Maybe ())) -- | No todo filters applied. defaultTodoFilters :: TodoAttrs -- | Attributes related to listing groups data TodoAttrs TodoAttrs :: Maybe TodoAction -> Maybe Int -> Maybe Int -> Maybe Int -> Maybe TodoState -> Maybe TodoType -> TodoAttrs -- | The action to be filtered [todoFilter_action] :: TodoAttrs -> Maybe TodoAction -- | The ID of an author [todoFilter_author_id] :: TodoAttrs -> Maybe Int -- | The ID of a project [todoFilter_project_id] :: TodoAttrs -> Maybe Int -- | The ID of a group [todoFilter_group_id] :: TodoAttrs -> Maybe Int -- | The state of the to-do item [todoFilter_state] :: TodoAttrs -> Maybe TodoState -- | The type of to-do item. [todoFilter_type] :: TodoAttrs -> Maybe TodoType module GitLab.API.Tags -- | Get a list of repository tags from a project. tags :: Project -> GitLab (Either (Response ByteString) [Tag]) -- | Get a specific repository tag determined by its name. tag :: Project -> Text -> GitLab (Either (Response ByteString) (Maybe Tag)) -- | Creates a new tag in the repository that points to the supplied ref. createTag :: Project -> Text -> Text -> GitLab (Either (Response ByteString) (Maybe Tag)) -- | Deletes a tag of a repository with given name. deleteTag :: Project -> Text -> GitLab (Either (Response ByteString) (Maybe ())) module GitLab.API.RepositoryFiles -- | Allows you to receive information about file in repository like name, -- size, content. File content is Base64 encoded. repositoryFile :: Project -> Text -> Text -> GitLab (Either (Response ByteString) (Maybe RepositoryFile)) -- | Allows you to receive blame information. Each blame range contains -- lines and corresponding commit information. repositoryFileBlame :: Project -> Text -> Text -> GitLab (Either (Response ByteString) (Maybe RepositoryFileBlame)) -- | Get a raw file from a repository. repositoryFileRawFile :: Project -> Text -> Text -> GitLab (Either (Response ByteString) (Maybe Text)) -- | Allows you to receive information about blob in repository like size -- and content. Blob content is Base64 encoded. repositoryFileBlob :: Int -> Text -> GitLab (Either (Response ByteString) String) -- | This allows you to create a single file. For creating multiple files -- with a single request see the commits API. createRepositoryFile :: Project -> Text -> Text -> Text -> Text -> GitLab (Either (Response ByteString) (Maybe RepositoryFileSimple)) -- | This allows you to update a single file. For updating multiple files -- with a single request see the commits API. updateRepositoryFile :: Project -> Text -> Text -> Text -> Text -> GitLab (Either (Response ByteString) (Maybe RepositoryFileSimple)) -- | This allows you to delete a single file. For deleting multiple files -- with a single request, see the commits API. deleteRepositoryFile :: Project -> Text -> Text -> Text -> GitLab (Either (Response ByteString) (Maybe ())) module GitLab.API.Repositories -- | returns a list of repository files and directories in a project. repositoryTree :: Project -> GitLab [Repository] -- | get a file archive of the repository files. For example: -- --
-- fileArchive myProject TarGz "/tmp/myProject.tar.gz" --fileArchive :: Project -> ArchiveFormat -> FilePath -> GitLab (Either (Response ByteString) ()) -- | get a file archive of the repository files as a ByteString. For -- example: -- --
-- fileArchiveBS myProject TarGz "/tmp/myProject.tar.gz" --fileArchiveBS :: Project -> ArchiveFormat -> GitLab (Either (Response ByteString) ByteString) -- | Get repository contributors list. contributors :: Project -> Maybe OrderBy -> Maybe SortBy -> GitLab [Contributor] -- | Get the common ancestor for 2 or more refs. mergeBase :: Project -> [Text] -> GitLab (Either (Response ByteString) (Maybe Commit)) module GitLab.API.Pipelines -- | List pipelines in a project. Child pipelines are not included in the -- results, but you can get child pipeline individually. pipelines :: Project -> GitLab [Pipeline] -- | Get one pipeline from a project. pipeline :: Project -> Int -> GitLab (Either (Response ByteString) (Maybe Pipeline)) -- | get a pipeline’s test report. Since GitLab 13.0. pipelineTestReport :: Project -> Int -> GitLab (Either (Response ByteString) (Maybe TestReport)) -- | Create a new pipeline. Since GitLab 14.6. newPipeline :: Project -> Text -> GitLab (Either (Response ByteString) (Maybe Pipeline)) -- | Retry a pipeline. Since GitLab 14.6. retryPipeline :: Project -> Int -> GitLab (Either (Response ByteString) (Maybe Pipeline)) -- | Cancel a pipeline's jobs. cancelPipelineJobs :: Project -> Int -> GitLab (Either (Response ByteString) (Maybe Pipeline)) -- | Delete a pipline. Since GitLab 14.6. deletePipeline :: Project -> Int -> GitLab (Either (Response ByteString) (Maybe ())) module GitLab.API.Notes -- | Gets a list of all notes for a single issue. issueNotes :: Project -> Int -> Maybe SortBy -> Maybe OrderBy -> GitLab (Either (Response ByteString) [Note]) -- | Returns a single note for a specific project issue. issueNote :: Project -> Int -> Int -> GitLab (Either (Response ByteString) (Maybe Note)) -- | Creates a new note to a single project issue. newIssueNote :: Project -> Int -> Text -> Maybe Bool -> GitLab (Either (Response ByteString) (Maybe ())) -- | Modify existing note of an issue. modifyIssueNote :: Project -> Int -> Int -> Maybe Text -> GitLab (Either (Response ByteString) (Maybe Note)) -- | Deletes an existing note of an issue. deleteIssueNote :: Project -> Int -> Int -> GitLab (Either (Response ByteString) (Maybe ())) -- | Gets a list of all notes for a single snippet. snippetNotes :: Project -> Int -> Maybe SortBy -> Maybe OrderBy -> GitLab (Either (Response ByteString) [Note]) -- | Returns a single note for a specific project snippet. snippetNote :: Project -> Int -> Int -> GitLab (Either (Response ByteString) (Maybe Note)) -- | Creates a new note to a single project snippet. newSnippetNote :: Project -> Int -> Text -> Maybe Bool -> GitLab (Either (Response ByteString) (Maybe ())) -- | Modify existing note of an snippet. modifySnippetNote :: Project -> Int -> Int -> Maybe Text -> GitLab (Either (Response ByteString) (Maybe Note)) -- | Deletes an existing note of an snippet. deleteSnippetNote :: Project -> Int -> Int -> GitLab (Either (Response ByteString) (Maybe ())) -- | Gets a list of all notes for a single merge request. mergeRequestNotes :: Project -> Int -> Maybe SortBy -> Maybe OrderBy -> GitLab (Either (Response ByteString) [Note]) -- | Returns a single note for a specific project merge request. mergeRequestNote :: Project -> Int -> Int -> GitLab (Either (Response ByteString) (Maybe Note)) -- | Creates a new note to a single project merge request. newMergeRequestNote :: Project -> Int -> Text -> Maybe Bool -> GitLab (Either (Response ByteString) (Maybe ())) -- | Modify existing note of an merge request. modifyMergeRequestNote :: Project -> Int -> Int -> Maybe Text -> GitLab (Either (Response ByteString) (Maybe Note)) -- | Deletes an existing note of an merge request. deleteMergeRequestNote :: Project -> Int -> Int -> GitLab (Either (Response ByteString) (Maybe ())) module GitLab.API.MergeRequests -- | returns the merge requests for a project. mergeRequests :: Project -> GitLab [MergeRequest] -- | returns the merge requests for a project and a set of search -- attributes as Just values in MergeProjectAttrs. The -- mrAttrs value has default merge request search values, which is -- a record that can be modified with Just values. -- -- For example to search only for open merge requests for a project: -- --
-- mergeRequestsWith myProject (mrAttrs {mr_attr_state = Just MROpened})
--
mergeRequestsWith :: Project -> MergeProjectAttrs -> GitLab [MergeRequest]
-- | returns the merge request for a project given its merge request IID.
mergeRequest :: Project -> Int -> GitLab (Either (Response ByteString) (Maybe MergeRequest))
-- | Creates a merge request.
createMergeRequest :: Project -> Text -> Text -> Int -> Text -> Text -> GitLab (Either (Response ByteString) (Maybe MergeRequest))
-- | Accepts a merge request.
acceptMergeRequest :: Project -> 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 ()))
-- | No merge request search filters, thereby returning all merge requests.
-- Default scope is "all".
mrAttrs :: MergeProjectAttrs
-- | Attributes when searching for merge requests with the
-- mergeRequestsWith functions.
data MergeProjectAttrs
MergeProjectAttrs :: Maybe MergeRequestState -> Maybe OrderBy -> Maybe SortBy -> Maybe Milestone -> Maybe Text -> Maybe Bool -> Maybe Bool -> Maybe UTCTime -> Maybe UTCTime -> Maybe UTCTime -> Maybe UTCTime -> Maybe Scope -> Maybe Int -> Maybe Text -> Maybe Int -> Maybe [Int] -> Maybe [Int] -> Maybe Int -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe SearchIn -> Maybe WIP -> Maybe UTCTime -> Maybe UTCTime -> Maybe UTCTime -> MergeProjectAttrs
-- | Return all merge requests or just those that are opened, closed,
-- locked, or merged.
[mr_attr_state] :: MergeProjectAttrs -> Maybe MergeRequestState
-- | Return requests ordered by created_at or updated_at fields. Default is
-- created_at. Note that the OrderBy type has more options, but
-- only CreatedAt and UpdatedAt are applicable for ordering
-- merge requests.
[mr_attr_order_by] :: MergeProjectAttrs -> Maybe OrderBy
-- | Return requests sorted in asc or desc order. Default is desc.
[mr_attr_sort] :: MergeProjectAttrs -> Maybe SortBy
-- | Return merge requests for a specific milestone. None returns merge
-- requests with no milestone. Any returns merge requests that have an
-- assigned milestone.
[mr_attr_milestone] :: MergeProjectAttrs -> Maybe Milestone
-- | Return merge requests matching a comma separated list of labels.
[mr_attr_labels] :: MergeProjectAttrs -> Maybe Text
-- | If true, response returns more details for each label in labels field:
-- :name, :color, :description, :description_html, :text_color. Default
-- is false.
[mr_attr_with_labels_details] :: MergeProjectAttrs -> Maybe Bool
-- | If true, this projection requests (but does not guarantee) that the
-- merge_status field be recalculated asynchronously. Default is false.
[mr_attr_with_merge_status_recheck] :: MergeProjectAttrs -> Maybe Bool
-- | Return merge requests created on or after the given time.
[mr_attr_created_after] :: MergeProjectAttrs -> Maybe UTCTime
-- | Return merge requests created on or before the given time.
[mr_attr_created_before] :: MergeProjectAttrs -> Maybe UTCTime
-- | Return merge requests updated on or after the given time.
[mr_attr_updated_after] :: MergeProjectAttrs -> Maybe UTCTime
-- | Return merge requests updated on or before the given time.
[mr_attr_updated_before] :: MergeProjectAttrs -> Maybe UTCTime
-- | Return merge requests for the given scope: created_by_me,
-- assigned_to_me or all. Defaults to created_by_me.
[mr_attr_scope] :: MergeProjectAttrs -> Maybe Scope
-- | Returns merge requests created by the given user id. Mutually
-- exclusive with author_username. Combine with scope=all or
-- scope=assigned_to_me.
[mr_attr_author_id] :: MergeProjectAttrs -> Maybe Int
-- | Returns merge requests created by the given username. Mutually
-- exclusive with author_id.
[mr_attr_author_username] :: MergeProjectAttrs -> Maybe Text
-- | Returns merge requests assigned to the given user id.
[mr_attr_assignee_id] :: MergeProjectAttrs -> Maybe Int
-- | Returns merge requests which have specified all the users with the
-- given ids as individual approvers.
[mr_attr_approver_ids] :: MergeProjectAttrs -> Maybe [Int]
-- | Returns merge requests which have been approved by all the users with
-- the given ids (Max: 5).
[mr_attr_approved_by_ids] :: MergeProjectAttrs -> Maybe [Int]
-- | Returns merge requests which have the user as a reviewer with the
-- given user id. Mutually exclusive with reviewer_username.
[mr_attr_reviewer_id] :: MergeProjectAttrs -> Maybe Int
-- | Returns merge requests which have the user as a reviewer with the
-- given username. Mutually exclusive with reviewer_id.
[mr_attr_reviewer_username] :: MergeProjectAttrs -> Maybe Text
-- | Return merge requests reacted by the authenticated user by the given
-- emoji.
[mr_attr_my_reaction_emoji] :: MergeProjectAttrs -> Maybe Text
-- | Return merge requests with the given source branch.
[mr_attr_source_branch] :: MergeProjectAttrs -> Maybe Text
-- | Return merge requests with the given target branch.
[mr_attr_target_branch] :: MergeProjectAttrs -> Maybe Text
-- | Search merge requests against their title and description.
[mr_attr_search] :: MergeProjectAttrs -> Maybe Text
-- | Modify the scope of the search attribute. title, description, or a
-- string joining them with comma. Default is title,description.
[mr_attr_in] :: MergeProjectAttrs -> Maybe SearchIn
-- | Filter merge requests against their wip status. yes to return only
-- draft merge requests, no to return non-draft merge requests.
[mr_attr_wip] :: MergeProjectAttrs -> Maybe WIP
-- | Returns merge requests deployed to the given environment.
[mr_attr_environment] :: MergeProjectAttrs -> Maybe UTCTime
-- | Return merge requests deployed before the given date/time.
[mr_attr_deployed_before] :: MergeProjectAttrs -> Maybe UTCTime
-- | Return merge requests deployed after the given date/time.
[mr_attr_deployed_after] :: MergeProjectAttrs -> Maybe UTCTime
-- | for filtering by merge request state.
data MergeRequestState
-- | return only opened merge requests
MROpened :: MergeRequestState
-- | return only closed merge requests
MRClosed :: MergeRequestState
-- | return only locked merge requests
MRLocked :: MergeRequestState
-- | return only merged merge requests
MRMerged :: MergeRequestState
-- | WIP status of merge requests
data WIP
-- | return only draft merge requests
WIPYes :: WIP
-- | return non-draft merge requests
WIPNo :: WIP
instance GHC.Show.Show GitLab.API.MergeRequests.WIP
instance GHC.Show.Show GitLab.API.MergeRequests.MergeRequestState
module GitLab.API.Jobs
-- | returns all jobs ran on a project.
jobs :: Project -> GitLab [Job]
-- | Get a list of jobs for a pipeline.
pipelineJobs :: Project -> Int -> GitLab (Either (Response ByteString) [Job])
-- | Get a list of bridge jobs for a pipeline.
pipelineBridges :: Project -> Int -> GitLab (Either (Response ByteString) [Job])
-- | Get a single job of a project.
job :: Project -> Int -> GitLab (Either (Response ByteString) (Maybe Job))
-- | Cancel a single job of a project.
cancelJob :: Project -> Int -> GitLab (Either (Response ByteString) (Maybe Job))
-- | Retry a single job of a project.
retryJob :: Project -> Int -> GitLab (Either (Response ByteString) (Maybe Job))
-- | Retry a single job of a project.
eraseJob :: Project -> Int -> GitLab (Either (Response ByteString) (Maybe Job))
-- | Triggers a manual action to start a job.
runJob :: Project -> Int -> GitLab (Either (Response ByteString) (Maybe Job))
module GitLab.API.Issues
-- | Get a list of a project’s issues
groupIssues :: Group -> IssueFilterAttrs -> GitLab [Issue]
-- | Get a list of a project’s issues
projectIssues :: Project -> IssueFilterAttrs -> GitLab [Issue]
-- | Only for administrators. Get a single issue.
issue :: Int -> GitLab (Either (Response ByteString) (Maybe Issue))
-- | gets all issues create by a user.
userIssues :: User -> GitLab [Issue]
-- | Get a single project issue. If the project is private or the issue is
-- confidential, you need to provide credentials to authorize.
projectIssue :: Project -> Int -> GitLab (Either (Response ByteString) (Maybe Issue))
-- | create a new issue.
newIssue :: Project -> Text -> Text -> IssueAttrs -> GitLab (Either (Response ByteString) (Maybe Issue))
-- | create a new issue.
newIssue' :: Int -> Text -> Text -> IssueAttrs -> GitLab (Either (Response ByteString) (Maybe Issue))
-- | edits an issue. see
-- https://docs.gitlab.com/ee/api/issues.html#edit-issue
editIssue :: Project -> IssueId -> IssueAttrs -> GitLab (Either (Response ByteString) Issue)
-- | deletes an issue. see
-- https://docs.gitlab.com/ee/api/issues.html#delete-an-issue
deleteIssue :: Project -> IssueId -> GitLab (Either (Response ByteString) (Maybe ()))
-- | edits an issue. see
-- https://docs.gitlab.com/ee/api/issues.html#edit-issue
reorderIssue :: Project -> IssueId -> Int -> Int -> GitLab (Either (Response ByteString) Issue)
-- | Moves an issue to a different project. If a given label or milestone
-- with the same name also exists in the target project, it’s then
-- assigned to the issue being moved.
moveIssue :: Project -> IssueId -> ProjectId -> GitLab (Either (Response ByteString) (Maybe Issue))
-- | Clone the issue to given project. Copies as much data as possible as
-- long as the target project contains equivalent labels, milestones, and
-- so on.
cloneIssue :: Project -> IssueId -> ProjectId -> GitLab (Either (Response ByteString) (Maybe Issue))
-- | Subscribes the authenticated user to an issue to receive
-- notifications.
subscribeIssue :: Project -> IssueId -> GitLab (Either (Response ByteString) (Maybe Issue))
-- | Unsubscribes the authenticated user from the issue to not receive
-- notifications from it.
unsubscribeIssue :: Project -> IssueId -> GitLab (Either (Response ByteString) (Maybe Issue))
-- | Get all the merge requests that are related to the issue.
createTodo :: Project -> IssueId -> GitLab (Either (Response ByteString) (Maybe Todo))
-- | Get all the merge requests that are related to the issue.
issueMergeRequests :: Project -> IssueId -> GitLab (Either (Response ByteString) [MergeRequest])
-- | get all merge requests that close a particular issue when merged.
issueMergeRequestsThatClose :: Project -> IssueId -> GitLab (Either (Response ByteString) [MergeRequest])
-- | get all merge requests that close a particular issue when merged.
issueParticipants :: Project -> IssueId -> GitLab (Either (Response ByteString) [User])
-- | Gets issues count statistics on all issues the authenticated user has
-- access to.
issueStatisticsUser :: IssueFilterAttrs -> GitLab IssueStatistics
-- | Gets issues count statistics for a given group.
issueStatisticsGroup :: Group -> IssueFilterAttrs -> GitLab IssueStatistics
-- | Gets issues count statistics for a given group.
issueStatisticsProject :: Project -> IssueFilterAttrs -> GitLab IssueStatistics
-- | No issue filters, thereby returning all issues. Default scope is
-- "all".
defaultIssueFilters :: IssueFilterAttrs
-- | issue attributes when creating or editing issues.
defaultIssueAttrs :: Int -> IssueAttrs
-- | issue attributes.
data IssueAttrs
IssueAttrs :: ProjectId -> Maybe Text -> Maybe Text -> Maybe Bool -> Maybe Int -> Maybe [Int] -> Maybe Int -> Maybe [Text] -> Maybe Text -> Maybe UTCTime -> Maybe UTCTime -> Maybe Int -> Maybe Bool -> Maybe Int -> Maybe Int -> IssueAttrs
[set_issue_id] :: IssueAttrs -> ProjectId
[set_issue_title] :: IssueAttrs -> Maybe Text
[set_issue_description] :: IssueAttrs -> Maybe Text
[set_issue_confidential] :: IssueAttrs -> Maybe Bool
[set_issue_assignee_id] :: IssueAttrs -> Maybe Int
[set_issue_assignee_ids] :: IssueAttrs -> Maybe [Int]
[set_issue_milestone_id] :: IssueAttrs -> Maybe Int
[set_issue_labels] :: IssueAttrs -> Maybe [Text]
[set_issue_state_event] :: IssueAttrs -> Maybe Text
[set_issue_updated_at] :: IssueAttrs -> Maybe UTCTime
[set_issue_due_date] :: IssueAttrs -> Maybe UTCTime
[set_issue_weight] :: IssueAttrs -> Maybe Int
[set_issue_discussion_locked] :: IssueAttrs -> Maybe Bool
[set_issue_epic_id] :: IssueAttrs -> Maybe Int
[set_issue_epic_iid] :: IssueAttrs -> Maybe Int
-- | When an issue is due
data DueDate
NoDueDate :: DueDate
Overdue :: DueDate
Week :: DueDate
Month :: DueDate
NextMonthPreviousTwoWeeks :: DueDate
-- | Is a project issues open or closed
data IssueState
IssueOpen :: IssueState
IssueClosed :: IssueState
instance Data.Aeson.Types.ToJSON.ToJSON GitLab.API.Issues.IssueAttrs
instance Data.Aeson.Types.FromJSON.FromJSON GitLab.API.Issues.IssueAttrs
instance GHC.Show.Show GitLab.API.Issues.IssueAttrs
instance GHC.Show.Show GitLab.API.Issues.IssueState
instance GHC.Show.Show GitLab.API.Issues.DueDate
module GitLab.API.Groups
-- | Get a list of visible groups for the authenticated user.
groups :: ListGroupsAttrs -> GitLab [Group]
-- | Get a list of visible direct subgroups in this group.
subGroups :: Group -> ListGroupsAttrs -> GitLab [Group]
-- | Get a list of visible descendant groups of this group.
descendantGroups :: Group -> ListGroupsAttrs -> GitLab [Group]
-- | Get a list of projects in this group.
groupProjects :: Group -> GroupProjectAttrs -> GitLab [Project]
-- | Get a list of projects in this group.
groupSharedProjects :: Group -> GroupProjectAttrs -> GitLab [Project]
-- | Get all details of a group.
group :: Int -> GitLab (Either (Response ByteString) (Maybe Group))
-- | Creates a new project group (TODO include attributes).
newGroup :: Text -> Text -> GroupAttrs -> GitLab (Either (Response ByteString) (Maybe Group))
-- | Creates a new project group.
newSubGroup :: Text -> Text -> Int -> GroupAttrs -> GitLab (Either (Response ByteString) (Maybe Group))
-- | Updates the project group. Only available to group owners and
-- administrators.
updateGroup :: Int -> GroupAttrs -> GitLab (Either (Response ByteString) (Maybe Group))
-- | Only available to group owners and administrators.
removeGroup :: Int -> GitLab (Either (Response ByteString) (Maybe ()))
-- | Get all groups that match your string in their name or path.
searchGroup :: Text -> GitLab [Group]
-- | Attributes related to listing groups
data ListGroupsAttrs
ListGroupsAttrs :: Maybe [Int] -> Maybe Bool -> Maybe Text -> Maybe GroupOrderBy -> Maybe SortBy -> Maybe Bool -> Maybe AccessLevel -> Maybe Bool -> ListGroupsAttrs
[listGroupsFilter_skip_groups] :: ListGroupsAttrs -> Maybe [Int]
[listGroupsFilter_all_available] :: ListGroupsAttrs -> Maybe Bool
[listGroupsFilter_search] :: ListGroupsAttrs -> Maybe Text
[listGroupsFilter_order_by] :: ListGroupsAttrs -> Maybe GroupOrderBy
[listGroupsFilter_sort] :: ListGroupsAttrs -> Maybe SortBy
[listGroupsFilter_owned] :: ListGroupsAttrs -> Maybe Bool
[listGroupsFilter_min_access_level] :: ListGroupsAttrs -> Maybe AccessLevel
[listGroupsFilter_top_level_only] :: ListGroupsAttrs -> Maybe Bool
-- | The order of groups in search results.
data GroupOrderBy
GroupOrderName :: GroupOrderBy
GroupOrderPath :: GroupOrderBy
GroupOrderId :: GroupOrderBy
GroupOrderSimilarity :: GroupOrderBy
-- | Attributes related to a group
data GroupProjectAttrs
GroupProjectAttrs :: Maybe Int -> Maybe Bool -> Maybe Visibility -> Maybe GroupProjectOrderBy -> Maybe SortBy -> Maybe Text -> Maybe Bool -> Maybe Bool -> Maybe Bool -> Maybe Bool -> Maybe Bool -> Maybe Bool -> Maybe Bool -> Maybe AccessLevel -> Maybe Bool -> Maybe Bool -> GroupProjectAttrs
[groupProjectFilter_id] :: GroupProjectAttrs -> Maybe Int
[groupProjectFilter_archived] :: GroupProjectAttrs -> Maybe Bool
[groupProjectFilter_visibility] :: GroupProjectAttrs -> Maybe Visibility
[groupProjectFilter_order_by] :: GroupProjectAttrs -> Maybe GroupProjectOrderBy
[groupProjectFilter_sort] :: GroupProjectAttrs -> Maybe SortBy
[groupProjectFilter_search] :: GroupProjectAttrs -> Maybe Text
[groupProjectFilter_simple] :: GroupProjectAttrs -> Maybe Bool
[groupProjectFilter_owned] :: GroupProjectAttrs -> Maybe Bool
[groupProjectFilter_starred] :: GroupProjectAttrs -> Maybe Bool
[groupProjectFilter_with_issues_enabled] :: GroupProjectAttrs -> Maybe Bool
[groupProjectFilter_with_merge_requests_enabled] :: GroupProjectAttrs -> Maybe Bool
[groupProjectFilter_with_shared] :: GroupProjectAttrs -> Maybe Bool
[groupProjectFilter_include_subgroups] :: GroupProjectAttrs -> Maybe Bool
[groupProjectFilter_min_access_level] :: GroupProjectAttrs -> Maybe AccessLevel
[groupProjectFilter_with_custom_attributes] :: GroupProjectAttrs -> Maybe Bool
[groupProjectFilter_with_security_reports] :: GroupProjectAttrs -> Maybe Bool
-- | The order of group projects in search results.
data GroupProjectOrderBy
GroupProjectOrderId :: GroupProjectOrderBy
GroupProjectOrderName :: GroupProjectOrderBy
GroupProjectOrderPath :: GroupProjectOrderBy
GroupProjectOrderCreatedAt :: GroupProjectOrderBy
GroupProjectOrderUpdatedAt :: GroupProjectOrderBy
GroupProjectOrderSimilarity :: GroupProjectOrderBy
GroupProjectOrderLastActivityAt :: GroupProjectOrderBy
-- | Attributes related to a group
data GroupAttrs
GroupAttrs :: Maybe Text -> Maybe Text -> Maybe Bool -> Maybe BranchProtection -> Maybe Text -> Maybe Bool -> Maybe Bool -> Maybe Bool -> Maybe Int -> Maybe AccessLevel -> Maybe Bool -> Maybe Bool -> Maybe Bool -> Maybe AccessLevel -> Maybe Int -> Maybe Visibility -> GroupAttrs
-- | The name of the group.
[groupFilter_name] :: GroupAttrs -> Maybe Text
-- | The path of the group.
[groupFilter_path] :: GroupAttrs -> Maybe Text
-- | Default to Auto DevOps pipeline for all projects within this group.
[groupFilter_auto_devops_enabled] :: GroupAttrs -> Maybe Bool
-- | Default to the global level default branch protection setting.
[groupFilter_default_branch_protection] :: GroupAttrs -> Maybe BranchProtection
-- | The group’s description.
[groupFilter_description] :: GroupAttrs -> Maybe Text
-- | Disable email notifications.
[groupFilter_emails_disabled] :: GroupAttrs -> Maybe Bool
-- | Enable/disable Large File Storage (LFS) for the projects in this
-- group.
[groupFilter_lfs_enabled] :: GroupAttrs -> Maybe Bool
-- | Disable the capability of a group from getting mentioned.
[groupFilter_mentions_disabled] :: GroupAttrs -> Maybe Bool
-- | The parent group ID for creating nested group.
[groupFilter_parent_id] :: GroupAttrs -> Maybe Int
-- | Determine if developers can create projects in the group. Can be noone
-- (No one), maintainer (users with the Maintainer role), or developer
-- (users with the Developer or Maintainer role).
[groupFilter_project_creation_level] :: GroupAttrs -> Maybe AccessLevel
-- | Allow users to request member access.
[groupFilter_request_access_enabled] :: GroupAttrs -> Maybe Bool
-- | Require all users in this group to setup Two-factor authentication.
[groupFilter_require_two_factor_authentication] :: GroupAttrs -> Maybe Bool
-- | Prevent sharing a project with another group within this group.
[groupFilter_share_with_group_lock] :: GroupAttrs -> Maybe Bool
-- | Allowed to create subgroups. Can be owner (Owners), or maintainer
-- (users with the Maintainer role).
[groupFilter_subgroup_creation_level] :: GroupAttrs -> Maybe AccessLevel
-- | Time before Two-factor authentication is enforced (in hours).
[groupFilter_two_factor_grace_period] :: GroupAttrs -> Maybe Int
-- | The group’s visibility. Can be private, internal, or public.
[groupFilter_visibility] :: GroupAttrs -> Maybe Visibility
-- | A group level branch protection setting.
data BranchProtection
-- | Users with the Developer or Maintainer role can: push new commits,
-- force push changes, delete the branch
NoProtection :: BranchProtection
-- | Users with the Developer or Maintainer role can: push new commits
PartialProtection :: BranchProtection
-- | Only users with the Maintainer role can: push new commits
FullProtection :: BranchProtection
-- | Users with the Maintainer role can: push new commits, force push
-- changes, accept merge requests; Users with the Developer role can:
-- accept merge requests
ProtectAgainstPushes :: BranchProtection
-- | No group filters applied.
defaultGroupFilters :: GroupAttrs
-- | No group filters applied, thereby returning all groups.
defaultListGroupsFilters :: ListGroupsAttrs
-- | No group filters applied, thereby returning all groups.
defaultGroupProjectFilters :: GroupProjectAttrs
instance GHC.Show.Show GitLab.API.Groups.BranchProtection
instance GHC.Show.Show GitLab.API.Groups.GroupOrderBy
instance GHC.Show.Show GitLab.API.Groups.GroupProjectOrderBy
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
-- | Gets a member of a project. Returns only direct members and not
-- inherited members through ancestor groups.
memberOfProject :: Project -> Int -> GitLab (Either (Response ByteString) (Maybe Member))
-- | Gets a list of project members viewable by the authenticated user.
-- Returns only direct members and not inherited members through
-- ancestors groups.
membersOfProject :: Project -> GitLab [Member]
-- | Gets a member of a project, including members inherited or invited
-- through ancestor groups.
--
-- If a user is a member of this project and also of one or more ancestor
-- groups, only its membership with the highest access_level is returned.
-- This represents the effective permission of the user.
--
-- Members from an invited group are returned if either: the invited
-- group is public, or the requester is also a member of the invited
-- group.
memberOfProjectWithInherited :: Project -> Int -> GitLab (Either (Response ByteString) (Maybe Member))
-- | Gets a list of project members viewable by the authenticated user,
-- including inherited members, invited users, and permissions through
-- ancestor groups.
--
-- If a user is a member of this project and also of one or more ancestor
-- groups, only its membership with the highest access_level is returned.
-- This represents the effective permission of the user.
--
-- Members from an invited group are returned if either: the invited
-- group is public, or the requester is also a member of the invited
-- group.
membersOfProjectWithInherited :: Project -> GitLab (Either (Response ByteString) [Member])
-- | Adds a member to a project.
addMemberToProject :: Project -> AccessLevel -> User -> 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)]
-- | Updates a member of a project.
editMemberOfProject :: Project -> AccessLevel -> User -> GitLab (Either (Response ByteString) (Maybe Member))
-- | Removes a user from a project where the user has been explicitly
-- assigned a role.
--
-- The user needs to be a group member to qualify for removal. For
-- example, if the user was added directly to a project within the group
-- but not this group explicitly, you cannot use this API to remove them.
removeUserFromProject :: Project -> User -> GitLab (Either (Response ByteString) (Maybe ()))
-- | Gets a member of a group. Returns only direct members and not
-- inherited members through ancestor groups.
memberOfGroup :: Group -> Int -> GitLab (Either (Response ByteString) (Maybe Member))
-- | Gets a list of group members viewable by the authenticated user.
-- Returns only direct members and not inherited members through
-- ancestors groups.
membersOfGroup :: Group -> GitLab (Either (Response ByteString) [Member])
-- | Gets a member of a group, including members inherited or invited
-- through ancestor groups.
--
-- If a user is a member of this group and also of one or more ancestor
-- groups, only its membership with the highest access_level is returned.
-- This represents the effective permission of the user.
--
-- Members from an invited group are returned if either: the invited
-- group is public, or the requester is also a member of the invited
-- group.
memberOfGroupWithInherited :: Group -> Int -> GitLab (Either (Response ByteString) (Maybe Member))
-- | Gets a list of group members viewable by the authenticated user,
-- including inherited members, invited users, and permissions through
-- ancestor groups.
--
-- If a user is a member of this group and also of one or more ancestor
-- groups, only its membership with the highest access_level is returned.
-- This represents the effective permission of the user.
--
-- Members from an invited group are returned if either: the invited
-- group is public, or the requester is also a member of the invited
-- group.
membersOfGroupWithInherited :: Group -> GitLab (Either (Response ByteString) [Member])
-- | adds all registered users to a group.
addAllUsersToGroup :: Group -> AccessLevel -> GitLab [Either (Response ByteString) (Maybe Member)]
-- | Adds a member to a group.
addUserToGroup :: Group -> AccessLevel -> User -> GitLab (Either (Response ByteString) (Maybe Member))
-- | adds a list of users to a group.
addUsersToGroup :: Group -> AccessLevel -> [User] -> GitLab [Either (Response ByteString) (Maybe Member)]
-- | Updates a member of a group.
editMemberOfGroup :: Group -> AccessLevel -> User -> GitLab (Either (Response ByteString) (Maybe Member))
-- | Removes a user from a group where the user has been explicitly
-- assigned a role.
--
-- The user needs to be a group member to qualify for removal. For
-- example, if the user was added directly to a project within the group
-- but not this group explicitly, you cannot use this API to remove them.
removeUserFromGroup :: Group -> User -> GitLab (Either (Response ByteString) (Maybe ()))
-- | Approves a pending user for a group and its subgroups and projects.
approvePendingMember :: Group -> User -> GitLab (Either (Response ByteString) (Maybe Member))
-- | Approves all pending users for a group and its subgroups and projects.
approveAllPendingMembers :: Group -> GitLab (Either (Response ByteString) (Maybe Member))
-- | For a group and its subgroups and projects, get a list of all members
-- in an awaiting state and those who are invited but do not have a
-- GitLab account. This request returns all matching group and project
-- members from all groups and projects in the root group’s hierarchy.
-- When the member is an invited user that has not signed up for a GitLab
-- account yet, the invited email address is returned. This API endpoint
-- works on top-level groups only. It does not work on subgroups. This
-- API endpoint requires permission to administer members for the group.
pendingMembers :: Group -> GitLab (Either (Response ByteString) [Member])
module GitLab.API.Discussions
-- | Gets a list of all discussion items for a single issue.
projectIssueDiscussions :: Project -> Int -> GitLab (Either (Response ByteString) [Discussion])
-- | Returns a single discussion item for a specific project issue.
issueDiscussion :: Project -> Int -> Int -> GitLab (Either (Response ByteString) (Maybe Discussion))
-- | Creates a new thread to a single project issue. This is similar to
-- creating a note but other comments (replies) can be added to it later.
createIssueThread :: Project -> Int -> Text -> GitLab (Either (Response ByteString) (Maybe Discussion))
-- | Adds a new note to the thread. This can also create a thread from a
-- single comment. Notes can be added to other items than comments, such
-- as system notes, making them threads.
addNoteToIssueThread :: Project -> Int -> Int -> Text -> GitLab (Either (Response ByteString) (Maybe Discussion))
-- | Modify existing thread note of an issue.
modifyThreadNoteIssue :: Project -> Int -> Int -> Int -> Text -> GitLab (Either (Response ByteString) (Maybe Discussion))
-- | Deletes an existing thread note of an issue.
deleteIssueThreadNote :: Project -> Int -> Int -> Int -> GitLab (Either (Response ByteString) (Maybe ()))
-- | Gets a list of all discussion items for a single snippet.
snippetDiscussionItems :: Project -> Int -> GitLab (Either (Response ByteString) [Discussion])
-- | Returns a single discussion item for a specific project snippet.
snippetDiscussionItem :: Project -> Int -> Int -> GitLab (Either (Response ByteString) (Maybe Discussion))
-- | Creates a new thread to a single project snippet. This is similar to
-- creating a note but other comments (replies) can be added to it later.
createSnippetThread :: Project -> Int -> Text -> GitLab (Either (Response ByteString) (Maybe Discussion))
-- | Adds a new note to the thread.
addNoteToSnippetThread :: Project -> Int -> Int -> Text -> GitLab (Either (Response ByteString) (Maybe Discussion))
-- | Modify existing thread note of a snippet.
modifySnippetThreadNote :: Project -> Int -> Int -> Int -> Text -> GitLab (Either (Response ByteString) (Maybe Discussion))
-- | Deletes an existing thread note of an issue.
deleteSnippetThreadNote :: Project -> Int -> Int -> Int -> GitLab (Either (Response ByteString) (Maybe ()))
-- | Gets a list of all discussion items for a single merge request.
projectMergeRequestDiscussionItems :: Project -> Int -> GitLab (Either (Response ByteString) [Discussion])
-- | Gets a list of all discussion items for a single merge request.
mergeRequestDiscussionItems :: Project -> Int -> Int -> GitLab (Either (Response ByteString) (Maybe Discussion))
-- | Creates a new thread to a single project merge request. This is
-- similar to creating a note but other comments (replies) can be added
-- to it later. See the GitLab document:
-- https://docs.gitlab.com/ee/api/discussions.html#create-new-merge-request-thread
createMergeRequestThread :: Project -> Int -> Text -> Text -> Text -> Text -> PositionReference -> Text -> Text -> GitLab (Either (Response ByteString) (Maybe Discussion))
-- | Resolve/unresolve whole thread of a merge request.
resolveMergeRequestThread :: Project -> Int -> Int -> Bool -> GitLab (Either (Response ByteString) (Maybe Discussion))
-- | Adds a new note to the thread. This can also create a thread from a
-- single comment.
addNoteToMergeRequestThread :: Project -> Int -> Int -> Text -> GitLab (Either (Response ByteString) (Maybe Discussion))
-- | exactly one of body or resolved must be a Just value
modifyMergeRequestThreadNote :: Project -> Int -> Int -> Int -> Maybe Text -> Maybe Bool -> GitLab (Either (Response ByteString) (Maybe Discussion))
-- | Deletes an existing thread note of a merge request.
deleteMergeRequestThreadNote :: Project -> Int -> Int -> Int -> GitLab (Either (Response ByteString) (Maybe ()))
-- | Gets a list of all discussion items for a single commit.
projectCommitDiscussionItems :: Project -> Int -> GitLab (Either (Response ByteString) [Discussion])
-- | Returns a single discussion item for a specific project commit.
projectCommitDiscussionItem :: Project -> Int -> Int -> GitLab (Either (Response ByteString) (Maybe Discussion))
-- | Creates a new thread to a single project commit. This is similar to
-- creating a note but other comments (replies) can be added to it later.
createCommitThread :: Project -> Int -> Text -> Text -> Text -> Text -> PositionReference -> GitLab (Either (Response ByteString) (Maybe Discussion))
-- | Adds a new note to the thread.
addNoteToCommitThread :: Project -> Int -> Int -> Text -> GitLab (Either (Response ByteString) (Maybe Discussion))
-- | Adds a new note to the thread.
modifyCommityThreadNote :: Project -> Int -> Int -> Int -> Maybe Text -> Maybe Bool -> GitLab (Either (Response ByteString) (Maybe Discussion))
-- | Deletes an existing thread note of a commit.
deleteCommitThreadNote :: Project -> Int -> Int -> Int -> GitLab (Either (Response ByteString) (Maybe ()))
-- | Position reference for an entry in a discussion.
data PositionReference
TextPos :: PositionReference
ImagePos :: PositionReference
instance GHC.Show.Show GitLab.API.Discussions.PositionReference
module GitLab.API.Commits
-- | Get a list of repository commits in a project.
repoCommits :: Project -> GitLab [Commit]
-- | Get a list of repository commits in a project.
createCommitMultipleFilesActions :: Project -> Text -> Text -> [CommitAction] -> GitLab (Maybe Commit)
-- | Get a specific commit identified by the commit hash or name of a
-- branch or tag.
singleCommit :: Project -> Text -> GitLab (Maybe Commit)
-- | Cherry-picks a commit to a given branch.
cheryPickCommit :: Project -> Text -> Text -> GitLab (Maybe Commit)
-- | Reverts a commit in a given branch.
revertCommit :: Project -> Text -> Text -> GitLab (Maybe Commit)
-- | Get the diff of a commit in a project.
commitDiff :: Project -> Text -> GitLab (Either (Response ByteString) [Diff])
-- | Get the diff of a commit in a project.
commitComments :: Project -> Text -> GitLab (Either (Response ByteString) [CommitNote])
-- | Adds a comment to a commit.
postCommitComment :: Project -> Text -> Text -> GitLab (Either (Response ByteString) (Maybe CommitNote))
-- | Get the discussions of a commit in a project.
commitDiscussions :: Project -> Text -> GitLab (Either (Response ByteString) [Discussion])
-- | Get the discussions of a commit in a project.
commitMergeRequests :: Project -> Text -> GitLab (Either (Response ByteString) [MergeRequest])
-- | returns all commits of a branch from a project given its project ID
-- and the branch name.
branchCommits :: Project -> Text -> GitLab (Either (Response ByteString) [Commit])
-- | A commit action.
data CommitAction
CommitAction :: Action -> FilePath -> Maybe Text -> Maybe Text -> Maybe ContentEncoding -> Maybe Text -> Maybe Bool -> CommitAction
[commit_action_action] :: CommitAction -> Action
-- | Full path to the file.
[commit_action_file_path] :: CommitAction -> FilePath
-- | Original full path to the file being moved. Ex. lib/class1.rb. Only
-- considered for move action.
[commit_action_previous_path] :: CommitAction -> Maybe Text
-- | File content, required for all except delete, chmod, and move. Move
-- actions that do not specify content preserve the existing file
-- content, and any other value of content overwrites the file content.
[commit_action_content] :: CommitAction -> Maybe Text
-- | text or base64. text is default.
[commit_action_encoding] :: CommitAction -> Maybe ContentEncoding
-- | Last known file commit ID. Only considered in update, move, and delete
-- actions.
[commit_action_last_commit_id] :: CommitAction -> Maybe Text
-- | When truefalse enablesdisables the execute flag on the file.
-- Only considered for chmod action.
[commit_action_execute_filemode] :: CommitAction -> Maybe Bool
-- | Whether the content is text or base 64.
data ContentEncoding
EncodingText :: ContentEncoding
EncodingBase64 :: ContentEncoding
-- | The actual action within a commit action.
data Action
ActionCreate :: Action
ActionDelete :: Action
ActionMove :: Action
ActionUpdate :: Action
ActionChmod :: Action
instance GHC.Classes.Eq GitLab.API.Commits.Action
instance GHC.Classes.Eq GitLab.API.Commits.ContentEncoding
instance GHC.Classes.Eq GitLab.API.Commits.CommitAction
instance GHC.Show.Show GitLab.API.Commits.CommitAction
instance GHC.Show.Show GitLab.API.Commits.ContentEncoding
instance GHC.Show.Show GitLab.API.Commits.Action
module GitLab.API.Projects
-- | Get a list of all visible projects across GitLab for the authenticated
-- user. When accessed without authentication, only public projects with
-- simple fields are returned.
projects :: ProjectSearchAttrs -> GitLab [Project]
-- | Get a specific project. This endpoint can be accessed without
-- authentication if the project is publicly accessible.
project :: Int -> GitLab (Either (Response ByteString) (Maybe Project))
-- | Get the users list of a project.
projectUsers :: Project -> GitLab (Either (Response ByteString) [User])
-- | gets all projects for a user.
--
-- -- userProjects myUser --userProjects :: User -> ProjectSearchAttrs -> GitLab (Maybe [Project]) -- | Get a list of visible projects starred by the given user. When -- accessed without authentication, only public projects are returned. -- --
-- userProjects myUser --starredProjects :: User -> ProjectSearchAttrs -> GitLab [Project] -- | Get a list of ancestor groups for this project. projectGroups :: Project -> GitLab (Either (Response ByteString) [Group]) -- | Creates a new project owned by the authenticated user. createProject :: Text -> Text -> GitLab (Either (Response ByteString) (Maybe Project)) -- | Creates a new project owned by the specified user. Available only for -- administrators. createProjectForUser :: User -> Text -> GitLab (Either (Response ByteString) (Maybe Project)) -- | Edit a project. The defaultProjectAttrs value has default -- project search values, which is a record that can be modified with -- Just values. -- -- For example to disable project specific email notifications: -- --
-- editProject myProject (defaultProjectAttrs { project_edit_emails_disabled = Just True })
--
editProject :: Project -> ProjectAttrs -> GitLab (Either (Response ByteString) Project)
-- | Forks a project into the user namespace of the authenticated user or
-- the one provided.
forkProject :: Project -> GitLab (Either (Response ByteString) (Maybe Project))
-- | List the projects accessible to the calling user that have an
-- established, forked relationship with the specified project
--
-- -- projectForks "project1" -- projectForks "group1/project1" --projectForks :: Text -> GitLab (Either (Response ByteString) [Project]) -- | Stars a given project. starProject :: Project -> GitLab (Either (Response ByteString) (Maybe Project)) -- | Stars a given project. unstarProject :: Project -> GitLab (Either (Response ByteString) (Maybe Project)) -- | List the users who starred the specified project. projectStarrers :: Project -> GitLab (Either (Response ByteString) [Group]) -- | Archives the project if the user is either an administrator or the -- owner of this project. archiveProject :: Project -> GitLab (Either (Response ByteString) (Maybe Project)) -- | Unarchives the project if the user is either an administrator or the -- owner of this project. unarchiveProject :: Project -> GitLab (Either (Response ByteString) (Maybe Project)) -- | Deletes a project including all associated resources. deleteProject :: Project -> GitLab (Either (Response ByteString) (Maybe ())) -- | Allow to share project with group. shareProjectWithGroup :: Int -> Project -> AccessLevel -> GitLab (Either (Response ByteString) (Maybe Project)) -- | Unshare the project from the group. unshareProjectWithGroup :: Int -> Project -> GitLab (Either (Response ByteString) (Maybe ())) -- | Import members from another project. importMembersFromProject :: Project -> Project -> GitLab (Either (Response ByteString) (Maybe Project)) -- | Allows modification of the forked relationship between existing -- projects. Available only for project owners and administrators. forkRelation :: Project -> Project -> GitLab (Either (Response ByteString) (Maybe Project)) -- | Delete an existing forked from relationship. unforkRelation :: Project -> GitLab (Either (Response ByteString) (Maybe ())) -- | gets all projects with the given project name. It only returns -- projects with an exact match with the project path. -- --
-- projectsWithName "project1" --projectsWithName :: Text -> GitLab [Project] -- | gets a project with the given name for the given full path of the -- namespace. E.g. -- --
-- projectWithPathAndName "user1" "project1" ---- -- looks for "user1/project1" -- --
-- projectWithPathAndName "group1/subgroup1" "project1" ---- -- looks for "project1" within the namespace with full path -- "group1/subgroup1" projectWithPathAndName :: Text -> Text -> GitLab (Either (Response ByteString) (Maybe Project)) -- | Start the Housekeeping task for a project. houseKeeping :: Project -> GitLab (Either (Response ByteString) (Maybe Project)) -- | transfer a project to a new namespace. transferProject :: Project -> Text -> GitLab (Either (Response ByteString) Project) -- | Returns True is a project has multiple email addresses -- associated with all commits in a project, False otherwise. multipleCommitters :: Project -> GitLab Bool -- | gets the email addresses in the author information in all commit for a -- project. commitsEmailAddresses :: Project -> GitLab [Text] -- | gets the Project against which the given Issue was -- created. projectOfIssue :: Issue -> GitLab Project -- | returns True is the last commit for a project passes all -- continuous integration tests. projectCISuccess :: Project -> GitLab Bool -- | gets all diffs in a project for a given commit SHA. projectDiffs :: Project -> Text -> GitLab (Either (Response ByteString) [Diff]) -- | add a group to a project. addGroupToProject :: Int -> Int -> AccessLevel -> GitLab (Either (Response ByteString) (Maybe GroupShare)) -- | A default set of project attributes to override with the -- editProject functions. Only the project ID value is set is a -- search parameter, all other search parameters are not set and can be -- overwritten. defaultProjectAttrs :: Int -> ProjectAttrs -- | A default set of project searc filters where no project filters are -- applied, thereby returning all projects. defaultProjectSearchAttrs :: ProjectSearchAttrs -- | Attributes for updating when editing a project with the -- editProject functions. data ProjectAttrs ProjectAttrs :: 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 -> ProjectAttrs -- | Set whether or not merge requests can be merged with skipped jobs. [project_edit_allow_merge_on_skipped_pipeline] :: ProjectAttrs -> Maybe Bool -- | One of disabled, private or enabled. [project_edit_analytics_access_level] :: ProjectAttrs -> Maybe Text -- | How many approvers should approve merge request by default. [project_edit_approvals_before_merge] :: ProjectAttrs -> Maybe Int -- | Auto-cancel pending pipelines. [project_edit_auto_cancel_pending_pipelines] :: ProjectAttrs -> Maybe EnabledDisabled -- | Auto Deploy strategy (continuous, manual, or timed_incremental). [project_edit_auto_devops_deploy_strategy] :: ProjectAttrs -> Maybe AutoDeployStrategy -- | Enable Auto DevOps for this project. [project_edit_auto_devops_enabled] :: ProjectAttrs -> Maybe Bool -- | Set whether auto-closing referenced issues on default branch. [project_edit_autoclose_referenced_issues] :: ProjectAttrs -> Maybe Bool -- | Test coverage parsing. [project_edit_build_coverage_regex] :: ProjectAttrs -> Maybe Text -- | The Git strategy. Defaults to fetch. [project_edit_build_git_strategy] :: ProjectAttrs -> Maybe GitStrategy -- | The maximum amount of time, in seconds, that a job can run. [project_edit_build_timeout] :: ProjectAttrs -> Maybe Int -- | One of disabled, private, or enabled. [project_edit_builds_access_level] :: ProjectAttrs -> Maybe ProjectSettingAccessLevel -- | The path to CI configuration file. [project_edit_ci_config_path] :: ProjectAttrs -> Maybe Text -- | Default number of revisions for shallow cloning. [project_edit_ci_default_git_depth] :: ProjectAttrs -> Maybe Int -- | When a new deployment job starts, skip older deployment jobs that are -- still pending. [project_edit_ci_forward_deployment_enabled] :: ProjectAttrs -> Maybe Bool -- | Set visibility of container registry, for this project, to one of -- disabled, private or enabled. [project_edit_container_registry_access_level] :: ProjectAttrs -> Maybe ProjectSettingAccessLevel -- | The default branch name. [project_edit_default_branch] :: ProjectAttrs -> Maybe Text -- | Short project description. [project_edit_description] :: ProjectAttrs -> Maybe Text -- | Disable email notifications. [project_edit_emails_disabled] :: ProjectAttrs -> Maybe Bool -- | The classification label for the project. [project_edit_external_authorization_classification_label] :: ProjectAttrs -> Maybe Text -- | One of disabled, private, or enabled. [project_edit_forking_access_level] :: ProjectAttrs -> Maybe ProjectSettingAccessLevel -- | The ID or URL-encoded path of the project. [project_edit_id] :: ProjectAttrs -> Int -- | URL to import repository from. [project_edit_import_url] :: ProjectAttrs -> Maybe Text -- | One of disabled, private, or enabled. [project_edit_issues_access_level] :: ProjectAttrs -> Maybe ProjectSettingAccessLevel -- | Enable LFS. [project_edit_lfs_enabled] :: ProjectAttrs -> Maybe Bool -- | Set the merge method used. [project_edit_merge_method] :: ProjectAttrs -> Maybe MergeMethod -- | One of disabled, private, or enabled. [project_edit_merge_requests_access_level] :: ProjectAttrs -> Maybe ProjectSettingAccessLevel -- | Pull mirror overwrites diverged branches. [project_edit_mirror_overwrites_diverged_branches] :: ProjectAttrs -> Maybe Bool -- | Pull mirroring triggers builds. [project_edit_mirror_trigger_builds] :: ProjectAttrs -> Maybe Bool -- | User responsible for all the activity surrounding a pull mirror event. -- (admins only) [project_edit_mirror_user_id] :: ProjectAttrs -> Maybe Int -- | Enables pull mirroring in a project. [project_edit_mirror] :: ProjectAttrs -> Maybe Bool -- | The name of the project. [project_edit_name] :: ProjectAttrs -> Maybe Text -- | One of disabled, private, or enabled. [project_edit_operations_access_level] :: ProjectAttrs -> 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] :: ProjectAttrs -> Maybe Bool -- | Set whether merge requests can only be merged with successful jobs. [project_edit_only_allow_merge_if_pipeline_succeeds] :: ProjectAttrs -> Maybe Bool -- | Only mirror protected branches. [project_edit_only_mirror_protected_branches] :: ProjectAttrs -> Maybe Bool -- | Enable or disable packages repository feature. [project_edit_packages_enabled] :: ProjectAttrs -> Maybe Bool -- | One of disabled, private, enabled, or public. [project_edit_pages_access_level] :: ProjectAttrs -> Maybe ProjectSettingAccessLevel -- | One of disabled, private, enabled or public. [project_edit_requirements_access_level] :: ProjectAttrs -> 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] :: ProjectAttrs -> Maybe Bool -- | Custom repository name for the project. By default generated based on -- name. [project_edit_path] :: ProjectAttrs -> Maybe Text -- | If true, jobs can be viewed by non-project members. [project_edit_public_builds] :: ProjectAttrs -> Maybe Bool -- | Enable Delete source branch option by default for all new merge -- requests. [project_edit_remove_source_branch_after_merge] :: ProjectAttrs -> Maybe Bool -- | One of disabled, private, or enabled. [project_edit_repository_access_level] :: ProjectAttrs -> Maybe ProjectSettingAccessLevel -- | Which storage shard the repository is on. (admins only) [project_edit_repository_storage] :: ProjectAttrs -> Maybe Text -- | Allow users to request member access. [project_edit_request_access_enabled] :: ProjectAttrs -> Maybe Bool -- | Automatically resolve merge request diffs discussions on lines changed -- with a push. [project_edit_resolve_outdated_diff_discussions] :: ProjectAttrs -> Maybe Bool -- | Enable or disable Service Desk feature. [project_edit_service_desk_enabled] :: ProjectAttrs -> Maybe Bool -- | Enable shared runners for this project. [project_edit_shared_runners_enabled] :: ProjectAttrs -> Maybe Bool -- | Show default award emojis. [project_edit_show_default_award_emojis] :: ProjectAttrs -> Maybe Bool -- | One of disabled, private, or enabled. [project_edit_snippets_access_level] :: ProjectAttrs -> Maybe ProjectSettingAccessLevel -- | One of never, always, default_on, or default_off. [project_edit_squash_option] :: ProjectAttrs -> Maybe SquashOption -- | The commit message used to apply merge request suggestions. [project_edit_suggestion_commit_message] :: ProjectAttrs -> Maybe Text [project_edit_visibility] :: ProjectAttrs -> Maybe Visibility -- | One of disabled, private, or enabled. [project_edit_wiki_access_level] :: ProjectAttrs -> Maybe ProjectSettingAccessLevel -- | Default description for Issues. Description is parsed with GitLab -- Flavored Markdown. See Templates for issues and merge requests. [project_edit_issues_template] :: ProjectAttrs -> Maybe Text -- | Default description for Merge Requests. Description is parsed with -- GitLab Flavored Markdown. [project_edit_merge_requests_template] :: ProjectAttrs -> Maybe Text -- | Disable or enable the ability to keep the latest artifact for this -- project. [project_edit_keep_latest_artifact] :: ProjectAttrs -> Maybe Bool -- | Attributes related to a group data ProjectSearchAttrs ProjectSearchAttrs :: Maybe Bool -> Maybe Int -> Maybe Bool -> Maybe Bool -> Maybe UTCTime -> Maybe UTCTime -> Maybe Bool -> Maybe AccessLevel -> Maybe OrderBy -> Maybe Bool -> Maybe Bool -> Maybe Text -> Maybe Bool -> Maybe Text -> Maybe Bool -> Maybe SortBy -> Maybe Bool -> Maybe Bool -> Maybe Text -> Maybe Int -> Maybe Visibility -> Maybe Bool -> Maybe Bool -> Maybe Bool -> Maybe Text -> ProjectSearchAttrs -- | Limit by archived status. [projectSearchFilter_archived] :: ProjectSearchAttrs -> Maybe Bool -- | Limit results to projects with IDs greater than the specified ID. [projectSearchFilter_id_after] :: ProjectSearchAttrs -> Maybe Int -- | Limit results to projects with IDs less than the specified ID. [projectSearchFilter_id_before] :: ProjectSearchAttrs -> Maybe Bool -- | Limit results to projects which were imported from external systems by -- current user. [projectSearchFilter_imported] :: ProjectSearchAttrs -> Maybe Bool -- | Limit results to projects with last_activity after specified time. [projectSearchFilter_last_activity_after] :: ProjectSearchAttrs -> Maybe UTCTime -- | Limit results to projects with last_activity before specified time. [projectSearchFilter_last_activity_before] :: ProjectSearchAttrs -> Maybe UTCTime -- | Limit by projects that the current user is a member of. [projectSearchFilter_membership] :: ProjectSearchAttrs -> Maybe Bool -- | Limit by current user minimal access level. [projectSearchFilter_min_access_level] :: ProjectSearchAttrs -> Maybe AccessLevel -- | Return projects ordered by a given criteria. [projectSearchFilter_order_by] :: ProjectSearchAttrs -> Maybe OrderBy -- | Limit by projects explicitly owned by the current user. [projectSearchFilter_owned] :: ProjectSearchAttrs -> Maybe Bool -- | Limit projects where the repository checksum calculation has failed. [projectSearchFilter_repository_checksum_failed] :: ProjectSearchAttrs -> Maybe Bool -- | Limit results to projects stored on repository_storage. -- (administrators only). [projectSearchFilter_repository_storage] :: ProjectSearchAttrs -> Maybe Text -- | Include ancestor namespaces when matching search criteria. Default is -- false. [projectSearchFilter_search_namespaces] :: ProjectSearchAttrs -> Maybe Bool -- | Return list of projects matching the search criteria. [projectSearchFilter_search] :: ProjectSearchAttrs -> Maybe Text -- | Return only limited fields for each project. This is a no-op without -- authentication as then only simple fields are returned. [projectSearchFilter_simple] :: ProjectSearchAttrs -> Maybe Bool -- | Return projects sorted in asc or desc order. Default is desc. [projectSearchFilter_sort] :: ProjectSearchAttrs -> Maybe SortBy -- | Limit by projects starred by the current user. [projectSearchFilter_starred] :: ProjectSearchAttrs -> Maybe Bool -- | Include project statistics. Only available to Reporter or higher level -- role members. [projectSearchFilter_statistics] :: ProjectSearchAttrs -> Maybe Bool -- | Comma-separated topic names. Limit results to projects that match all -- of given topics. [projectSearchFilter_topic] :: ProjectSearchAttrs -> Maybe Text -- | Limit results to projects with the assigned topic given by the topic -- ID. [projectSearchFilter_topic_id] :: ProjectSearchAttrs -> Maybe Int -- | Limit by visibility. [projectSearchFilter_visibility] :: ProjectSearchAttrs -> Maybe Visibility -- | Include custom attributes in response. (administrator only). [projectSearchFilter_with_custom_attributes] :: ProjectSearchAttrs -> Maybe Bool -- | Limit by enabled issues feature. [projectSearchFilter_with_issues_enabled] :: ProjectSearchAttrs -> Maybe Bool -- | Limit by enabled merge requests feature. [projectSearchFilter_with_merge_requests_enabled] :: ProjectSearchAttrs -> Maybe Bool -- | Limit by projects which use the given programming language. [projectSearchFilter_with_programming_language] :: ProjectSearchAttrs -> Maybe Text -- | 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.ProjectAttrs instance GHC.Show.Show GitLab.API.Projects.ProjectAttrs instance GHC.Generics.Generic GitLab.API.Projects.ProjectAttrs 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 single project repository branch. branch :: Project -> Text -> GitLab (Maybe Branch) -- | Create a new branch in the repository. createRepositoryBranch :: Project -> Text -> Text -> GitLab (Maybe Branch) -- | Delete a branch from the repository. deleteRepositoryBranch :: Project -> Text -> GitLab (Either (Response ByteString) (Maybe ())) -- | Deletes all branches that are merged into the project’s default -- branch. deleteMergedBranches :: Project -> GitLab (Either (Response ByteString) (Maybe ())) module GitLab.API.Boards -- | returns all issue boards for a project. projectIssueBoards :: Project -> GitLab [IssueBoard] -- | returns a single project issue board. projectIssueBoard :: Project -> Int -> GitLab (Either (Response ByteString) (Maybe IssueBoard)) -- | Creates a project issue board. createIssueBoard :: Project -> Text -> GitLab (Maybe IssueBoard) -- | Updates a project issue board. updateIssueBoard :: Project -> Int -> UpdateBoardAttrs -> GitLab (Either (Response ByteString) (Maybe IssueBoard)) -- | Deletes a project issue board. deleteIssueBoard :: Project -> IssueBoard -> 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 single board list. Does not include open and closed lists. boardList :: Project -> IssueBoard -> Int -> GitLab (Maybe BoardIssue) -- | Creates a new issue board list. createBoardList :: Project -> IssueBoard -> CreateBoardAttrs -> GitLab (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)) -- | Only for administrators and project owners. Deletes a board list. deleteBoardList :: Project -> IssueBoard -> 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 -- | 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 -- | default attributes for board creation. defaultCreateBoardAttrs :: CreateBoardAttrs 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