!ܜ      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefgh i j k l m n o p q r s t u v w x y z { | } ~      @Haskell records corresponding to JSON data from GitLab API calls-(c) Rob Stewart, Heriot-Watt University, 2019BSD3robstewart57@gmail.comstableNone7'gitlab-haskellproject merge requests.%gitlab-haskellfiles in a repository.1gitlab-haskellcode branches.;gitlab-haskell artifacts.Agitlab-haskelljobs.Tgitlab-haskell repositories.[gitlab-haskell commit stats.`gitlab-haskell code commits.qgitlab-haskellproject pipelinesxgitlab-haskellproject issues.gitlab-haskell time stats.gitlab-haskellproject milestones.gitlab-haskellregistered users.gitlab-haskell projects.gitlab-haskell permissions.gitlab-haskellowners.gitlab-haskelllinks.gitlab-haskell namespaces.gitlab-haskellmember of a project.gitlab-haskell/configuration data specific to a GitLab server.gitlab-haskellpersonal access token, see Chttps://docs.gitlab.com/ee/user/profile/personal_access_tokens.htmlgitlab-haskell millisecondsgitlab-haskellOhow many times to retry a HTTP request before giving up and returning an error.gitlab-haskell/state used by GitLab actions, used internally.  gitlab-haskell$type synonym for all GitLab actions. gitlab-haskelldefault settings, the  and $ values will need to be overwritten.   !"#$%&'()*+,-./0123456789:;<>=?@ABJSCDEFGHIKLMNOPQRTUZVWXY[\]^_`albcdefghijkmnopqrstuvwxyz{|}~       xyz{|}~qrstuvw`albcdefghijkmnop[\]^_TUZVWXYABJSCDEFGHIKLMNOPQR;<>=?@123456789:%&'()*+,-./0  !"#$NoneX4Qgitlab-haskellthe URL to post togitlab-haskellthe data to postgitlab-haskellthe current retry countgitlab-haskellthe GitLab requestgitlab-haskell#maximum number of retries permittedgitlab-haskell HTTP managergitlab-haskell.the exception to report if maximum retries metQueries about registered users-(c) Rob Stewart, Heriot-Watt University, 2019BSD3robstewart57@gmail.comstableNoneX;Ngitlab-haskellall registered users.Ogitlab-haskell.searches for a user given a username. Returns  Just User" if the user is found, otherwise Nothing.Pgitlab-haskellesearches for users given a list of usernames, returns them in alphabetical order of their usernames.Ogitlab-haskellusername to search forPgitlab-haskellusernames to search forNOPNOP&Queries about project repository files-(c) Rob Stewart, Heriot-Watt University, 2019BSD3robstewart57@gmail.comstableNoneDNQgitlab-haskell<Get a list of repository files and directories in a project.Rgitlab-haskellTGet a list of repository files and directories in a project given the project's ID.Qgitlab-haskell the projectgitlab-haskell the file pathgitlab-haskell!name of the branch, tag or commitRgitlab-haskell project IDgitlab-haskell the file pathgitlab-haskell!name of the branch, tag or commitQRQR"Queries about project repositories-(c) Rob Stewart, Heriot-Watt University, 2019BSD3robstewart57@gmail.comstableNoneJ4Sgitlab-haskell@returns a list of repository files and directories in a project.Tgitlab-haskellVreturns a list of repository files and directories in a project given its project ID.Sgitlab-haskell the projectTgitlab-haskellthe project IDSTSTQueries about project pipelines-(c) Rob Stewart, Heriot-Watt University, 2019BSD3robstewart57@gmail.comstableNoneO*Ugitlab-haskell$returns the pipelines for a project.Vgitlab-haskell9returns the pipelines for a project given its project ID.Ugitlab-haskell the projectVgitlab-haskellthe project IDUVUV-Queries about merge requests against projects-(c) Rob Stewart, Heriot-Watt University, 2019BSD3robstewart57@gmail.comstableNoneTpWgitlab-haskell)returns the merge requests for a project.Xgitlab-haskell>returns the merge requests for a project given its project ID.Wgitlab-haskell the projectXgitlab-haskell project IDWXWX0Queries about and updates to members of projects-(c) Rob Stewart, Heriot-Watt University, 2019BSD3robstewart57@gmail.comstableNoneXlYgitlab-haskell+the access levels for project members. See Lhttps://docs.gitlab.com/ee/user/permissions.html#project-members-permissions_gitlab-haskellthe members of a project.`gitlab-haskell&the members of a project given its ID.agitlab-haskelladds a user to a project with the given access level. Returns 'Right Member' for each successful action, otherwise it returns 'Left Status'.bgitlab-haskelliadds a user to a project with the given access level, given the project's ID and the user's ID. Returns  Right Member3 for each successful action, otherwise it returns  Left Status.cgitlab-haskelladds a list of users to a project with the given access level. Returns 'Right Member' for each successful action, otherwise it returns 'Left Status'.dgitlab-haskellqadds a list of users to a project with the given access level, given the project's ID and the user IDs. Returns  Right Member3 for each successful action, otherwise it returns  Left Status.agitlab-haskell the projectgitlab-haskelllevel of accessgitlab-haskellthe userbgitlab-haskell project IDgitlab-haskelllevel of accessgitlab-haskelluser IDcgitlab-haskell the projectgitlab-haskelllevel of accessgitlab-haskellusers to add to the projectdgitlab-haskell project IDgitlab-haskelllevel of accesgitlab-haskell"IDs of users to add to the project Y]\[Z^_`abcd Y]\[Z^_`abcd"Queries about jobs ran on projects-(c) Rob Stewart, Heriot-Watt University, 2019BSD3robstewart57@gmail.comstableNoneqDfgitlab-haskell"returns all jobs ran on a project.ggitlab-haskell7returns all jobs ran on a project given its project ID.fgitlab-haskell the projectggitlab-haskellthe project IDfgfg -Queries about issues created against projects-(c) Rob Stewart, Heriot-Watt University, 2019BSD3robstewart57@gmail.comstableNoneXwhgitlab-haskell%returns all issues against a project.igitlab-haskell:returns all issues against a project given its project ID.jgitlab-haskell!gets all issues create by a user.hgitlab-haskell the projectigitlab-haskellthe project IDjgitlab-haskellthe userhijhij #Queries about and updates to groups-(c) Rob Stewart, Heriot-Watt University, 2019BSD3robstewart57@gmail.comstableNoneXkgitlab-haskell%adds all registered users to a group.lgitlab-haskelladds a user to a group.mgitlab-haskell adds a list of users to a group.ngitlab-haskell,adds a user with a given user ID to a group.kgitlab-haskell group namegitlab-haskelllevel of access grantedlgitlab-haskell group namegitlab-haskelllevel of access grantedgitlab-haskellthe usermgitlab-haskell group namegitlab-haskelllevel of access grantedgitlab-haskell*list of usernames to be added to the groupngitlab-haskell group namegitlab-haskelllevel of access grantedgitlab-haskelluser IDklmnklmn %Queries about commits in repositories-(c) Rob Stewart, Heriot-Watt University, 2019BSD3robstewart57@gmail.comstableNoneogitlab-haskell"returns all commits for a project.pgitlab-haskell7returns all commits for a project given its project ID.qgitlab-haskellQreturns a commit for the given project and commit hash, if such a commit exists.rgitlab-haskellTreturns a commit for the given project ID and commit hash, if such a commit exists.ogitlab-haskell the projectpgitlab-haskell project IDqgitlab-haskell the projectgitlab-haskellthe commit hashrgitlab-haskell project IDgitlab-haskellthe commit hashopqropqr Queries about projects-(c) Rob Stewart, Heriot-Watt University, 2019BSD3robstewart57@gmail.comstableNoneXsgitlab-haskellgets all projects.tgitlab-haskell8gets all forks of a project. Supports use of namespaces. 6projectForks "project1" projectForks "group1/project1"ugitlab-haskellsearches for a % with the given project ID, returns - if a project with the given ID is not found.vgitlab-haskell.gets all projects with the given project name. projectsWithName "project1"wgitlab-haskell@gets a project with the given name for the given username. E.g.  (projectsNamespaceName "user1" "project1"looks for "user1/project1"xgitlab-haskellreturns X if a project has multiple committers, according to the email addresses of the commits.ygitlab-haskellQgets the email addresses in the author information in all commit for a project. zgitlab-haskellmgets the email addresses in the author information in all commit for a project defined by the project's ID. {gitlab-haskell(gets all projects for a user's username. userProjects "harry"|gitlab-haskell gets the  against which the given x was created.}gitlab-haskell#finds all issues created by a user. issuesCreatedByUser "user1"'returns a (user,projects) tuple, where S is the 7 found for the given searched username, and a list of (s that the user has created issues for.~gitlab-haskellsearches 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.gitlab-haskell2returns a (namespace,members) tuple for the given , 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.gitlab-haskellreturns K is the last commit for a project passes all continuous integration tests.gitlab-haskellBsearches for a username, and returns a user ID for that user, or  if a user cannot be found. tgitlab-haskell name or namespace of the projectugitlab-haskell project IDvgitlab-haskell project name being searched for.~gitlab-haskell name or namespace of the projectgitlab-haskell$the name or namespace of the projectgitlab-haskellname or namespace of project stuvwxyz{|}~stuvwxyz{|}~ !Queries about repository branches-(c) Rob Stewart, Heriot-Watt University, 2019BSD3robstewart57@gmail.comstableNonegitlab-haskellQGet a list of repository branches from a project, sorted by name alphabetically.gitlab-haskellfGet a list of repository branches from a project given its project ID, sorted by name alphabetically. Contains the  function to run GitLab actions -(c) Rob Stewart, Heriot-Watt University, 2019BSD3robstewart57@gmail.comstableNonegitlab-haskellruns a GitLab action."Internally, this creates a single t, whichs keeps track of open connections for keep-alive and which is shared between multiple threads and requests.An example of its use is: PprojectsWithIssuesEnabled :: IO [Project] projectsWithIssuesEnabled = runGitLab myConfig $ filter (issueEnabled . issues_enabled) <$> allProjects where myConfig = defaultGitLabServer { url = "https://gitlab.example.com" , token = "my_access_token" } issueEnabled Nothing = False issueEnabled (Just b) = bB  !"#$%&'()*+,-./0123456789:;<>=?@ABJSCDEFGHIKLMNOPQRTUZVWXY[\]^_`albcdefghijkmnopqrstuvwxyz{|}~   NOPQRSTUVWXY^Z[\]_`abcdfghijklmnopqrstuvwxyz{|}~ !"#$%&'()*+,-./01234456789:;<=>??@ABCDEFGHHIJKLMMNOPQRSTUVWXYZ[\]^__`abcdeefghiijklmnopqrstuvwxyyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`a b c d e f g h i j k l m n o p q r s t u v w x y z { | }~-gitlab-haskell-0.1.0.0-8boLGMZ0RoOEFujHRGrXnR GitLab.TypesGitLab.API.UsersGitLab.API.RepositoryFilesGitLab.API.RepositoriesGitLab.API.PipelinesGitLab.API.MergeRequestsGitLab.API.MembersGitLab.API.JobsGitLab.API.IssuesGitLab.API.GroupsGitLab.API.CommitsGitLab.API.ProjectsGitLab.API.BranchesGitLab!GitLab.WebRequests.GitLabWebCalls MergeRequestmerge_request_idmerge_request_iidmerge_request_project_idmerge_request_titlemerge_request_descriptionmerge_request_statemerge_request_merged_bymerge_request_merged_atmerge_request_closed_bymerge_request_closed_atmerge_request_created_atmerge_request_updated_atmerge_request_target_branchmerge_request_source_branchmerge_request_upvotesmerge_request_downvotesmerge_request_authormerge_request_assigneemerge_request_source_project_idmerge_request_target_project_idmerge_request_labelsmerge_request_work_in_progressmerge_request_milestone*merge_request_merge_when_pipeline_succeedsmerge_request_merge_statusmerge_request_shamerge_request_merge_commit_shamerge_request_user_notes_countmerge_request_discussion_locked)merge_request_should_remove_source_branch(merge_request_force_remove_source_branchmerge_request_web_urlmerge_request_time_statsmerge_request_squash$merge_request_approvals_before_mergeRepositoryFilerepository_file_file_namerepository_file_file_pathrepository_file_sizeencodingcontentcontent_sha256refblob_idrepository_file_commit_idlast_commit_idBranch branch_namemerged protectedbranch_defaultdevelopers_can_pushdevelopers_can_mergecan_push branch_commitArtifact file_typesizefilename file_formatJobcommitcoverage created_at started_at finished_atdurationartifacts_expire_atidnamepipelinejob_ref artifactsstagestatustag job_web_urluser Repository repository_idrepository_namerepository_typerepository_pathmodeStats additions deletionstotalCommit commit_idshort_idtitle author_name author_email authored_datecommitter_namecommitter_emailcommitted_datecommit_created_atmessage parent_ids last_pipelinestats commit_statusPipeline pipeline_idsha pipeline_refpipeline_statuspipeline_web_urlIssue issue_stateissue_description issue_author milestoneissue_project_id assigneesassignee updated_at closed_at closed_byissue_id issue_titleissue_created_atiid issue_labelsupvotes downvotesuser_notes_countissue_due_date issue_web_url confidentialweightdiscussion_locked time_stats TimeStats time_estimatetotal_time_spenthumane_time_estimatehuman_total_time_spent Milestonemilestone_project_idmilestone_descriptionmilestone_statedue_date milestone_iidmilestone_created_atmilestone_title milestone_idmilestone_updated_atUseruser_id user_username user_name user_stateuser_avatar_uri user_web_urlProject project_id description project_namename_with_namespace project_pathpath_with_namespaceproject_created_atdefault_branchtag_listssh_url_to_repohttp_url_to_repoproject_web_url readme_urlproject_avatar_url star_count forks_countlast_activity_at namespace_linksarchived visibilityowner!resolve_outdated_diff_discussionscontainer_registry_enabledissues_enabledmerge_requests_enabled wiki_enabled jobs_enabledsnippets_enabledshared_runners_enabled lfs_enabled creator_idforked_from_project import_statusopen_issues_count public_jobsci_config_pathshared_with_groups%only_allow_merge_if_pipeline_succeedsrequest_access_enabled0only_allow_merge_if_all_discussions_are_resolved#printing_merge_request_link_enabled merge_method permissions Permissionsproject_access group_accessOwnerOwnwerowner_id owner_nameowner_usernamestateowner_avatar_url owner_web_urlLinksselfissuesmerge_requests repo_branches link_labels link_eventsmembers Namespace namespace_idnamespace_namenamespace_pathkind full_path parent_idMember member_id member_namemember_username member_statemember_avatar_urimember_web_url access_level expires_atGitLabServerConfigurltokentimeoutretries GitLabState serverCfg httpManagerdefaultGitLabServer$fFromJSONMember$fFromJSONNamespace$fFromJSONLinks$fFromJSONOwner$fFromJSONPermissions$fFromJSONProject$fFromJSONUser$fFromJSONMilestone$fFromJSONTimeStats$fFromJSONIssue$fFromJSONPipeline$fFromJSONStats$fFromJSONCommit$fFromJSONRepository$fFromJSONArtifact $fFromJSONJob$fFromJSONBranch$fFromJSONRepositoryFile$fFromJSONMergeRequest$fGenericMember $fShowMember$fGenericNamespace$fShowNamespace $fEqNamespace$fGenericLinks $fShowLinks $fEqLinks$fGenericOwner $fShowOwner $fEqOwner$fGenericPermissions$fShowPermissions$fEqPermissions$fGenericProject $fShowProject $fEqProject $fGenericUser $fShowUser$fEqUser$fGenericMilestone$fShowMilestone $fEqMilestone$fGenericTimeStats$fShowTimeStats $fEqTimeStats$fGenericIssue $fShowIssue $fEqIssue$fGenericPipeline$fShowPipeline$fGenericStats $fShowStats$fGenericCommit $fShowCommit$fGenericRepository$fShowRepository$fGenericArtifact$fShowArtifact $fGenericJob $fShowJob$fGenericBranch $fShowBranch$fGenericRepositoryFile$fShowRepositoryFile$fGenericMergeRequest$fShowMergeRequestallUsers searchUser orderedUsersrepositoryFilesrepositoryFiles' repositories repositories' pipelines pipelines' mergeRequestsmergeRequests' AccessLevelGuestReporter Developer MaintainermembersOfProjectmembersOfProject'addMemberToProjectaddMemberToProject'addMembersToProjectaddMembersToProject'$fShowAccessLeveljobsjobs'projectOpenedIssuesprojectOpenedIssues' userIssuesaddAllUsersToGroupaddUserToGroupaddUsersToGroupaddUserToGroup'projectCommitsprojectCommits' commitDetailscommitDetails' allProjects projectForkssearchProjectIdprojectsWithNameprojectsWithNameAndUsermultipleCommitterscommitsEmailAddressescommitsEmailAddresses' userProjectsprojectOfIssueissuesCreatedByUser issuesOnForksprojectMemebersCountprojectCISuccessnamespacePathToUserIdbranches branches' runGitLab gitlabPost tryGitLabgitlab gitlabOnegitlabWithAttrsgitlabWithAttrsOnebase GHC.MaybeNothingghc-prim GHC.TypesTrue(http-client-0.6.3-721ZiDDc1G3CiwnFEpgUPRNetwork.HTTP.Client.TypesManager