gitlab package¶
Submodules¶
gitlab.base module¶
-
class
gitlab.base.
RESTManager
(gl, parent=None)¶ Bases:
object
Base class for CRUD operations on objects.
Derived class must define
_path
and_obj_cls
._path
: Base URL path on which requests will be sent (e.g. ‘/projects’)_obj_cls
: The class of objects that will be created-
parent_attrs
¶
-
path
¶
-
-
class
gitlab.base.
RESTObject
(manager, attrs)¶ Bases:
object
Represents an object built from server data.
It holds the attributes know from the server, and the updated attributes in another. This allows smart updates, if the object allows it.
You can redefine
_id_attr
in child classes to specify which attribute must be used as uniq ID.None
means that the object can be updated without ID in the url.-
attributes
¶
-
get_id
()¶ Returns the id of the resource.
-
-
class
gitlab.base.
RESTObjectList
(manager, obj_cls, _list)¶ Bases:
object
Generator object representing a list of RESTObject’s.
This generator uses the Gitlab pagination system to fetch new data when required.
Note: you should not instanciate such objects, they are returned by calls to RESTManager.list()
Parameters: - manager – Manager to attach to the created objects
- obj_cls – Type of objects to create from the json data
- _list – A GitlabList object
-
current_page
¶ The current page number.
-
next
()¶
-
next_page
¶ The next page number.
If None, the current page is the last.
-
per_page
¶ The number of items per page.
-
prev_page
¶ The previous page number.
If None, the current page is the first.
-
total
¶ The total number of items.
-
total_pages
¶ The total number of pages.
gitlab.cli module¶
-
gitlab.cli.
cls_to_what
(cls)¶
-
gitlab.cli.
die
(msg, e=None)¶
-
gitlab.cli.
main
()¶
-
gitlab.cli.
register_custom_action
(cls_names, mandatory=(), optional=())¶
-
gitlab.cli.
what_to_cls
(what)¶
gitlab.config module¶
-
exception
gitlab.config.
ConfigError
¶ Bases:
Exception
-
exception
gitlab.config.
GitlabConfigMissingError
¶ Bases:
gitlab.config.ConfigError
-
class
gitlab.config.
GitlabConfigParser
(gitlab_id=None, config_files=None)¶ Bases:
object
-
exception
gitlab.config.
GitlabDataError
¶ Bases:
gitlab.config.ConfigError
-
exception
gitlab.config.
GitlabIDError
¶ Bases:
gitlab.config.ConfigError
gitlab.const module¶
gitlab.exceptions module¶
-
exception
gitlab.exceptions.
GitlabActivateError
(error_message='', response_code=None, response_body=None)¶
-
exception
gitlab.exceptions.
GitlabAttachFileError
(error_message='', response_code=None, response_body=None)¶
-
exception
gitlab.exceptions.
GitlabAuthenticationError
(error_message='', response_code=None, response_body=None)¶
-
exception
gitlab.exceptions.
GitlabBlockError
(error_message='', response_code=None, response_body=None)¶
-
exception
gitlab.exceptions.
GitlabBuildCancelError
(error_message='', response_code=None, response_body=None)¶
-
exception
gitlab.exceptions.
GitlabBuildEraseError
(error_message='', response_code=None, response_body=None)¶
-
exception
gitlab.exceptions.
GitlabBuildPlayError
(error_message='', response_code=None, response_body=None)¶
-
exception
gitlab.exceptions.
GitlabBuildRetryError
(error_message='', response_code=None, response_body=None)¶
-
exception
gitlab.exceptions.
GitlabCancelError
(error_message='', response_code=None, response_body=None)¶
-
exception
gitlab.exceptions.
GitlabCherryPickError
(error_message='', response_code=None, response_body=None)¶
-
exception
gitlab.exceptions.
GitlabConnectionError
(error_message='', response_code=None, response_body=None)¶
-
exception
gitlab.exceptions.
GitlabCreateError
(error_message='', response_code=None, response_body=None)¶
-
exception
gitlab.exceptions.
GitlabDeactivateError
(error_message='', response_code=None, response_body=None)¶
-
exception
gitlab.exceptions.
GitlabDeleteError
(error_message='', response_code=None, response_body=None)¶
-
exception
gitlab.exceptions.
GitlabError
(error_message='', response_code=None, response_body=None)¶ Bases:
Exception
-
exception
gitlab.exceptions.
GitlabGetError
(error_message='', response_code=None, response_body=None)¶
-
exception
gitlab.exceptions.
GitlabHousekeepingError
(error_message='', response_code=None, response_body=None)¶
-
exception
gitlab.exceptions.
GitlabHttpError
(error_message='', response_code=None, response_body=None)¶
-
exception
gitlab.exceptions.
GitlabImportError
(error_message='', response_code=None, response_body=None)¶
-
exception
gitlab.exceptions.
GitlabJobCancelError
(error_message='', response_code=None, response_body=None)¶
-
exception
gitlab.exceptions.
GitlabJobEraseError
(error_message='', response_code=None, response_body=None)¶
-
exception
gitlab.exceptions.
GitlabJobPlayError
(error_message='', response_code=None, response_body=None)¶
-
exception
gitlab.exceptions.
GitlabJobRetryError
(error_message='', response_code=None, response_body=None)¶
-
exception
gitlab.exceptions.
GitlabLicenseError
(error_message='', response_code=None, response_body=None)¶
-
exception
gitlab.exceptions.
GitlabListError
(error_message='', response_code=None, response_body=None)¶
-
exception
gitlab.exceptions.
GitlabMRApprovalError
(error_message='', response_code=None, response_body=None)¶
-
exception
gitlab.exceptions.
GitlabMRClosedError
(error_message='', response_code=None, response_body=None)¶
-
exception
gitlab.exceptions.
GitlabMRForbiddenError
(error_message='', response_code=None, response_body=None)¶
-
exception
gitlab.exceptions.
GitlabMROnBuildSuccessError
(error_message='', response_code=None, response_body=None)¶
-
exception
gitlab.exceptions.
GitlabMRRebaseError
(error_message='', response_code=None, response_body=None)¶
-
exception
gitlab.exceptions.
GitlabMarkdownError
(error_message='', response_code=None, response_body=None)¶
-
exception
gitlab.exceptions.
GitlabOperationError
(error_message='', response_code=None, response_body=None)¶
-
exception
gitlab.exceptions.
GitlabOwnershipError
(error_message='', response_code=None, response_body=None)¶
-
exception
gitlab.exceptions.
GitlabParsingError
(error_message='', response_code=None, response_body=None)¶
-
exception
gitlab.exceptions.
GitlabPipelineCancelError
(error_message='', response_code=None, response_body=None)¶
-
exception
gitlab.exceptions.
GitlabPipelinePlayError
(error_message='', response_code=None, response_body=None)¶
-
exception
gitlab.exceptions.
GitlabPipelineRetryError
(error_message='', response_code=None, response_body=None)¶
-
exception
gitlab.exceptions.
GitlabProjectDeployKeyError
(error_message='', response_code=None, response_body=None)¶
-
exception
gitlab.exceptions.
GitlabProtectError
(error_message='', response_code=None, response_body=None)¶
-
exception
gitlab.exceptions.
GitlabRenderError
(error_message='', response_code=None, response_body=None)¶
-
exception
gitlab.exceptions.
GitlabRepairError
(error_message='', response_code=None, response_body=None)¶
-
exception
gitlab.exceptions.
GitlabRetryError
(error_message='', response_code=None, response_body=None)¶
-
exception
gitlab.exceptions.
GitlabRevertError
(error_message='', response_code=None, response_body=None)¶
-
exception
gitlab.exceptions.
GitlabSearchError
(error_message='', response_code=None, response_body=None)¶
-
exception
gitlab.exceptions.
GitlabSetError
(error_message='', response_code=None, response_body=None)¶
-
exception
gitlab.exceptions.
GitlabStopError
(error_message='', response_code=None, response_body=None)¶
-
exception
gitlab.exceptions.
GitlabSubscribeError
(error_message='', response_code=None, response_body=None)¶
-
exception
gitlab.exceptions.
GitlabTimeTrackingError
(error_message='', response_code=None, response_body=None)¶
-
exception
gitlab.exceptions.
GitlabTodoError
(error_message='', response_code=None, response_body=None)¶
-
exception
gitlab.exceptions.
GitlabTransferProjectError
(error_message='', response_code=None, response_body=None)¶
-
exception
gitlab.exceptions.
GitlabUnblockError
(error_message='', response_code=None, response_body=None)¶
-
exception
gitlab.exceptions.
GitlabUnsubscribeError
(error_message='', response_code=None, response_body=None)¶
-
exception
gitlab.exceptions.
GitlabUpdateError
(error_message='', response_code=None, response_body=None)¶
-
exception
gitlab.exceptions.
GitlabUploadError
(error_message='', response_code=None, response_body=None)¶
-
exception
gitlab.exceptions.
GitlabVerifyError
(error_message='', response_code=None, response_body=None)¶
-
exception
gitlab.exceptions.
RedirectError
(error_message='', response_code=None, response_body=None)¶
-
gitlab.exceptions.
on_http_error
(error)¶ Manage GitlabHttpError exceptions.
This decorator function can be used to catch GitlabHttpError exceptions raise specialized exceptions instead.
Parameters: error (Exception) – The exception type to raise – must inherit from GitlabError
gitlab.mixins module¶
-
class
gitlab.mixins.
AccessRequestMixin
¶ Bases:
object
-
approve
(access_level=30, **kwargs)¶ Approve an access request.
Parameters: - access_level (int) – The access level for the user
- **kwargs – Extra options to send to the server (e.g. sudo)
Raises: GitlabAuthenticationError
– If authentication is not correctGitlabUpdateError
– If the server fails to perform the request
-
-
class
gitlab.mixins.
BadgeRenderMixin
¶ Bases:
object
-
render
(link_url, image_url, **kwargs)¶ Preview link_url and image_url after interpolation.
Parameters: - link_url (str) – URL of the badge link
- image_url (str) – URL of the badge image
- **kwargs – Extra options to send to the server (e.g. sudo)
Raises: GitlabAuthenticationError
– If authentication is not correctGitlabRenderError
– If the rendering failed
Returns: The rendering properties
Return type: dict
-
-
class
gitlab.mixins.
CRUDMixin
¶ Bases:
gitlab.mixins.GetMixin
,gitlab.mixins.ListMixin
,gitlab.mixins.CreateMixin
,gitlab.mixins.UpdateMixin
,gitlab.mixins.DeleteMixin
-
class
gitlab.mixins.
CreateMixin
¶ Bases:
object
-
create
(data=None, **kwargs)¶ Create a new object.
Parameters: - data (dict) – parameters to send to the server to create the resource
- **kwargs – Extra options to send to the server (e.g. sudo)
Returns: - a new instance of the managed object class built with
the data sent by the server
Return type: Raises: GitlabAuthenticationError
– If authentication is not correctGitlabCreateError
– If the server cannot perform the request
-
get_create_attrs
()¶ Return the required and optional arguments.
Returns: - 2 items: list of required arguments and list of optional
- arguments for creation (in that order)
Return type: tuple
-
-
class
gitlab.mixins.
DeleteMixin
¶ Bases:
object
-
delete
(id, **kwargs)¶ Delete an object on the server.
Parameters: - id – ID of the object to delete
- **kwargs – Extra options to send to the server (e.g. sudo)
Raises: GitlabAuthenticationError
– If authentication is not correctGitlabDeleteError
– If the server cannot perform the request
-
-
class
gitlab.mixins.
DownloadMixin
¶ Bases:
object
-
download
(streamed=False, action=None, chunk_size=1024, **kwargs)¶ Download the archive of a resource export.
Parameters: - streamed (bool) – If True the data will be processed by chunks of chunk_size and each chunk is passed to action for reatment
- action (callable) – Callable responsible of dealing with chunk of data
- chunk_size (int) – Size of each chunk
- **kwargs – Extra options to send to the server (e.g. sudo)
Raises: GitlabAuthenticationError
– If authentication is not correctGitlabGetError
– If the server failed to perform the request
Returns: The blob content if streamed is False, None otherwise
Return type: str
-
-
class
gitlab.mixins.
GetMixin
¶ Bases:
object
-
get
(id, lazy=False, **kwargs)¶ Retrieve a single object.
Parameters: - id (int or str) – ID of the object to retrieve
- lazy (bool) – If True, don’t request the server, but create a shallow object giving access to the managers. This is useful if you want to avoid useless calls to the API.
- **kwargs – Extra options to send to the server (e.g. sudo)
Returns: The generated RESTObject.
Return type: object
Raises: GitlabAuthenticationError
– If authentication is not correctGitlabGetError
– If the server cannot perform the request
-
-
class
gitlab.mixins.
GetWithoutIdMixin
¶ Bases:
object
-
get
(id=None, **kwargs)¶ Retrieve a single object.
Parameters: **kwargs – Extra options to send to the server (e.g. sudo)
Returns: The generated RESTObject
Return type: object
Raises: GitlabAuthenticationError
– If authentication is not correctGitlabGetError
– If the server cannot perform the request
-
-
class
gitlab.mixins.
ListMixin
¶ Bases:
object
-
list
(**kwargs)¶ Retrieve a list of objects.
Parameters: - all (bool) – If True, return all the items, without pagination
- per_page (int) – Number of items to retrieve per request
- page (int) – ID of the page to return (starts with page 1)
- as_list (bool) – If set to False and no pagination option is defined, return a generator instead of a list
- **kwargs – Extra options to send to the server (e.g. sudo)
Returns: The list of objects, or a generator if as_list is False
Return type: list
Raises: GitlabAuthenticationError
– If authentication is not correctGitlabListError
– If the server cannot perform the request
-
-
class
gitlab.mixins.
NoUpdateMixin
¶ Bases:
gitlab.mixins.GetMixin
,gitlab.mixins.ListMixin
,gitlab.mixins.CreateMixin
,gitlab.mixins.DeleteMixin
-
class
gitlab.mixins.
ObjectDeleteMixin
¶ Bases:
object
Mixin for RESTObject’s that can be deleted.
-
delete
(**kwargs)¶ Delete the object from the server.
Parameters: **kwargs – Extra options to send to the server (e.g. sudo)
Raises: GitlabAuthenticationError
– If authentication is not correctGitlabDeleteError
– If the server cannot perform the request
-
-
class
gitlab.mixins.
ParticipantsMixin
¶ Bases:
object
-
participants
(**kwargs)¶ List the participants.
Parameters: - all (bool) – If True, return all the items, without pagination
- per_page (int) – Number of items to retrieve per request
- page (int) – ID of the page to return (starts with page 1)
- as_list (bool) – If set to False and no pagination option is defined, return a generator instead of a list
- **kwargs – Extra options to send to the server (e.g. sudo)
Raises: GitlabAuthenticationError
– If authentication is not correctGitlabListError
– If the list could not be retrieved
Returns: The list of participants
Return type:
-
-
class
gitlab.mixins.
RefreshMixin
¶ Bases:
object
-
refresh
(**kwargs)¶ Refresh a single object from server.
Parameters: **kwargs – Extra options to send to the server (e.g. sudo) Returns None (updates the object)
Raises: GitlabAuthenticationError
– If authentication is not correctGitlabGetError
– If the server cannot perform the request
-
-
class
gitlab.mixins.
RetrieveMixin
¶
-
class
gitlab.mixins.
SaveMixin
¶ Bases:
object
Mixin for RESTObject’s that can be updated.
-
save
(**kwargs)¶ Save the changes made to the object to the server.
The object is updated to match what the server returns.
Parameters: **kwargs – Extra options to send to the server (e.g. sudo) - Raise:
- GitlabAuthenticationError: If authentication is not correct GitlabUpdateError: If the server cannot perform the request
-
-
class
gitlab.mixins.
SetMixin
¶ Bases:
object
-
set
(key, value, **kwargs)¶ Create or update the object.
Parameters: - key (str) – The key of the object to create/update
- value (str) – The value to set for the object
- **kwargs – Extra options to send to the server (e.g. sudo)
Raises: GitlabAuthenticationError
– If authentication is not correctGitlabSetError
– If an error occured
Returns: The created/updated attribute
Return type: obj
-
-
class
gitlab.mixins.
SubscribableMixin
¶ Bases:
object
-
subscribe
(**kwargs)¶ Subscribe to the object notifications.
Parameters: **kwargs – Extra options to send to the server (e.g. sudo)
Raises: GitlabAuthenticationError
– If authentication is not correctGitlabSubscribeError
– If the subscription cannot be done
-
unsubscribe
(**kwargs)¶ Unsubscribe from the object notifications.
Parameters: **kwargs – Extra options to send to the server (e.g. sudo)
Raises: GitlabAuthenticationError
– If authentication is not correctGitlabUnsubscribeError
– If the unsubscription cannot be done
-
-
class
gitlab.mixins.
TimeTrackingMixin
¶ Bases:
object
-
add_spent_time
(duration, **kwargs)¶ Add time spent working on the object.
Parameters: - duration (str) – Duration in human format (e.g. 3h30)
- **kwargs – Extra options to send to the server (e.g. sudo)
Raises: GitlabAuthenticationError
– If authentication is not correctGitlabTimeTrackingError
– If the time tracking update cannot be done
-
reset_spent_time
(**kwargs)¶ Resets the time spent working on the object.
Parameters: **kwargs – Extra options to send to the server (e.g. sudo)
Raises: GitlabAuthenticationError
– If authentication is not correctGitlabTimeTrackingError
– If the time tracking update cannot be done
-
reset_time_estimate
(**kwargs)¶ Resets estimated time for the object to 0 seconds.
Parameters: **kwargs – Extra options to send to the server (e.g. sudo)
Raises: GitlabAuthenticationError
– If authentication is not correctGitlabTimeTrackingError
– If the time tracking update cannot be done
-
time_estimate
(duration, **kwargs)¶ Set an estimated time of work for the object.
Parameters: - duration (str) – Duration in human format (e.g. 3h30)
- **kwargs – Extra options to send to the server (e.g. sudo)
Raises: GitlabAuthenticationError
– If authentication is not correctGitlabTimeTrackingError
– If the time tracking update cannot be done
-
time_stats
(**kwargs)¶ Get time stats for the object.
Parameters: **kwargs – Extra options to send to the server (e.g. sudo)
Raises: GitlabAuthenticationError
– If authentication is not correctGitlabTimeTrackingError
– If the time tracking update cannot be done
-
-
class
gitlab.mixins.
TodoMixin
¶ Bases:
object
-
todo
(**kwargs)¶ Create a todo associated to the object.
Parameters: **kwargs – Extra options to send to the server (e.g. sudo)
Raises: GitlabAuthenticationError
– If authentication is not correctGitlabTodoError
– If the todo cannot be set
-
-
class
gitlab.mixins.
UpdateMixin
¶ Bases:
object
-
get_update_attrs
()¶ Return the required and optional arguments.
Returns: - 2 items: list of required arguments and list of optional
- arguments for update (in that order)
Return type: tuple
-
update
(id=None, new_data=None, **kwargs)¶ Update an object on the server.
Parameters: - id – ID of the object to update (can be None if not required)
- new_data – the update data for the object
- **kwargs – Extra options to send to the server (e.g. sudo)
Returns: The new object data (not a RESTObject)
Return type: dict
Raises: GitlabAuthenticationError
– If authentication is not correctGitlabUpdateError
– If the server cannot perform the request
-
-
class
gitlab.mixins.
UserAgentDetailMixin
¶ Bases:
object
-
user_agent_detail
(**kwargs)¶ Get the user agent detail.
Parameters: **kwargs – Extra options to send to the server (e.g. sudo)
Raises: GitlabAuthenticationError
– If authentication is not correctGitlabGetError
– If the server cannot perform the request
-
gitlab.utils module¶
-
gitlab.utils.
clean_str_id
(id)¶
-
gitlab.utils.
copy_dict
(dest, src)¶
-
gitlab.utils.
remove_none_from_dict
(data)¶
-
gitlab.utils.
response_content
(response, streamed, action, chunk_size)¶
-
gitlab.utils.
sanitized_url
(url)¶
Module contents¶
Wrapper for the GitLab API.
-
class
gitlab.
Gitlab
(url, private_token=None, oauth_token=None, job_token=None, ssl_verify=True, http_username=None, http_password=None, timeout=None, api_version='4', session=None, per_page=None, pagination=None, order_by=None)¶ Bases:
object
Represents a GitLab server connection.
Parameters: - url (str) – The URL of the GitLab server.
- private_token (str) – The user private token
- oauth_token (str) – An oauth token
- job_token (str) – A CI job token
- ssl_verify (bool|str) – Whether SSL certificates should be validated. If the value is a string, it is the path to a CA file used for certificate validation.
- timeout (float) – Timeout to use for requests to the GitLab server.
- http_username (str) – Username for HTTP authentication
- http_password (str) – Password for HTTP authentication
- api_version (str) – Gitlab API version to use (support for 4 only)
- pagination (str) – Can be set to ‘keyset’ to use keyset pagination
- order_by (str) – Set order_by globally
-
api_url
¶ The computed API base URL.
-
api_version
¶ The API version used (4 only).
-
auth
()¶ Performs an authentication using private token.
The user attribute will hold a gitlab.objects.CurrentUser object on success.
-
enable_debug
()¶
-
classmethod
from_config
(gitlab_id=None, config_files=None)¶ Create a Gitlab connection from configuration files.
Parameters: - gitlab_id (str) – ID of the configuration section.
- list[str] (config_files) – List of paths to configuration files.
Returns: A Gitlab connection.
Return type: Raises: gitlab.config.GitlabDataError
– If the configuration is not correct.
-
get_license
(**kwargs)¶ Retrieve information about the current license.
Parameters: **kwargs – Extra options to send to the server (e.g. sudo)
Raises: GitlabAuthenticationError
– If authentication is not correctGitlabGetError
– If the server cannot perform the request
Returns: The current license information
Return type: dict
-
headers
= None¶ Headers that will be used in request to GitLab
-
http_delete
(path, **kwargs)¶ Make a PUT request to the Gitlab server.
Parameters: - path (str) – Path or full URL to query (‘/projects’ or ‘http://whatever/v4/api/projecs’)
- **kwargs – Extra options to send to the server (e.g. sudo)
Returns: The requests object.
Raises: GitlabHttpError
– When the return code is not 2xx
-
http_get
(path, query_data=None, streamed=False, raw=False, **kwargs)¶ Make a GET request to the Gitlab server.
Parameters: - path (str) – Path or full URL to query (‘/projects’ or ‘http://whatever/v4/api/projecs’)
- query_data (dict) – Data to send as query parameters
- streamed (bool) – Whether the data should be streamed
- raw (bool) – If True do not try to parse the output as json
- **kwargs – Extra options to send to the server (e.g. sudo)
Returns: A requests result object is streamed is True or the content type is not json. The parsed json data otherwise.
Raises: GitlabHttpError
– When the return code is not 2xxGitlabParsingError
– If the json data could not be parsed
-
http_list
(path, query_data=None, as_list=None, **kwargs)¶ Make a GET request to the Gitlab server for list-oriented queries.
Parameters: - path (str) – Path or full URL to query (‘/projects’ or ‘http://whatever/v4/api/projects’)
- query_data (dict) – Data to send as query parameters
- **kwargs – Extra options to send to the server (e.g. sudo, page, per_page)
Returns: A list of the objects returned by the server. If as_list is False and no pagination-related arguments (page, per_page, all) are defined then a GitlabList object (generator) is returned instead. This object will make API calls when needed to fetch the next items from the server.
Return type: list
Raises: GitlabHttpError
– When the return code is not 2xxGitlabParsingError
– If the json data could not be parsed
-
http_post
(path, query_data=None, post_data=None, files=None, **kwargs)¶ Make a POST request to the Gitlab server.
Parameters: - path (str) – Path or full URL to query (‘/projects’ or ‘http://whatever/v4/api/projecs’)
- query_data (dict) – Data to send as query parameters
- post_data (dict) – Data to send in the body (will be converted to json)
- files (dict) – The files to send to the server
- **kwargs – Extra options to send to the server (e.g. sudo)
Returns: The parsed json returned by the server if json is return, else the raw content
Raises: GitlabHttpError
– When the return code is not 2xxGitlabParsingError
– If the json data could not be parsed
-
http_put
(path, query_data=None, post_data=None, files=None, **kwargs)¶ Make a PUT request to the Gitlab server.
Parameters: - path (str) – Path or full URL to query (‘/projects’ or ‘http://whatever/v4/api/projecs’)
- query_data (dict) – Data to send as query parameters
- post_data (dict) – Data to send in the body (will be converted to json)
- files (dict) – The files to send to the server
- **kwargs – Extra options to send to the server (e.g. sudo)
Returns: The parsed json returned by the server.
Raises: GitlabHttpError
– When the return code is not 2xxGitlabParsingError
– If the json data could not be parsed
-
http_request
(verb, path, query_data=None, post_data=None, streamed=False, files=None, **kwargs)¶ Make an HTTP request to the Gitlab server.
Parameters: - verb (str) – The HTTP method to call (‘get’, ‘post’, ‘put’, ‘delete’)
- path (str) – Path or full URL to query (‘/projects’ or ‘http://whatever/v4/api/projecs’)
- query_data (dict) – Data to send as query parameters
- post_data (dict) – Data to send in the body (will be converted to json)
- streamed (bool) – Whether the data should be streamed
- files (dict) – The files to send to the server
- **kwargs – Extra options to send to the server (e.g. sudo)
Returns: A requests result object.
Raises: GitlabHttpError
– When the return code is not 2xx
-
lint
(content, **kwargs)¶ Validate a gitlab CI configuration.
Parameters: - content (txt) – The .gitlab-ci.yml content
- **kwargs – Extra options to send to the server (e.g. sudo)
Raises: GitlabAuthenticationError
– If authentication is not correctGitlabVerifyError
– If the validation could not be done
Returns: - (True, []) if the file is valid, (False, errors(list))
otherwise
Return type: tuple
-
markdown
(text, gfm=False, project=None, **kwargs)¶ Render an arbitrary Markdown document.
Parameters: - text (str) – The markdown text to render
- gfm (bool) – Render text using GitLab Flavored Markdown. Default is False
- project (str) – Full path of a project used a context when gfm is True
- **kwargs – Extra options to send to the server (e.g. sudo)
Raises: GitlabAuthenticationError
– If authentication is not correctGitlabMarkdownError
– If the server cannot perform the request
Returns: The HTML rendering of the markdown text.
Return type: str
-
search
(scope, search, **kwargs)¶ Search GitLab resources matching the provided string.’
Parameters: - scope (str) – Scope of the search
- search (str) – Search string
- **kwargs – Extra options to send to the server (e.g. sudo)
Raises: GitlabAuthenticationError
– If authentication is not correctGitlabSearchError
– If the server failed to perform the request
Returns: A list of dicts describing the resources found.
Return type:
-
session
= None¶ Create a session object for requests
-
set_license
(license, **kwargs)¶ Add a new license.
Parameters: - license (str) – The license string
- **kwargs – Extra options to send to the server (e.g. sudo)
Raises: GitlabAuthenticationError
– If authentication is not correctGitlabPostError
– If the server cannot perform the request
Returns: The new license information
Return type: dict
-
ssl_verify
= None¶ Whether SSL certificates should be validated
-
timeout
= None¶ Timeout to use for requests to gitlab server
-
url
¶ The user-provided server URL.
-
version
()¶ Returns the version and revision of the gitlab server.
Note that self.version and self.revision will be set on the gitlab object.
Returns: - The server version and server revision.
- (‘unknown’, ‘unknwown’) if the server doesn’t perform as expected.
Return type: tuple (str, str)
-
class
gitlab.
GitlabList
(gl, url, query_data, get_next=True, **kwargs)¶ Bases:
object
Generator representing a list of remote objects.
The object handles the links returned by a query to the API, and will call the API again when needed.
-
current_page
¶ The current page number.
-
next
()¶
-
next_page
¶ The next page number.
If None, the current page is the last.
-
per_page
¶ The number of items per page.
-
prev_page
¶ The previous page number.
If None, the current page is the first.
-
total
¶ The total number of items.
-
total_pages
¶ The total number of pages.
-