Classes
The following classes are available globally.
-
This EndpointGroup authentication using an
See moreusername
and apassword
The user can authenticate usingusername
andpassword
which will return an OAuth Token. If OAuth Token or Private Token is already known, it can be used when initiating RxGitLabAPI.Declaration
Swift
public class AuthenticationEndpointGroup : EndpointGroup
-
This EndpointGroup communicates with Commits API
See moreDeclaration
Swift
public class CommitsEndpointGroup : EndpointGroup
-
This is a base class for all EndpointGroups
See moreDeclaration
Swift
public class EndpointGroup
-
This EndpointGroup communicates with Grou and project members API
Grou and project members API
Valid access levels
The access levels are defined in the
Gitlab::Access
module. Currently, these levels are recognized:
See more10 => Guest access 20 => Reporter access 30 => Developer access 40 => Maintainer access 50 => Owner access # Only valid for groups
Declaration
Swift
public class MembersEndpointGroup : EndpointGroup
-
This EndpointGroup communicates with Projects API
Projects API
Project visibility level
Project in GitLab can be either private, internal or public. This is determined by the
visibility
field in the project.Values for the project visibility level are:
private
: Project access must be granted explicitly for each user.internal
: The project can be cloned by any logged in user.public
: The project can be cloned without any authentication.
Project merge method
There are currently three options for merge_method to choose from:
merge
: A merge commit is created for every merge, and merging is allowed as long as there are no conflicts.rebase_merge
: A merge commit is created for every merge, but merging is only allowed if fast-forward merge is possible. This way you could make sure that if this merge request would build, after merging to target branch it would also build.ff
: No merge commits are created and all merges are fast-forwarded, which means that merging is only allowed if the branch could be fast-forwarded.
Declaration
Swift
public class ProjectsEnpointGroup : EndpointGroup
-
This EndpointGroup communicates with Repositories API
See moreDeclaration
Swift
public class RepositoriesEndpointGroup : EndpointGroup
-
Declaration
Swift
public class UsersEndpointGroup : EndpointGroup
-
Implementation of the
See moreNetworking
protocolDeclaration
Swift
public class HTTPClient : Networking
-
Facilitates the communication between the client and server
For authenticated communication, it uses a Private or OAuth token
See moreDeclaration
Swift
public class HostCommunicator
-
This class handles pagination of the GitLab API.
The pages can be retrieved using
subscript
. The subscript supports index and also a range. Sample code:
See morelet paginator = client.users.getUsers() let usersObservable = p[2...5] usersObservable.subscribe(onNext: { users in // do something with users })
Declaration
Swift
public class Paginator<T> where T : Decodable, T : Encodable
-
This class represents the main entry point to the RxGitLabKit library
This client is used for the communication with GitLabAPI.
See moreDeclaration
Swift
public class RxGitLabAPIClient