Copyright | (c) Rob Stewart Heriot-Watt University 2019 |
---|---|
License | BSD3 |
Maintainer | robstewart57@gmail.com |
Stability | stable |
Safe Haskell | None |
Language | Haskell2010 |
Synopsis
- allProjects :: GitLab [Project]
- projectForks :: Text -> GitLab (Either (Response ByteString) [Project])
- searchProjectId :: Int -> GitLab (Either (Response ByteString) (Maybe Project))
- projectsWithName :: Text -> GitLab [Project]
- projectsWithNameAndUser :: Text -> Text -> GitLab (Either (Response ByteString) (Maybe Project))
- multipleCommitters :: Project -> GitLab Bool
- commitsEmailAddresses :: Project -> GitLab [Text]
- commitsEmailAddresses' :: Int -> GitLab (Either (Response ByteString) [Text])
- userProjects :: User -> GitLab (Maybe [Project])
- userProjects' :: Text -> GitLab (Maybe [Project])
- projectOfIssue :: Issue -> GitLab Project
- issuesCreatedByUser :: Text -> GitLab (Maybe (User, [Project]))
- issuesOnForks :: Text -> GitLab [(Project, [Issue], [User])]
- projectMemebersCount :: Project -> GitLab (Text, [(Text, Text)])
- projectCISuccess :: Project -> GitLab Bool
- namespacePathToUserId :: Text -> GitLab (Maybe Int)
- projectDiffs :: Project -> Text -> GitLab (Either (Response ByteString) [Diff])
- projectDiffs' :: Int -> Text -> GitLab (Either (Response ByteString) [Diff])
- addGroupToProject :: Int -> Int -> AccessLevel -> GitLab (Either (Response ByteString) (Maybe GroupShare))
- transferProject :: Project -> Text -> GitLab (Either (Response ByteString) Project)
- transferProject' :: Int -> Text -> GitLab (Either (Response ByteString) Project)
- editProject :: Project -> EditProjectAttrs -> GitLab (Either (Response ByteString) Project)
- editProject' :: Int -> EditProjectAttrs -> GitLab (Either (Response ByteString) Project)
- defaultEditProjectAttrs :: Int -> EditProjectAttrs
- data EditProjectAttrs = EditProjectAttrs {
- project_edit_allow_merge_on_skipped_pipeline :: Maybe Bool
- project_edit_analytics_access_level :: Maybe Text
- project_edit_approvals_before_merge :: Maybe Int
- project_edit_auto_cancel_pending_pipelines :: Maybe EnabledDisabled
- project_edit_auto_devops_deploy_strategy :: Maybe AutoDeployStrategy
- project_edit_auto_devops_enabled :: Maybe Bool
- project_edit_autoclose_referenced_issues :: Maybe Bool
- project_edit_build_coverage_regex :: Maybe Text
- project_edit_build_git_strategy :: Maybe GitStrategy
- project_edit_build_timeout :: Maybe Int
- project_edit_builds_access_level :: Maybe ProjectSettingAccessLevel
- project_edit_ci_config_path :: Maybe Text
- project_edit_ci_default_git_depth :: Maybe Int
- project_edit_ci_forward_deployment_enabled :: Maybe Bool
- project_edit_container_registry_access_level :: Maybe ProjectSettingAccessLevel
- project_edit_default_branch :: Maybe Text
- project_edit_description :: Maybe Text
- project_edit_emails_disabled :: Maybe Bool
- project_edit_external_authorization_classification_label :: Maybe Text
- project_edit_forking_access_level :: Maybe ProjectSettingAccessLevel
- project_edit_id :: Int
- project_edit_import_url :: Maybe Text
- project_edit_issues_access_level :: Maybe ProjectSettingAccessLevel
- project_edit_lfs_enabled :: Maybe Bool
- project_edit_merge_method :: Maybe MergeMethod
- project_edit_merge_requests_access_level :: Maybe ProjectSettingAccessLevel
- project_edit_mirror_overwrites_diverged_branches :: Maybe Bool
- project_edit_mirror_trigger_builds :: Maybe Bool
- project_edit_mirror_user_id :: Maybe Int
- project_edit_mirror :: Maybe Bool
- project_edit_name :: Maybe Text
- project_edit_operations_access_level :: Maybe ProjectSettingAccessLevel
- project_edit_only_allow_merge_if_all_discussions_are_resolved :: Maybe Bool
- project_edit_only_allow_merge_if_pipeline_succeeds :: Maybe Bool
- project_edit_only_mirror_protected_branches :: Maybe Bool
- project_edit_packages_enabled :: Maybe Bool
- project_edit_pages_access_level :: Maybe ProjectSettingAccessLevel
- project_edit_requirements_access_level :: Maybe ProjectSettingAccessLevel
- project_edit_restrict_user_defined_variables :: Maybe Bool
- project_edit_path :: Maybe Text
- project_edit_public_builds :: Maybe Bool
- project_edit_remove_source_branch_after_merge :: Maybe Bool
- project_edit_repository_access_level :: Maybe ProjectSettingAccessLevel
- project_edit_repository_storage :: Maybe Text
- project_edit_request_access_enabled :: Maybe Bool
- project_edit_resolve_outdated_diff_discussions :: Maybe Bool
- project_edit_service_desk_enabled :: Maybe Bool
- project_edit_shared_runners_enabled :: Maybe Bool
- project_edit_show_default_award_emojis :: Maybe Bool
- project_edit_snippets_access_level :: Maybe ProjectSettingAccessLevel
- project_edit_squash_option :: Maybe SquashOption
- project_edit_suggestion_commit_message :: Maybe Text
- project_edit_visibility :: Maybe Visibility
- project_edit_wiki_access_level :: Maybe ProjectSettingAccessLevel
- project_edit_issues_template :: Maybe Text
- project_edit_merge_requests_template :: Maybe Text
- project_edit_keep_latest_artifact :: Maybe Bool
- data EnabledDisabled
- data AutoDeployStrategy
- data GitStrategy
- data ProjectSettingAccessLevel
- data MergeMethod
- = Merge
- | RebaseMerge
- | FF
- data SquashOption
Documentation
allProjects :: GitLab [Project] Source #
gets all projects.
gets all forks of a project. Supports use of namespaces.
projectForks "project1" projectForks "group1/project1"
gets all projects with the given project name.
projectsWithName "project1"
projectsWithNameAndUser :: Text -> Text -> GitLab (Either (Response ByteString) (Maybe Project)) Source #
gets a project with the given name for the given username. E.g.
projectsWithNameAndUser "user1" "project1"
looks for "user1/project1"
multipleCommitters :: Project -> GitLab Bool Source #
returns True
if a project has multiple committers, according to
the email addresses of the commits.
commitsEmailAddresses :: Project -> GitLab [Text] Source #
gets the email addresses in the author information in all commit for a project.
commitsEmailAddresses' :: Int -> GitLab (Either (Response ByteString) [Text]) Source #
gets the email addresses in the author information in all commit for a project defined by the project's ID.
userProjects :: User -> GitLab (Maybe [Project]) Source #
gets all projects for a user.
userProjects myUser
userProjects' :: Text -> GitLab (Maybe [Project]) Source #
gets all projects for a user given their username.
userProjects "harry"
searches for all projects with the given name, and returns a list of triples of: 1) the found project, 2) the list of issues for the found projects, and 3) a list of users who've created issues.
projectMemebersCount :: Project -> GitLab (Text, [(Text, Text)]) Source #
returns a (namespace,members) tuple for the given Project
,
where namespace is the namespace of the project
e.g. "user1/project1", and members is a list of (username,name)
tuples about all members of the project.
returns True
is the last commit for a project passes all
continuous integration tests.
namespacePathToUserId Source #
searches for a username, and returns a user ID for that user, or
Nothing
if a user cannot be found.
projectDiffs :: Project -> Text -> GitLab (Either (Response ByteString) [Diff]) Source #
gets all diffs in a project for a given commit SHA.
projectDiffs' :: Int -> Text -> GitLab (Either (Response ByteString) [Diff]) Source #
gets all diffs in a project for a given project ID, for a given commit SHA.
:: Int | group ID |
-> Int | project ID |
-> AccessLevel | level of access granted |
-> GitLab (Either (Response ByteString) (Maybe GroupShare)) |
add a group to a project.
:: Project | project |
-> Text | namespace where to transfer project to |
-> GitLab (Either (Response ByteString) Project) |
transfer a project to a new namespace.
:: Int | project ID |
-> Text | namespace where to transfer project to |
-> GitLab (Either (Response ByteString) Project) |
edit a project.
:: Project | project |
-> EditProjectAttrs | EditProjectAttributes |
-> GitLab (Either (Response ByteString) Project) |
edit a project.
:: Int | project ID |
-> EditProjectAttrs | EditProjectAttributes |
-> GitLab (Either (Response ByteString) Project) |
edit a project.
defaultEditProjectAttrs Source #
:: Int | project ID |
-> EditProjectAttrs |
A default set of project attributes to override with the
editProject
functions.
data EditProjectAttrs Source #
Attributes for updating when editing a project with the
editProject
functions.
EditProjectAttrs | |
|
Instances
data EnabledDisabled Source #
Is auto-cancel pending pipelines enabled or disabled
Instances
Eq EnabledDisabled Source # | |
Defined in GitLab.API.Projects (==) :: EnabledDisabled -> EnabledDisabled -> Bool # (/=) :: EnabledDisabled -> EnabledDisabled -> Bool # | |
Show EnabledDisabled Source # | |
Defined in GitLab.API.Projects showsPrec :: Int -> EnabledDisabled -> ShowS # show :: EnabledDisabled -> String # showList :: [EnabledDisabled] -> ShowS # |
data AutoDeployStrategy Source #
Auto Deploy strategy: continuous, manual, or timed_incremental,
for the editProject
functions
Instances
Eq AutoDeployStrategy Source # | |
Defined in GitLab.API.Projects (==) :: AutoDeployStrategy -> AutoDeployStrategy -> Bool # (/=) :: AutoDeployStrategy -> AutoDeployStrategy -> Bool # | |
Show AutoDeployStrategy Source # | |
Defined in GitLab.API.Projects showsPrec :: Int -> AutoDeployStrategy -> ShowS # show :: AutoDeployStrategy -> String # showList :: [AutoDeployStrategy] -> ShowS # |
data GitStrategy Source #
The Git strategy, defaults to fetch, for the editProject
functions
Instances
Eq GitStrategy Source # | |
Defined in GitLab.API.Projects (==) :: GitStrategy -> GitStrategy -> Bool # (/=) :: GitStrategy -> GitStrategy -> Bool # | |
Show GitStrategy Source # | |
Defined in GitLab.API.Projects showsPrec :: Int -> GitStrategy -> ShowS # show :: GitStrategy -> String # showList :: [GitStrategy] -> ShowS # |
data ProjectSettingAccessLevel Source #
The project access level setting, for the editProject
functions
Instances
Eq ProjectSettingAccessLevel Source # | |
Defined in GitLab.API.Projects | |
Show ProjectSettingAccessLevel Source # | |
Defined in GitLab.API.Projects showsPrec :: Int -> ProjectSettingAccessLevel -> ShowS # show :: ProjectSettingAccessLevel -> String # showList :: [ProjectSettingAccessLevel] -> ShowS # |
data MergeMethod Source #
The project git merge method, for the editProject
functions
Instances
Eq MergeMethod Source # | |
Defined in GitLab.API.Projects (==) :: MergeMethod -> MergeMethod -> Bool # (/=) :: MergeMethod -> MergeMethod -> Bool # | |
Show MergeMethod Source # | |
Defined in GitLab.API.Projects showsPrec :: Int -> MergeMethod -> ShowS # show :: MergeMethod -> String # showList :: [MergeMethod] -> ShowS # |
data SquashOption Source #
The project git merge squash option, for the editProject
functions
Instances
Eq SquashOption Source # | |
Defined in GitLab.API.Projects (==) :: SquashOption -> SquashOption -> Bool # (/=) :: SquashOption -> SquashOption -> Bool # | |
Show SquashOption Source # | |
Defined in GitLab.API.Projects showsPrec :: Int -> SquashOption -> ShowS # show :: SquashOption -> String # showList :: [SquashOption] -> ShowS # |