gitlab.v4 package#

Submodules#

gitlab.v4.objects module#

class gitlab.v4.objects.Any(*args, **kwargs)#

Bases: object

Special type indicating an unconstrained type.

  • Any is compatible with every type.

  • Any assumed to have all methods.

  • All values assumed to be instances of Any.

Note that all the above statements are true from the point of view of static type checkers. At runtime, Any should not be used with instance checks.

class gitlab.v4.objects.Application(manager: RESTManager, attrs: Dict[str, Any], *, created_from_list: bool = False, lazy: bool = False)#

Bases: ObjectDeleteMixin, RESTObject

Parameters:
  • manager (RESTManager) –

  • attrs (Dict[str, Any]) –

  • created_from_list (bool) –

  • lazy (bool) –

class gitlab.v4.objects.ApplicationAppearance(manager: RESTManager, attrs: Dict[str, Any], *, created_from_list: bool = False, lazy: bool = False)#

Bases: SaveMixin, RESTObject

Parameters:
  • manager (RESTManager) –

  • attrs (Dict[str, Any]) –

  • created_from_list (bool) –

  • lazy (bool) –

class gitlab.v4.objects.ApplicationAppearanceManager(gl: Gitlab, parent: RESTObject | None = None)#

Bases: GetWithoutIdMixin, UpdateMixin, RESTManager

Object Creation

Object update

Optional attributes for object update:

  • title

  • description

  • logo

  • header_logo

  • favicon

  • new_project_guidelines

  • header_message

  • footer_message

  • message_background_color

  • message_font_color

  • email_header_and_footer_enabled

Parameters:
get(**kwargs: Any) ApplicationAppearance#

Retrieve a single object.

Parameters:

**kwargs (Any) – Extra options to send to the server (e.g. sudo)

Returns:

The generated RESTObject

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabGetError – If the server cannot perform the request

Return type:

ApplicationAppearance

update(id: int | str | None = None, new_data: Dict[str, Any] | None = None, **kwargs: Any) Dict[str, Any]#

Update an object on the server.

Parameters:
  • id (int | str | None) – ID of the object to update (can be None if not required)

  • new_data (Dict[str, Any] | None) – the update data for the object

  • **kwargs (Any) – Extra options to send to the server (e.g. sudo)

Returns:

The new object data (not a RESTObject)

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabUpdateError – If the server cannot perform the request

Return type:

Dict[str, Any]

class gitlab.v4.objects.ApplicationManager(gl: Gitlab, parent: RESTObject | None = None)#

Bases: ListMixin, CreateMixin, DeleteMixin, RESTManager

Object Creation

Required attributes for object create:

  • name

  • redirect_uri

  • scopes

Optional attributes for object create:

  • confidential

Object update

Parameters:
class gitlab.v4.objects.ApplicationSettings(manager: RESTManager, attrs: Dict[str, Any], *, created_from_list: bool = False, lazy: bool = False)#

Bases: SaveMixin, RESTObject

Parameters:
  • manager (RESTManager) –

  • attrs (Dict[str, Any]) –

  • created_from_list (bool) –

  • lazy (bool) –

class gitlab.v4.objects.ApplicationSettingsManager(gl: Gitlab, parent: RESTObject | None = None)#

Bases: GetWithoutIdMixin, UpdateMixin, RESTManager

Object Creation

Object update

Optional attributes for object update:

  • id

  • default_projects_limit

  • signup_enabled

  • password_authentication_enabled_for_web

  • gravatar_enabled

  • sign_in_text

  • created_at

  • updated_at

  • home_page_url

  • default_branch_protection

  • restricted_visibility_levels

  • max_attachment_size

  • session_expire_delay

  • default_project_visibility

  • default_snippet_visibility

  • default_group_visibility

  • outbound_local_requests_whitelist

  • disabled_oauth_sign_in_sources

  • domain_whitelist

  • domain_blacklist_enabled

  • domain_blacklist

  • domain_allowlist

  • domain_denylist_enabled

  • domain_denylist

  • external_authorization_service_enabled

  • external_authorization_service_url

  • external_authorization_service_default_label

  • external_authorization_service_timeout

  • import_sources

  • user_oauth_applications

  • after_sign_out_path

  • container_registry_token_expire_delay

  • repository_storages

  • plantuml_enabled

  • plantuml_url

  • terminal_max_session_time

  • polling_interval_multiplier

  • rsa_key_restriction

  • dsa_key_restriction

  • ecdsa_key_restriction

  • ed25519_key_restriction

  • first_day_of_week

  • enforce_terms

  • terms

  • performance_bar_allowed_group_id

  • instance_statistics_visibility_private

  • user_show_add_ssh_key_message

  • file_template_project_id

  • local_markdown_version

  • asset_proxy_enabled

  • asset_proxy_url

  • asset_proxy_whitelist

  • asset_proxy_allowlist

  • geo_node_allowed_ips

  • allow_local_requests_from_hooks_and_services

  • allow_local_requests_from_web_hooks_and_services

  • allow_local_requests_from_system_hooks

Parameters:
get(**kwargs: Any) ApplicationSettings#

Retrieve a single object.

Parameters:

**kwargs (Any) – Extra options to send to the server (e.g. sudo)

Returns:

The generated RESTObject

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabGetError – If the server cannot perform the request

Return type:

ApplicationSettings

update(id: int | str | None = None, new_data: Dict[str, Any] | None = None, **kwargs: Any) Dict[str, Any]#

Update an object on the server.

Parameters:
  • id (int | str | None) – ID of the object to update (can be None if not required)

  • new_data (Dict[str, Any] | None) – the update data for the object

  • **kwargs (Any) – Extra options to send to the server (e.g. sudo)

Returns:

The new object data (not a RESTObject)

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabUpdateError – If the server cannot perform the request

Return type:

Dict[str, Any]

class gitlab.v4.objects.ApplicationStatistics(manager: RESTManager, attrs: Dict[str, Any], *, created_from_list: bool = False, lazy: bool = False)#

Bases: RESTObject

Parameters:
  • manager (RESTManager) –

  • attrs (Dict[str, Any]) –

  • created_from_list (bool) –

  • lazy (bool) –

class gitlab.v4.objects.ApplicationStatisticsManager(gl: Gitlab, parent: RESTObject | None = None)#

Bases: GetWithoutIdMixin, RESTManager

Object Creation

Object update

Parameters:
get(**kwargs: Any) ApplicationStatistics#

Retrieve a single object.

Parameters:

**kwargs (Any) – Extra options to send to the server (e.g. sudo)

Returns:

The generated RESTObject

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabGetError – If the server cannot perform the request

Return type:

ApplicationStatistics

class gitlab.v4.objects.AuditEvent(manager: RESTManager, attrs: Dict[str, Any], *, created_from_list: bool = False, lazy: bool = False)#

Bases: RESTObject

Parameters:
  • manager (RESTManager) –

  • attrs (Dict[str, Any]) –

  • created_from_list (bool) –

  • lazy (bool) –

class gitlab.v4.objects.AuditEventManager(gl: Gitlab, parent: RESTObject | None = None)#

Bases: RetrieveMixin, RESTManager

Object listing filters

  • created_after

  • created_before

  • entity_type

  • entity_id

Object Creation

Object update

Parameters:
get(id: str | int, lazy: bool = False, **kwargs: Any) AuditEvent#

Retrieve a single object.

Parameters:
  • id (str | int) – 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 (Any) – Extra options to send to the server (e.g. sudo)

Returns:

The generated RESTObject.

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabGetError – If the server cannot perform the request

Return type:

AuditEvent

class gitlab.v4.objects.BroadcastMessage(manager: RESTManager, attrs: Dict[str, Any], *, created_from_list: bool = False, lazy: bool = False)#

Bases: SaveMixin, ObjectDeleteMixin, RESTObject

Parameters:
  • manager (RESTManager) –

  • attrs (Dict[str, Any]) –

  • created_from_list (bool) –

  • lazy (bool) –

class gitlab.v4.objects.BroadcastMessageManager(gl: Gitlab, parent: RESTObject | None = None)#

Bases: CRUDMixin, RESTManager

Object Creation

Required attributes for object create:

  • message

Optional attributes for object create:

  • starts_at

  • ends_at

  • color

  • font

  • target_access_levels

Object update

Optional attributes for object update:

  • message

  • starts_at

  • ends_at

  • color

  • font

  • target_access_levels

Parameters:
get(id: str | int, lazy: bool = False, **kwargs: Any) BroadcastMessage#

Retrieve a single object.

Parameters:
  • id (str | int) – 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 (Any) – Extra options to send to the server (e.g. sudo)

Returns:

The generated RESTObject.

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabGetError – If the server cannot perform the request

Return type:

BroadcastMessage

class gitlab.v4.objects.BulkImport(manager: RESTManager, attrs: Dict[str, Any], *, created_from_list: bool = False, lazy: bool = False)#

Bases: RefreshMixin, RESTObject

Parameters:
  • manager (RESTManager) –

  • attrs (Dict[str, Any]) –

  • created_from_list (bool) –

  • lazy (bool) –

entities: BulkImportEntityManager#
class gitlab.v4.objects.BulkImportAllEntity(manager: RESTManager, attrs: Dict[str, Any], *, created_from_list: bool = False, lazy: bool = False)#

Bases: RESTObject

Parameters:
  • manager (RESTManager) –

  • attrs (Dict[str, Any]) –

  • created_from_list (bool) –

  • lazy (bool) –

class gitlab.v4.objects.BulkImportAllEntityManager(gl: Gitlab, parent: RESTObject | None = None)#

Bases: ListMixin, RESTManager

Object listing filters

  • sort

  • status

Object Creation

Object update

Parameters:
class gitlab.v4.objects.BulkImportEntity(manager: RESTManager, attrs: Dict[str, Any], *, created_from_list: bool = False, lazy: bool = False)#

Bases: RefreshMixin, RESTObject

Parameters:
  • manager (RESTManager) –

  • attrs (Dict[str, Any]) –

  • created_from_list (bool) –

  • lazy (bool) –

class gitlab.v4.objects.BulkImportEntityManager(gl: Gitlab, parent: RESTObject | None = None)#

Bases: RetrieveMixin, RESTManager

Object listing filters

  • sort

  • status

Object Creation

Object update

Parameters:
get(id: str | int, lazy: bool = False, **kwargs: Any) BulkImportEntity#

Retrieve a single object.

Parameters:
  • id (str | int) – 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 (Any) – Extra options to send to the server (e.g. sudo)

Returns:

The generated RESTObject.

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabGetError – If the server cannot perform the request

Return type:

BulkImportEntity

class gitlab.v4.objects.BulkImportManager(gl: Gitlab, parent: RESTObject | None = None)#

Bases: CreateMixin, RetrieveMixin, RESTManager

Object listing filters

  • sort

  • status

Object Creation

Required attributes for object create:

  • configuration

  • entities

Object update

Parameters:
get(id: str | int, lazy: bool = False, **kwargs: Any) BulkImport#

Retrieve a single object.

Parameters:
  • id (str | int) – 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 (Any) – Extra options to send to the server (e.g. sudo)

Returns:

The generated RESTObject.

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabGetError – If the server cannot perform the request

Return type:

BulkImport

class gitlab.v4.objects.CiLint(manager: RESTManager, attrs: Dict[str, Any], *, created_from_list: bool = False, lazy: bool = False)#

Bases: RESTObject

Parameters:
  • manager (RESTManager) –

  • attrs (Dict[str, Any]) –

  • created_from_list (bool) –

  • lazy (bool) –

class gitlab.v4.objects.CiLintManager(gl: Gitlab, parent: RESTObject | None = None)#

Bases: CreateMixin, RESTManager

Object Creation

Required attributes for object create:

  • content

Optional attributes for object create:

  • include_merged_yaml

  • include_jobs

Object update

Parameters:
validate(*args: Any, **kwargs: Any) None#

Raise an error if the CI Lint results are not valid.

This is a custom python-gitlab method to wrap lint endpoints.

Parameters:
  • args (Any) –

  • kwargs (Any) –

Return type:

None

class gitlab.v4.objects.CurrentUser(manager: RESTManager, attrs: Dict[str, Any], *, created_from_list: bool = False, lazy: bool = False)#

Bases: RESTObject

Parameters:
  • manager (RESTManager) –

  • attrs (Dict[str, Any]) –

  • created_from_list (bool) –

  • lazy (bool) –

emails: CurrentUserEmailManager#
gpgkeys: CurrentUserGPGKeyManager#
keys: CurrentUserKeyManager#
runners: CurrentUserRunnerManager#
status: CurrentUserStatusManager#
class gitlab.v4.objects.CurrentUserEmail(manager: RESTManager, attrs: Dict[str, Any], *, created_from_list: bool = False, lazy: bool = False)#

Bases: ObjectDeleteMixin, RESTObject

Parameters:
  • manager (RESTManager) –

  • attrs (Dict[str, Any]) –

  • created_from_list (bool) –

  • lazy (bool) –

class gitlab.v4.objects.CurrentUserEmailManager(gl: Gitlab, parent: RESTObject | None = None)#

Bases: RetrieveMixin, CreateMixin, DeleteMixin, RESTManager

Object Creation

Required attributes for object create:

  • email

Object update

Parameters:
get(id: str | int, lazy: bool = False, **kwargs: Any) CurrentUserEmail#

Retrieve a single object.

Parameters:
  • id (str | int) – 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 (Any) – Extra options to send to the server (e.g. sudo)

Returns:

The generated RESTObject.

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabGetError – If the server cannot perform the request

Return type:

CurrentUserEmail

class gitlab.v4.objects.CurrentUserGPGKey(manager: RESTManager, attrs: Dict[str, Any], *, created_from_list: bool = False, lazy: bool = False)#

Bases: ObjectDeleteMixin, RESTObject

Parameters:
  • manager (RESTManager) –

  • attrs (Dict[str, Any]) –

  • created_from_list (bool) –

  • lazy (bool) –

class gitlab.v4.objects.CurrentUserGPGKeyManager(gl: Gitlab, parent: RESTObject | None = None)#

Bases: RetrieveMixin, CreateMixin, DeleteMixin, RESTManager

Object Creation

Required attributes for object create:

  • key

Object update

Parameters:
get(id: str | int, lazy: bool = False, **kwargs: Any) CurrentUserGPGKey#

Retrieve a single object.

Parameters:
  • id (str | int) – 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 (Any) – Extra options to send to the server (e.g. sudo)

Returns:

The generated RESTObject.

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabGetError – If the server cannot perform the request

Return type:

CurrentUserGPGKey

class gitlab.v4.objects.CurrentUserKey(manager: RESTManager, attrs: Dict[str, Any], *, created_from_list: bool = False, lazy: bool = False)#

Bases: ObjectDeleteMixin, RESTObject

Parameters:
  • manager (RESTManager) –

  • attrs (Dict[str, Any]) –

  • created_from_list (bool) –

  • lazy (bool) –

class gitlab.v4.objects.CurrentUserKeyManager(gl: Gitlab, parent: RESTObject | None = None)#

Bases: RetrieveMixin, CreateMixin, DeleteMixin, RESTManager

Object Creation

Required attributes for object create:

  • title

  • key

Object update

Parameters:
get(id: str | int, lazy: bool = False, **kwargs: Any) CurrentUserKey#

Retrieve a single object.

Parameters:
  • id (str | int) – 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 (Any) – Extra options to send to the server (e.g. sudo)

Returns:

The generated RESTObject.

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabGetError – If the server cannot perform the request

Return type:

CurrentUserKey

class gitlab.v4.objects.CurrentUserManager(gl: Gitlab, parent: RESTObject | None = None)#

Bases: GetWithoutIdMixin, RESTManager

Object Creation

Object update

Parameters:
get(**kwargs: Any) CurrentUser#

Retrieve a single object.

Parameters:

**kwargs (Any) – Extra options to send to the server (e.g. sudo)

Returns:

The generated RESTObject

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabGetError – If the server cannot perform the request

Return type:

CurrentUser

class gitlab.v4.objects.CurrentUserRunner(manager: RESTManager, attrs: Dict[str, Any], *, created_from_list: bool = False, lazy: bool = False)#

Bases: RESTObject

Parameters:
  • manager (RESTManager) –

  • attrs (Dict[str, Any]) –

  • created_from_list (bool) –

  • lazy (bool) –

class gitlab.v4.objects.CurrentUserRunnerManager(gl: Gitlab, parent: RESTObject | None = None)#

Bases: CreateMixin, RESTManager

Object Creation

Required attributes for object create:

  • runner_type

Optional attributes for object create:

  • group_id

  • project_id

  • description

  • paused

  • locked

  • run_untagged

  • tag_list

  • access_level

  • maximum_timeout

  • maintenance_note

Object update

Parameters:
class gitlab.v4.objects.CurrentUserStatus(manager: RESTManager, attrs: Dict[str, Any], *, created_from_list: bool = False, lazy: bool = False)#

Bases: SaveMixin, RESTObject

Parameters:
  • manager (RESTManager) –

  • attrs (Dict[str, Any]) –

  • created_from_list (bool) –

  • lazy (bool) –

class gitlab.v4.objects.CurrentUserStatusManager(gl: Gitlab, parent: RESTObject | None = None)#

Bases: GetWithoutIdMixin, UpdateMixin, RESTManager

Object Creation

Object update

Optional attributes for object update:

  • emoji

  • message

Parameters:
get(**kwargs: Any) CurrentUserStatus#

Retrieve a single object.

Parameters:

**kwargs (Any) – Extra options to send to the server (e.g. sudo)

Returns:

The generated RESTObject

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabGetError – If the server cannot perform the request

Return type:

CurrentUserStatus

class gitlab.v4.objects.DeployKey(manager: RESTManager, attrs: Dict[str, Any], *, created_from_list: bool = False, lazy: bool = False)#

Bases: RESTObject

Parameters:
  • manager (RESTManager) –

  • attrs (Dict[str, Any]) –

  • created_from_list (bool) –

  • lazy (bool) –

class gitlab.v4.objects.DeployKeyManager(gl: Gitlab, parent: RESTObject | None = None)#

Bases: ListMixin, RESTManager

Object Creation

Object update

Parameters:
class gitlab.v4.objects.DeployToken(manager: RESTManager, attrs: Dict[str, Any], *, created_from_list: bool = False, lazy: bool = False)#

Bases: ObjectDeleteMixin, RESTObject

Parameters:
  • manager (RESTManager) –

  • attrs (Dict[str, Any]) –

  • created_from_list (bool) –

  • lazy (bool) –

class gitlab.v4.objects.DeployTokenManager(gl: Gitlab, parent: RESTObject | None = None)#

Bases: ListMixin, RESTManager

Object Creation

Object update

Parameters:
class gitlab.v4.objects.Dockerfile(manager: RESTManager, attrs: Dict[str, Any], *, created_from_list: bool = False, lazy: bool = False)#

Bases: RESTObject

Parameters:
  • manager (RESTManager) –

  • attrs (Dict[str, Any]) –

  • created_from_list (bool) –

  • lazy (bool) –

class gitlab.v4.objects.DockerfileManager(gl: Gitlab, parent: RESTObject | None = None)#

Bases: RetrieveMixin, RESTManager

Object Creation

Object update

Parameters:
get(id: str | int, lazy: bool = False, **kwargs: Any) Dockerfile#

Retrieve a single object.

Parameters:
  • id (str | int) – 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 (Any) – Extra options to send to the server (e.g. sudo)

Returns:

The generated RESTObject.

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabGetError – If the server cannot perform the request

Return type:

Dockerfile

class gitlab.v4.objects.Event(manager: RESTManager, attrs: Dict[str, Any], *, created_from_list: bool = False, lazy: bool = False)#

Bases: RESTObject

Parameters:
  • manager (RESTManager) –

  • attrs (Dict[str, Any]) –

  • created_from_list (bool) –

  • lazy (bool) –

class gitlab.v4.objects.EventManager(gl: Gitlab, parent: RESTObject | None = None)#

Bases: ListMixin, RESTManager

Object listing filters

  • action

  • target_type

  • before

  • after

  • sort

  • scope

Object Creation

Object update

Parameters:
class gitlab.v4.objects.Feature(manager: RESTManager, attrs: Dict[str, Any], *, created_from_list: bool = False, lazy: bool = False)#

Bases: ObjectDeleteMixin, RESTObject

Parameters:
  • manager (RESTManager) –

  • attrs (Dict[str, Any]) –

  • created_from_list (bool) –

  • lazy (bool) –

class gitlab.v4.objects.FeatureManager(gl: Gitlab, parent: RESTObject | None = None)#

Bases: ListMixin, DeleteMixin, RESTManager

Object Creation

Object update

Parameters:
set(name: str, value: bool | int, feature_group: str | None = None, user: str | None = None, group: str | None = None, project: str | None = None, **kwargs: Any) Feature#

Create or update the object.

Parameters:
  • name (str) – The value to set for the object

  • value (bool | int) – The value to set for the object

  • feature_group (str | None) – A feature group name

  • user (str | None) – A GitLab username

  • group (str | None) – A GitLab group

  • project (str | None) – A GitLab project in form group/project

  • **kwargs (Any) – Extra options to send to the server (e.g. sudo)

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabSetError – If an error occurred

Returns:

The created/updated attribute

Return type:

Feature

class gitlab.v4.objects.GenericPackage(manager: RESTManager, attrs: Dict[str, Any], *, created_from_list: bool = False, lazy: bool = False)#

Bases: RESTObject

Parameters:
  • manager (RESTManager) –

  • attrs (Dict[str, Any]) –

  • created_from_list (bool) –

  • lazy (bool) –

class gitlab.v4.objects.GenericPackageManager(gl: Gitlab, parent: RESTObject | None = None)#

Bases: RESTManager

Object Creation

Object update

Parameters:
download(package_name: str, package_version: str, file_name: str, streamed: bool = False, action: Callable[[bytes], None] | None = None, chunk_size: int = 1024, *, iterator: bool = False, **kwargs: Any) bytes | Iterator[Any] | None#

Download a generic package.

Parameters:
  • package_name (str) – The package name.

  • package_version (str) – The package version.

  • file_name (str) – The name of the file in the registry

  • streamed (bool) – If True the data will be processed by chunks of chunk_size and each chunk is passed to action for treatment

  • iterator (bool) – If True directly return the underlying response iterator

  • action (Callable[[bytes], None] | None) – Callable responsible of dealing with chunk of data

  • chunk_size (int) – Size of each chunk

  • **kwargs (Any) – Extra options to send to the server (e.g. sudo)

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabGetError – If the server failed to perform the request

Returns:

The package content if streamed is False, None otherwise

Return type:

bytes | Iterator[Any] | None

upload(package_name: str, package_version: str, file_name: str, path: str | Path | None = None, select: str | None = None, data: bytes | BinaryIO | None = None, **kwargs: Any) GenericPackage#

Upload a file as a generic package.

Parameters:
  • package_name (str) – The package name. Must follow generic package name regex rules

  • package_version (str) – The package version. Must follow semantic version regex rules

  • file_name (str) – The name of the file as uploaded in the registry

  • path (str | Path | None) – The path to a local file to upload

  • select (str | None) – GitLab API accepts a value of ‘package_file’

  • data (bytes | BinaryIO | None) –

  • kwargs (Any) –

Raises:
  • GitlabConnectionError – If the server cannot be reached

  • GitlabUploadError – If the file upload fails

  • GitlabUploadError – If path cannot be read

  • GitlabUploadError – If both path and data are passed

Returns:

An object storing the metadata of the uploaded package.

Return type:

GenericPackage

https://docs.gitlab.com/ee/user/packages/generic_packages/

class gitlab.v4.objects.GeoNode(manager: RESTManager, attrs: Dict[str, Any], *, created_from_list: bool = False, lazy: bool = False)#

Bases: SaveMixin, ObjectDeleteMixin, RESTObject

Parameters:
  • manager (RESTManager) –

  • attrs (Dict[str, Any]) –

  • created_from_list (bool) –

  • lazy (bool) –

repair(**kwargs: Any) None#

Repair the OAuth authentication of the geo node.

Parameters:

**kwargs (Any) – Extra options to send to the server (e.g. sudo)

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabRepairError – If the server failed to perform the request

Return type:

None

status(**kwargs: Any) Dict[str, Any]#

Get the status of the geo node.

Parameters:

**kwargs (Any) – Extra options to send to the server (e.g. sudo)

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabGetError – If the server failed to perform the request

Returns:

The status of the geo node

Return type:

Dict[str, Any]

class gitlab.v4.objects.GeoNodeManager(gl: Gitlab, parent: RESTObject | None = None)#

Bases: RetrieveMixin, UpdateMixin, DeleteMixin, RESTManager

Object Creation

Object update

Optional attributes for object update:

  • enabled

  • url

  • files_max_capacity

  • repos_max_capacity

Parameters:
current_failures(**kwargs: Any) List[Dict[str, Any]]#

Get the list of failures on the current geo node.

Parameters:

**kwargs (Any) – Extra options to send to the server (e.g. sudo)

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabGetError – If the server failed to perform the request

Returns:

The list of failures

Return type:

List[Dict[str, Any]]

get(id: str | int, lazy: bool = False, **kwargs: Any) GeoNode#

Retrieve a single object.

Parameters:
  • id (str | int) – 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 (Any) – Extra options to send to the server (e.g. sudo)

Returns:

The generated RESTObject.

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabGetError – If the server cannot perform the request

Return type:

GeoNode

status(**kwargs: Any) List[Dict[str, Any]]#

Get the status of all the geo nodes.

Parameters:

**kwargs (Any) – Extra options to send to the server (e.g. sudo)

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabGetError – If the server failed to perform the request

Returns:

The status of all the geo nodes

Return type:

List[Dict[str, Any]]

class gitlab.v4.objects.Gitignore(manager: RESTManager, attrs: Dict[str, Any], *, created_from_list: bool = False, lazy: bool = False)#

Bases: RESTObject

Parameters:
  • manager (RESTManager) –

  • attrs (Dict[str, Any]) –

  • created_from_list (bool) –

  • lazy (bool) –

class gitlab.v4.objects.GitignoreManager(gl: Gitlab, parent: RESTObject | None = None)#

Bases: RetrieveMixin, RESTManager

Object Creation

Object update

Parameters:
get(id: str | int, lazy: bool = False, **kwargs: Any) Gitignore#

Retrieve a single object.

Parameters:
  • id (str | int) – 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 (Any) – Extra options to send to the server (e.g. sudo)

Returns:

The generated RESTObject.

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabGetError – If the server cannot perform the request

Return type:

Gitignore

class gitlab.v4.objects.Gitlabciyml(manager: RESTManager, attrs: Dict[str, Any], *, created_from_list: bool = False, lazy: bool = False)#

Bases: RESTObject

Parameters:
  • manager (RESTManager) –

  • attrs (Dict[str, Any]) –

  • created_from_list (bool) –

  • lazy (bool) –

class gitlab.v4.objects.GitlabciymlManager(gl: Gitlab, parent: RESTObject | None = None)#

Bases: RetrieveMixin, RESTManager

Object Creation

Object update

Parameters:
get(id: str | int, lazy: bool = False, **kwargs: Any) Gitlabciyml#

Retrieve a single object.

Parameters:
  • id (str | int) – 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 (Any) – Extra options to send to the server (e.g. sudo)

Returns:

The generated RESTObject.

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabGetError – If the server cannot perform the request

Return type:

Gitlabciyml

class gitlab.v4.objects.Group(manager: RESTManager, attrs: Dict[str, Any], *, created_from_list: bool = False, lazy: bool = False)#

Bases: SaveMixin, ObjectDeleteMixin, RESTObject

Parameters:
  • manager (RESTManager) –

  • attrs (Dict[str, Any]) –

  • created_from_list (bool) –

  • lazy (bool) –

access_tokens: GroupAccessTokenManager#
accessrequests: GroupAccessRequestManager#
audit_events: GroupAuditEventManager#
badges: GroupBadgeManager#
billable_members: GroupBillableMemberManager#
boards: GroupBoardManager#
clusters: GroupClusterManager#
customattributes: GroupCustomAttributeManager#
deploytokens: GroupDeployTokenManager#
descendant_groups: GroupDescendantGroupManager#
epics: GroupEpicManager#
exports: GroupExportManager#
hooks: GroupHookManager#
imports: GroupImportManager#
invitations: GroupInvitationManager#
issues: GroupIssueManager#
issues_statistics: GroupIssuesStatisticsManager#
iterations: GroupIterationManager#
labels: GroupLabelManager#
ldap_sync(**kwargs: Any) None#

Sync LDAP groups.

Parameters:

**kwargs (Any) – Extra options to send to the server (e.g. sudo)

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabCreateError – If the server cannot perform the request

Return type:

None

members: GroupMemberManager#
members_all: GroupMemberAllManager#
mergerequests: GroupMergeRequestManager#
milestones: GroupMilestoneManager#
notificationsettings: GroupNotificationSettingsManager#
packages: GroupPackageManager#
projects: GroupProjectManager#
pushrules: GroupPushRulesManager#
registry_repositories: GroupRegistryRepositoryManager#
restore(**kwargs: Any) None#

Restore a group marked for deletion..

Parameters:

**kwargs (Any) – Extra options to send to the server (e.g. sudo)

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabRestoreError – If the server failed to perform the request

Return type:

None

runners: GroupRunnerManager#
search(scope: str, search: str, **kwargs: Any) GitlabList | List[Dict[str, Any]]#

Search the group resources matching the provided string.

Parameters:
  • scope (str) – Scope of the search

  • search (str) – Search string

  • **kwargs (Any) – Extra options to send to the server (e.g. sudo)

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabSearchError – If the server failed to perform the request

Returns:

A list of dicts describing the resources found.

Return type:

GitlabList | List[Dict[str, Any]]

share(group_id: int, group_access: int, expires_at: str | None = None, **kwargs: Any) None#

Share the group with a group.

Parameters:
  • group_id (int) – ID of the group.

  • group_access (int) – Access level for the group.

  • **kwargs (Any) – Extra options to send to the server (e.g. sudo)

  • expires_at (str | None) –

  • **kwargs

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabCreateError – If the server failed to perform the request

Returns:

Group

Return type:

None

shared_projects: SharedProjectManager#
subgroups: GroupSubgroupManager#
transfer(group_id: int | None = None, **kwargs: Any) None#

Transfer the group to a new parent group or make it a top-level group.

Requires GitLab ≥14.6.

Parameters:
  • group_id (int | None) – ID of the new parent group. When not specified, the group to transfer is instead turned into a top-level group.

  • **kwargs (Any) – Extra options to send to the server (e.g. sudo)

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabGroupTransferError – If the group could not be transferred

Return type:

None

transfer_project(project_id: int, **kwargs: Any) None#

Transfer a project to this group.

Parameters:
  • to_project_id – ID of the project to transfer

  • **kwargs (Any) – Extra options to send to the server (e.g. sudo)

  • project_id (int) –

  • **kwargs

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabTransferProjectError – If the project could not be transferred

Return type:

None

unshare(group_id: int, **kwargs: Any) None#

Delete a shared group link within a group.

Parameters:
  • group_id (int) – ID of the group.

  • **kwargs (Any) – Extra options to send to the server (e.g. sudo)

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabDeleteError – If the server failed to perform the request

Return type:

None

variables: GroupVariableManager#
wikis: GroupWikiManager#
class gitlab.v4.objects.GroupAccessRequest(manager: RESTManager, attrs: Dict[str, Any], *, created_from_list: bool = False, lazy: bool = False)#

Bases: AccessRequestMixin, ObjectDeleteMixin, RESTObject

Parameters:
  • manager (RESTManager) –

  • attrs (Dict[str, Any]) –

  • created_from_list (bool) –

  • lazy (bool) –

class gitlab.v4.objects.GroupAccessRequestManager(gl: Gitlab, parent: RESTObject | None = None)#

Bases: ListMixin, CreateMixin, DeleteMixin, RESTManager

Object Creation

Object update

Parameters:
class gitlab.v4.objects.GroupAccessToken(manager: RESTManager, attrs: Dict[str, Any], *, created_from_list: bool = False, lazy: bool = False)#

Bases: ObjectDeleteMixin, ObjectRotateMixin, RESTObject

Parameters:
  • manager (RESTManager) –

  • attrs (Dict[str, Any]) –

  • created_from_list (bool) –

  • lazy (bool) –

class gitlab.v4.objects.GroupAccessTokenManager(gl: Gitlab, parent: RESTObject | None = None)#

Bases: CreateMixin, DeleteMixin, RetrieveMixin, RotateMixin, RESTManager

Object Creation

Required attributes for object create:

  • name

  • scopes

Optional attributes for object create:

  • access_level

  • expires_at

Object update

Parameters:
get(id: str | int, lazy: bool = False, **kwargs: Any) GroupAccessToken#

Retrieve a single object.

Parameters:
  • id (str | int) – 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 (Any) – Extra options to send to the server (e.g. sudo)

Returns:

The generated RESTObject.

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabGetError – If the server cannot perform the request

Return type:

GroupAccessToken

class gitlab.v4.objects.GroupAuditEvent(manager: RESTManager, attrs: Dict[str, Any], *, created_from_list: bool = False, lazy: bool = False)#

Bases: RESTObject

Parameters:
  • manager (RESTManager) –

  • attrs (Dict[str, Any]) –

  • created_from_list (bool) –

  • lazy (bool) –

class gitlab.v4.objects.GroupAuditEventManager(gl: Gitlab, parent: RESTObject | None = None)#

Bases: RetrieveMixin, RESTManager

Object listing filters

  • created_after

  • created_before

Object Creation

Object update

Parameters:
get(id: str | int, lazy: bool = False, **kwargs: Any) GroupAuditEvent#

Retrieve a single object.

Parameters:
  • id (str | int) – 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 (Any) – Extra options to send to the server (e.g. sudo)

Returns:

The generated RESTObject.

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabGetError – If the server cannot perform the request

Return type:

GroupAuditEvent

class gitlab.v4.objects.GroupBadge(manager: RESTManager, attrs: Dict[str, Any], *, created_from_list: bool = False, lazy: bool = False)#

Bases: SaveMixin, ObjectDeleteMixin, RESTObject

Parameters:
  • manager (RESTManager) –

  • attrs (Dict[str, Any]) –

  • created_from_list (bool) –

  • lazy (bool) –

class gitlab.v4.objects.GroupBadgeManager(gl: Gitlab, parent: RESTObject | None = None)#

Bases: BadgeRenderMixin, CRUDMixin, RESTManager

Object Creation

Required attributes for object create:

  • link_url

  • image_url

Object update

Optional attributes for object update:

  • link_url

  • image_url

Parameters:
get(id: str | int, lazy: bool = False, **kwargs: Any) GroupBadge#

Retrieve a single object.

Parameters:
  • id (str | int) – 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 (Any) – Extra options to send to the server (e.g. sudo)

Returns:

The generated RESTObject.

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabGetError – If the server cannot perform the request

Return type:

GroupBadge

class gitlab.v4.objects.GroupBillableMember(manager: RESTManager, attrs: Dict[str, Any], *, created_from_list: bool = False, lazy: bool = False)#

Bases: ObjectDeleteMixin, RESTObject

Parameters:
  • manager (RESTManager) –

  • attrs (Dict[str, Any]) –

  • created_from_list (bool) –

  • lazy (bool) –

memberships: GroupBillableMemberMembershipManager#
class gitlab.v4.objects.GroupBillableMemberManager(gl: Gitlab, parent: RESTObject | None = None)#

Bases: ListMixin, DeleteMixin, RESTManager

Object listing filters

  • search

  • sort

Object Creation

Object update

Parameters:
class gitlab.v4.objects.GroupBillableMemberMembership(manager: RESTManager, attrs: Dict[str, Any], *, created_from_list: bool = False, lazy: bool = False)#

Bases: RESTObject

Parameters:
  • manager (RESTManager) –

  • attrs (Dict[str, Any]) –

  • created_from_list (bool) –

  • lazy (bool) –

class gitlab.v4.objects.GroupBillableMemberMembershipManager(gl: Gitlab, parent: RESTObject | None = None)#

Bases: ListMixin, RESTManager

Object Creation

Object update

Parameters:
class gitlab.v4.objects.GroupBoard(manager: RESTManager, attrs: Dict[str, Any], *, created_from_list: bool = False, lazy: bool = False)#

Bases: SaveMixin, ObjectDeleteMixin, RESTObject

Parameters:
  • manager (RESTManager) –

  • attrs (Dict[str, Any]) –

  • created_from_list (bool) –

  • lazy (bool) –

lists: GroupBoardListManager#
class gitlab.v4.objects.GroupBoardList(manager: RESTManager, attrs: Dict[str, Any], *, created_from_list: bool = False, lazy: bool = False)#

Bases: SaveMixin, ObjectDeleteMixin, RESTObject

Parameters:
  • manager (RESTManager) –

  • attrs (Dict[str, Any]) –

  • created_from_list (bool) –

  • lazy (bool) –

class gitlab.v4.objects.GroupBoardListManager(gl: Gitlab, parent: RESTObject | None = None)#

Bases: CRUDMixin, RESTManager

Object Creation

Mutually exclusive attributes for object create:

  • label_id

  • assignee_id

  • milestone_id

Object update

Required attributes for object update:

  • position

Parameters:
get(id: str | int, lazy: bool = False, **kwargs: Any) GroupBoardList#

Retrieve a single object.

Parameters:
  • id (str | int) – 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 (Any) – Extra options to send to the server (e.g. sudo)

Returns:

The generated RESTObject.

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabGetError – If the server cannot perform the request

Return type:

GroupBoardList

class gitlab.v4.objects.GroupBoardManager(gl: Gitlab, parent: RESTObject | None = None)#

Bases: CRUDMixin, RESTManager

Object Creation

Required attributes for object create:

  • name

Object update

Parameters:
get(id: str | int, lazy: bool = False, **kwargs: Any) GroupBoard#

Retrieve a single object.

Parameters:
  • id (str | int) – 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 (Any) – Extra options to send to the server (e.g. sudo)

Returns:

The generated RESTObject.

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabGetError – If the server cannot perform the request

Return type:

GroupBoard

class gitlab.v4.objects.GroupCluster(manager: RESTManager, attrs: Dict[str, Any], *, created_from_list: bool = False, lazy: bool = False)#

Bases: SaveMixin, ObjectDeleteMixin, RESTObject

Parameters:
  • manager (RESTManager) –

  • attrs (Dict[str, Any]) –

  • created_from_list (bool) –

  • lazy (bool) –

class gitlab.v4.objects.GroupClusterManager(gl: Gitlab, parent: RESTObject | None = None)#

Bases: CRUDMixin, RESTManager

Object Creation

Required attributes for object create:

  • name

  • platform_kubernetes_attributes

Optional attributes for object create:

  • domain

  • enabled

  • managed

  • environment_scope

Object update

Optional attributes for object update:

  • name

  • domain

  • management_project_id

  • platform_kubernetes_attributes

  • environment_scope

Parameters:
create(data: Dict[str, Any] | None = None, **kwargs: Any) GroupCluster#

Create a new object.

Parameters:
  • data (Dict[str, Any] | None) – Parameters to send to the server to create the resource

  • **kwargs (Any) – Extra options to send to the server (e.g. sudo or ‘ref_name’, ‘stage’, ‘name’, ‘all’)

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabCreateError – If the server cannot perform the request

Returns:

A new instance of the manage object class build with

the data sent by the server

Return type:

GroupCluster

get(id: str | int, lazy: bool = False, **kwargs: Any) GroupCluster#

Retrieve a single object.

Parameters:
  • id (str | int) – 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 (Any) – Extra options to send to the server (e.g. sudo)

Returns:

The generated RESTObject.

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabGetError – If the server cannot perform the request

Return type:

GroupCluster

class gitlab.v4.objects.GroupCustomAttribute(manager: RESTManager, attrs: Dict[str, Any], *, created_from_list: bool = False, lazy: bool = False)#

Bases: ObjectDeleteMixin, RESTObject

Parameters:
  • manager (RESTManager) –

  • attrs (Dict[str, Any]) –

  • created_from_list (bool) –

  • lazy (bool) –

class gitlab.v4.objects.GroupCustomAttributeManager(gl: Gitlab, parent: RESTObject | None = None)#

Bases: RetrieveMixin, SetMixin, DeleteMixin, RESTManager

Object Creation

Object update

Parameters:
get(id: str | int, lazy: bool = False, **kwargs: Any) GroupCustomAttribute#

Retrieve a single object.

Parameters:
  • id (str | int) – 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 (Any) – Extra options to send to the server (e.g. sudo)

Returns:

The generated RESTObject.

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabGetError – If the server cannot perform the request

Return type:

GroupCustomAttribute

class gitlab.v4.objects.GroupDeployToken(manager: RESTManager, attrs: Dict[str, Any], *, created_from_list: bool = False, lazy: bool = False)#

Bases: ObjectDeleteMixin, RESTObject

Parameters:
  • manager (RESTManager) –

  • attrs (Dict[str, Any]) –

  • created_from_list (bool) –

  • lazy (bool) –

class gitlab.v4.objects.GroupDeployTokenManager(gl: Gitlab, parent: RESTObject | None = None)#

Bases: RetrieveMixin, CreateMixin, DeleteMixin, RESTManager

Object listing filters

  • scopes

Object Creation

Required attributes for object create:

  • name

  • scopes

Optional attributes for object create:

  • expires_at

  • username

Object update

Parameters:
get(id: str | int, lazy: bool = False, **kwargs: Any) GroupDeployToken#

Retrieve a single object.

Parameters:
  • id (str | int) – 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 (Any) – Extra options to send to the server (e.g. sudo)

Returns:

The generated RESTObject.

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabGetError – If the server cannot perform the request

Return type:

GroupDeployToken

class gitlab.v4.objects.GroupDescendantGroup(manager: RESTManager, attrs: Dict[str, Any], *, created_from_list: bool = False, lazy: bool = False)#

Bases: RESTObject

Parameters:
  • manager (RESTManager) –

  • attrs (Dict[str, Any]) –

  • created_from_list (bool) –

  • lazy (bool) –

class gitlab.v4.objects.GroupDescendantGroupManager(gl: Gitlab, parent: RESTObject | None = None)#

Bases: GroupSubgroupManager

This manager inherits from GroupSubgroupManager as descendant groups share all attributes with subgroups, except the path and object class.

Object listing filters

  • skip_groups

  • all_available

  • search

  • order_by

  • sort

  • statistics

  • owned

  • with_custom_attributes

  • min_access_level

Object Creation

Object update

Parameters:
class gitlab.v4.objects.GroupEpic(manager: RESTManager, attrs: Dict[str, Any], *, created_from_list: bool = False, lazy: bool = False)#

Bases: ObjectDeleteMixin, SaveMixin, RESTObject

Parameters:
  • manager (RESTManager) –

  • attrs (Dict[str, Any]) –

  • created_from_list (bool) –

  • lazy (bool) –

issues: GroupEpicIssueManager#
notes: GroupEpicNoteManager#
resourcelabelevents: GroupEpicResourceLabelEventManager#
class gitlab.v4.objects.GroupEpicAwardEmoji(manager: RESTManager, attrs: Dict[str, Any], *, created_from_list: bool = False, lazy: bool = False)#

Bases: ObjectDeleteMixin, RESTObject

Parameters:
  • manager (RESTManager) –

  • attrs (Dict[str, Any]) –

  • created_from_list (bool) –

  • lazy (bool) –

class gitlab.v4.objects.GroupEpicAwardEmojiManager(gl: Gitlab, parent: RESTObject | None = None)#

Bases: NoUpdateMixin, RESTManager

Object Creation

Required attributes for object create:

  • name

Object update

Parameters:
get(id: str | int, lazy: bool = False, **kwargs: Any) GroupEpicAwardEmoji#

Retrieve a single object.

Parameters:
  • id (str | int) – 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 (Any) – Extra options to send to the server (e.g. sudo)

Returns:

The generated RESTObject.

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabGetError – If the server cannot perform the request

Return type:

GroupEpicAwardEmoji

class gitlab.v4.objects.GroupEpicDiscussionNote(manager: RESTManager, attrs: Dict[str, Any], *, created_from_list: bool = False, lazy: bool = False)#

Bases: SaveMixin, ObjectDeleteMixin, RESTObject

Parameters:
  • manager (RESTManager) –

  • attrs (Dict[str, Any]) –

  • created_from_list (bool) –

  • lazy (bool) –

class gitlab.v4.objects.GroupEpicDiscussionNoteManager(gl: Gitlab, parent: RESTObject | None = None)#

Bases: GetMixin, CreateMixin, UpdateMixin, DeleteMixin, RESTManager

Object Creation

Required attributes for object create:

  • body

Optional attributes for object create:

  • created_at

Object update

Required attributes for object update:

  • body

Parameters:
get(id: str | int, lazy: bool = False, **kwargs: Any) GroupEpicDiscussionNote#

Retrieve a single object.

Parameters:
  • id (str | int) – 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 (Any) – Extra options to send to the server (e.g. sudo)

Returns:

The generated RESTObject.

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabGetError – If the server cannot perform the request

Return type:

GroupEpicDiscussionNote

class gitlab.v4.objects.GroupEpicIssue(manager: RESTManager, attrs: Dict[str, Any], *, created_from_list: bool = False, lazy: bool = False)#

Bases: ObjectDeleteMixin, SaveMixin, RESTObject

Parameters:
manager: GroupEpicIssueManager#
save(**kwargs: Any) None#

Save the changes made to the object to the server.

The object is updated to match what the server returns.

Parameters:

**kwargs (Any) – Extra options to send to the server (e.g. sudo)

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabUpdateError – If the server cannot perform the request

Return type:

None

class gitlab.v4.objects.GroupEpicIssueManager(gl: Gitlab, parent: RESTObject | None = None)#

Bases: ListMixin, CreateMixin, UpdateMixin, DeleteMixin, RESTManager

Object Creation

Required attributes for object create:

  • issue_id

Object update

Optional attributes for object update:

  • move_before_id

  • move_after_id

Parameters:
create(data: Dict[str, Any] | None = None, **kwargs: Any) GroupEpicIssue#

Create a new object.

Parameters:
  • data (Dict[str, Any] | None) – Parameters to send to the server to create the resource

  • **kwargs (Any) – Extra options to send to the server (e.g. sudo)

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabCreateError – If the server cannot perform the request

Returns:

A new instance of the manage object class build with

the data sent by the server

Return type:

GroupEpicIssue

class gitlab.v4.objects.GroupEpicManager(gl: Gitlab, parent: RESTObject | None = None)#

Bases: CRUDMixin, RESTManager

Object listing filters

  • author_id

  • labels

  • order_by

  • sort

  • search

Object Creation

Required attributes for object create:

  • title

Optional attributes for object create:

  • labels

  • description

  • start_date

  • end_date

Object update

Optional attributes for object update:

  • title

  • labels

  • description

  • start_date

  • end_date

Parameters:
get(id: str | int, lazy: bool = False, **kwargs: Any) GroupEpic#

Retrieve a single object.

Parameters:
  • id (str | int) – 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 (Any) – Extra options to send to the server (e.g. sudo)

Returns:

The generated RESTObject.

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabGetError – If the server cannot perform the request

Return type:

GroupEpic

class gitlab.v4.objects.GroupEpicNote(manager: RESTManager, attrs: Dict[str, Any], *, created_from_list: bool = False, lazy: bool = False)#

Bases: SaveMixin, ObjectDeleteMixin, RESTObject

Parameters:
  • manager (RESTManager) –

  • attrs (Dict[str, Any]) –

  • created_from_list (bool) –

  • lazy (bool) –

awardemojis: GroupEpicNoteAwardEmojiManager#
class gitlab.v4.objects.GroupEpicNoteAwardEmoji(manager: RESTManager, attrs: Dict[str, Any], *, created_from_list: bool = False, lazy: bool = False)#

Bases: ObjectDeleteMixin, RESTObject

Parameters:
  • manager (RESTManager) –

  • attrs (Dict[str, Any]) –

  • created_from_list (bool) –

  • lazy (bool) –

class gitlab.v4.objects.GroupEpicNoteAwardEmojiManager(gl: Gitlab, parent: RESTObject | None = None)#

Bases: NoUpdateMixin, RESTManager

Object Creation

Required attributes for object create:

  • name

Object update

Parameters:
get(id: str | int, lazy: bool = False, **kwargs: Any) GroupEpicNoteAwardEmoji#

Retrieve a single object.

Parameters:
  • id (str | int) – 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 (Any) – Extra options to send to the server (e.g. sudo)

Returns:

The generated RESTObject.

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabGetError – If the server cannot perform the request

Return type:

GroupEpicNoteAwardEmoji

class gitlab.v4.objects.GroupEpicNoteManager(gl: Gitlab, parent: RESTObject | None = None)#

Bases: CRUDMixin, RESTManager

Object Creation

Required attributes for object create:

  • body

Optional attributes for object create:

  • created_at

Object update

Required attributes for object update:

  • body

Parameters:
get(id: str | int, lazy: bool = False, **kwargs: Any) GroupEpicNote#

Retrieve a single object.

Parameters:
  • id (str | int) – 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 (Any) – Extra options to send to the server (e.g. sudo)

Returns:

The generated RESTObject.

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabGetError – If the server cannot perform the request

Return type:

GroupEpicNote

class gitlab.v4.objects.GroupEpicResourceLabelEvent(manager: RESTManager, attrs: Dict[str, Any], *, created_from_list: bool = False, lazy: bool = False)#

Bases: RESTObject

Parameters:
  • manager (RESTManager) –

  • attrs (Dict[str, Any]) –

  • created_from_list (bool) –

  • lazy (bool) –

class gitlab.v4.objects.GroupEpicResourceLabelEventManager(gl: Gitlab, parent: RESTObject | None = None)#

Bases: RetrieveMixin, RESTManager

Object Creation

Object update

Parameters:
get(id: str | int, lazy: bool = False, **kwargs: Any) GroupEpicResourceLabelEvent#

Retrieve a single object.

Parameters:
  • id (str | int) – 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 (Any) – Extra options to send to the server (e.g. sudo)

Returns:

The generated RESTObject.

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabGetError – If the server cannot perform the request

Return type:

GroupEpicResourceLabelEvent

class gitlab.v4.objects.GroupExport(manager: RESTManager, attrs: Dict[str, Any], *, created_from_list: bool = False, lazy: bool = False)#

Bases: DownloadMixin, RESTObject

Parameters:
  • manager (RESTManager) –

  • attrs (Dict[str, Any]) –

  • created_from_list (bool) –

  • lazy (bool) –

class gitlab.v4.objects.GroupExportManager(gl: Gitlab, parent: RESTObject | None = None)#

Bases: GetWithoutIdMixin, CreateMixin, RESTManager

Object Creation

Object update

Parameters:
get(**kwargs: Any) GroupExport#

Retrieve a single object.

Parameters:

**kwargs (Any) – Extra options to send to the server (e.g. sudo)

Returns:

The generated RESTObject

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabGetError – If the server cannot perform the request

Return type:

GroupExport

class gitlab.v4.objects.GroupHook(manager: RESTManager, attrs: Dict[str, Any], *, created_from_list: bool = False, lazy: bool = False)#

Bases: SaveMixin, ObjectDeleteMixin, RESTObject

Parameters:
  • manager (RESTManager) –

  • attrs (Dict[str, Any]) –

  • created_from_list (bool) –

  • lazy (bool) –

class gitlab.v4.objects.GroupHookManager(gl: Gitlab, parent: RESTObject | None = None)#

Bases: CRUDMixin, RESTManager

Object Creation

Required attributes for object create:

  • url

Optional attributes for object create:

  • push_events

  • issues_events

  • confidential_issues_events

  • merge_requests_events

  • tag_push_events

  • note_events

  • confidential_note_events

  • job_events

  • pipeline_events

  • wiki_page_events

  • deployment_events

  • releases_events

  • subgroup_events

  • enable_ssl_verification

  • token

Object update

Required attributes for object update:

  • url

Optional attributes for object update:

  • push_events

  • issues_events

  • confidential_issues_events

  • merge_requests_events

  • tag_push_events

  • note_events

  • confidential_note_events

  • job_events

  • pipeline_events

  • wiki_page_events

  • deployment_events

  • releases_events

  • subgroup_events

  • enable_ssl_verification

  • token

Parameters:
get(id: str | int, lazy: bool = False, **kwargs: Any) GroupHook#

Retrieve a single object.

Parameters:
  • id (str | int) – 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 (Any) – Extra options to send to the server (e.g. sudo)

Returns:

The generated RESTObject.

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabGetError – If the server cannot perform the request

Return type:

GroupHook

class gitlab.v4.objects.GroupImport(manager: RESTManager, attrs: Dict[str, Any], *, created_from_list: bool = False, lazy: bool = False)#

Bases: RESTObject

Parameters:
  • manager (RESTManager) –

  • attrs (Dict[str, Any]) –

  • created_from_list (bool) –

  • lazy (bool) –

class gitlab.v4.objects.GroupImportManager(gl: Gitlab, parent: RESTObject | None = None)#

Bases: GetWithoutIdMixin, RESTManager

Object Creation

Object update

Parameters:
get(**kwargs: Any) GroupImport#

Retrieve a single object.

Parameters:

**kwargs (Any) – Extra options to send to the server (e.g. sudo)

Returns:

The generated RESTObject

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabGetError – If the server cannot perform the request

Return type:

GroupImport

class gitlab.v4.objects.GroupInvitation(manager: RESTManager, attrs: Dict[str, Any], *, created_from_list: bool = False, lazy: bool = False)#

Bases: SaveMixin, ObjectDeleteMixin, RESTObject

Parameters:
  • manager (RESTManager) –

  • attrs (Dict[str, Any]) –

  • created_from_list (bool) –

  • lazy (bool) –

class gitlab.v4.objects.GroupInvitationManager(gl: Gitlab, parent: RESTObject | None = None)#

Bases: InvitationMixin, RESTManager

Object listing filters

  • query

Object Creation

Required attributes for object create:

  • access_level

Optional attributes for object create:

  • expires_at

  • invite_source

  • tasks_to_be_done

  • tasks_project_id

Mutually exclusive attributes for object create:

  • email

  • user_id

Object update

Optional attributes for object update:

  • access_level

  • expires_at

Parameters:
get(id: str | int, lazy: bool = False, **kwargs: Any) GroupInvitation#

Retrieve a single object.

Parameters:
  • id (str | int) – 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 (Any) – Extra options to send to the server (e.g. sudo)

Returns:

The generated RESTObject.

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabGetError – If the server cannot perform the request

Return type:

GroupInvitation

class gitlab.v4.objects.GroupIssue(manager: RESTManager, attrs: Dict[str, Any], *, created_from_list: bool = False, lazy: bool = False)#

Bases: RESTObject

Parameters:
  • manager (RESTManager) –

  • attrs (Dict[str, Any]) –

  • created_from_list (bool) –

  • lazy (bool) –

class gitlab.v4.objects.GroupIssueManager(gl: Gitlab, parent: RESTObject | None = None)#

Bases: ListMixin, RESTManager

Object listing filters

  • state

  • labels

  • milestone

  • order_by

  • sort

  • iids

  • author_id

  • iteration_id

  • assignee_id

  • my_reaction_emoji

  • search

  • created_after

  • created_before

  • updated_after

  • updated_before

Object Creation

Object update

Parameters:
class gitlab.v4.objects.GroupIssuesStatistics(manager: RESTManager, attrs: Dict[str, Any], *, created_from_list: bool = False, lazy: bool = False)#

Bases: RefreshMixin, RESTObject

Parameters:
  • manager (RESTManager) –

  • attrs (Dict[str, Any]) –

  • created_from_list (bool) –

  • lazy (bool) –

class gitlab.v4.objects.GroupIssuesStatisticsManager(gl: Gitlab, parent: RESTObject | None = None)#

Bases: GetWithoutIdMixin, RESTManager

Object listing filters

  • iids

Object Creation

Object update

Parameters:
get(**kwargs: Any) GroupIssuesStatistics#

Retrieve a single object.

Parameters:

**kwargs (Any) – Extra options to send to the server (e.g. sudo)

Returns:

The generated RESTObject

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabGetError – If the server cannot perform the request

Return type:

GroupIssuesStatistics

class gitlab.v4.objects.GroupIteration(manager: RESTManager, attrs: Dict[str, Any], *, created_from_list: bool = False, lazy: bool = False)#

Bases: RESTObject

Parameters:
  • manager (RESTManager) –

  • attrs (Dict[str, Any]) –

  • created_from_list (bool) –

  • lazy (bool) –

class gitlab.v4.objects.GroupIterationManager(gl: Gitlab, parent: RESTObject | None = None)#

Bases: ListMixin, RESTManager

Object listing filters

  • state

  • search

  • include_ancestors

Object Creation

Object update

Parameters:

Bases: RESTObject

Parameters:
  • manager (RESTManager) –

  • attrs (Dict[str, Any]) –

  • created_from_list (bool) –

  • lazy (bool) –

delete(**kwargs: Any) None#

Delete the LDAP group link from the server.

Parameters:

**kwargs (Any) – Extra options to send to the server (e.g. sudo)

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabDeleteError – If the server cannot perform the request

Return type:

None

class gitlab.v4.objects.GroupLDAPGroupLinkManager(gl: Gitlab, parent: RESTObject | None = None)#

Bases: ListMixin, CreateMixin, DeleteMixin, RESTManager

Object Creation

Required attributes for object create:

  • provider

  • group_access

Mutually exclusive attributes for object create:

  • cn

  • filter

Object update

Parameters:
class gitlab.v4.objects.GroupLabel(manager: RESTManager, attrs: Dict[str, Any], *, created_from_list: bool = False, lazy: bool = False)#

Bases: SubscribableMixin, SaveMixin, ObjectDeleteMixin, RESTObject

Parameters:
  • manager (GroupLabelManager) –

  • attrs (Dict[str, Any]) –

  • created_from_list (bool) –

  • lazy (bool) –

manager: GroupLabelManager#
save(**kwargs: Any) None#

Saves the changes made to the object to the server.

The object is updated to match what the server returns.

Parameters:

**kwargs (Any) – Extra options to send to the server (e.g. sudo)

Raises:
  • GitlabAuthenticationError – If authentication is not correct.

  • GitlabUpdateError – If the server cannot perform the request.

Return type:

None

class gitlab.v4.objects.GroupLabelManager(gl: Gitlab, parent: RESTObject | None = None)#

Bases: RetrieveMixin, CreateMixin, UpdateMixin, DeleteMixin, RESTManager

Object Creation

Required attributes for object create:

  • name

  • color

Optional attributes for object create:

  • description

  • priority

Object update

Required attributes for object update:

  • name

Optional attributes for object update:

  • new_name

  • color

  • description

  • priority

Parameters:
get(id: str | int, lazy: bool = False, **kwargs: Any) GroupLabel#

Retrieve a single object.

Parameters:
  • id (str | int) – 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 (Any) – Extra options to send to the server (e.g. sudo)

Returns:

The generated RESTObject.

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabGetError – If the server cannot perform the request

Return type:

GroupLabel

update(name: str | None, new_data: Dict[str, Any] | None = None, **kwargs: Any) Dict[str, Any]#

Update a Label on the server.

Parameters:
  • name (str | None) – The name of the label

  • **kwargs (Any) – Extra options to send to the server (e.g. sudo)

  • new_data (Dict[str, Any] | None) –

  • **kwargs

Return type:

Dict[str, Any]

class gitlab.v4.objects.GroupManager(gl: Gitlab, parent: RESTObject | None = None)#

Bases: CRUDMixin, RESTManager

Object listing filters

  • skip_groups

  • all_available

  • search

  • order_by

  • sort

  • statistics

  • owned

  • with_custom_attributes

  • min_access_level

  • top_level_only

Object Creation

Required attributes for object create:

  • name

  • path

Optional attributes for object create:

  • description

  • membership_lock

  • visibility

  • share_with_group_lock

  • require_two_factor_authentication

  • two_factor_grace_period

  • project_creation_level

  • auto_devops_enabled

  • subgroup_creation_level

  • emails_disabled

  • avatar

  • mentions_disabled

  • lfs_enabled

  • request_access_enabled

  • parent_id

  • default_branch_protection

  • shared_runners_minutes_limit

  • extra_shared_runners_minutes_limit

Object update

Optional attributes for object update:

  • name

  • path

  • description

  • membership_lock

  • share_with_group_lock

  • visibility

  • require_two_factor_authentication

  • two_factor_grace_period

  • project_creation_level

  • auto_devops_enabled

  • subgroup_creation_level

  • emails_disabled

  • avatar

  • mentions_disabled

  • lfs_enabled

  • request_access_enabled

  • default_branch_protection

  • file_template_project_id

  • shared_runners_minutes_limit

  • extra_shared_runners_minutes_limit

  • prevent_forking_outside_group

  • shared_runners_setting

Parameters:
get(id: str | int, lazy: bool = False, **kwargs: Any) Group#

Retrieve a single object.

Parameters:
  • id (str | int) – 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 (Any) – Extra options to send to the server (e.g. sudo)

Returns:

The generated RESTObject.

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabGetError – If the server cannot perform the request

Return type:

Group

import_group(file: BinaryIO, path: str, name: str, parent_id: int | str | None = None, **kwargs: Any) Dict[str, Any] | Response#

Import a group from an archive file.

Parameters:
  • file (BinaryIO) – Data or file object containing the group

  • path (str) – The path for the new group to be imported.

  • name (str) – The name for the new group.

  • parent_id (int | str | None) – ID of a parent group that the group will be imported into.

  • **kwargs (Any) – Extra options to send to the server (e.g. sudo)

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabImportError – If the server failed to perform the request

Returns:

A representation of the import status.

Return type:

Dict[str, Any] | Response

class gitlab.v4.objects.GroupMember(manager: RESTManager, attrs: Dict[str, Any], *, created_from_list: bool = False, lazy: bool = False)#

Bases: SaveMixin, ObjectDeleteMixin, RESTObject

Parameters:
  • manager (RESTManager) –

  • attrs (Dict[str, Any]) –

  • created_from_list (bool) –

  • lazy (bool) –

class gitlab.v4.objects.GroupMemberAll(manager: RESTManager, attrs: Dict[str, Any], *, created_from_list: bool = False, lazy: bool = False)#

Bases: RESTObject

Parameters:
  • manager (RESTManager) –

  • attrs (Dict[str, Any]) –

  • created_from_list (bool) –

  • lazy (bool) –

class gitlab.v4.objects.GroupMemberAllManager(gl: Gitlab, parent: RESTObject | None = None)#

Bases: RetrieveMixin, RESTManager

Object Creation

Object update

Parameters:
get(id: str | int, lazy: bool = False, **kwargs: Any) GroupMemberAll#

Retrieve a single object.

Parameters:
  • id (str | int) – 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 (Any) – Extra options to send to the server (e.g. sudo)

Returns:

The generated RESTObject.

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabGetError – If the server cannot perform the request

Return type:

GroupMemberAll

class gitlab.v4.objects.GroupMemberManager(gl: Gitlab, parent: RESTObject | None = None)#

Bases: CRUDMixin, RESTManager

Object Creation

Required attributes for object create:

  • access_level

  • user_id

Optional attributes for object create:

  • expires_at

  • tasks_to_be_done

Object update

Required attributes for object update:

  • access_level

Optional attributes for object update:

  • expires_at

Parameters:
get(id: str | int, lazy: bool = False, **kwargs: Any) GroupMember#

Retrieve a single object.

Parameters:
  • id (str | int) – 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 (Any) – Extra options to send to the server (e.g. sudo)

Returns:

The generated RESTObject.

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabGetError – If the server cannot perform the request

Return type:

GroupMember

class gitlab.v4.objects.GroupMergeRequest(manager: RESTManager, attrs: Dict[str, Any], *, created_from_list: bool = False, lazy: bool = False)#

Bases: RESTObject

Parameters:
  • manager (RESTManager) –

  • attrs (Dict[str, Any]) –

  • created_from_list (bool) –

  • lazy (bool) –

class gitlab.v4.objects.GroupMergeRequestManager(gl: Gitlab, parent: RESTObject | None = None)#

Bases: ListMixin, RESTManager

Object listing filters

  • state

  • order_by

  • sort

  • milestone

  • view

  • labels

  • created_after

  • created_before

  • updated_after

  • updated_before

  • scope

  • author_id

  • assignee_id

  • approver_ids

  • approved_by_ids

  • my_reaction_emoji

  • source_branch

  • target_branch

  • search

  • wip

Object Creation

Object update

Parameters:
class gitlab.v4.objects.GroupMilestone(manager: RESTManager, attrs: Dict[str, Any], *, created_from_list: bool = False, lazy: bool = False)#

Bases: SaveMixin, ObjectDeleteMixin, RESTObject

Parameters:
  • manager (RESTManager) –

  • attrs (Dict[str, Any]) –

  • created_from_list (bool) –

  • lazy (bool) –

issues(**kwargs: Any) RESTObjectList#

List issues related to this milestone.

Parameters:
  • all – If True, return all the items, without pagination

  • per_page – Number of items to retrieve per request

  • page – ID of the page to return (starts with page 1)

  • **kwargs (Any) – Extra options to send to the server (e.g. sudo)

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabListError – If the list could not be retrieved

Returns:

The list of issues

Return type:

RESTObjectList

merge_requests(**kwargs: Any) RESTObjectList#

List the merge requests related to this milestone.

Parameters:
  • all – If True, return all the items, without pagination

  • per_page – Number of items to retrieve per request

  • page – ID of the page to return (starts with page 1)

  • **kwargs (Any) – Extra options to send to the server (e.g. sudo)

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabListError – If the list could not be retrieved

Returns:

The list of merge requests

Return type:

RESTObjectList

class gitlab.v4.objects.GroupMilestoneManager(gl: Gitlab, parent: RESTObject | None = None)#

Bases: CRUDMixin, RESTManager

Object listing filters

  • iids

  • state

  • search

Object Creation

Required attributes for object create:

  • title

Optional attributes for object create:

  • description

  • due_date

  • start_date

Object update

Optional attributes for object update:

  • title

  • description

  • due_date

  • start_date

  • state_event

Parameters:
get(id: str | int, lazy: bool = False, **kwargs: Any) GroupMilestone#

Retrieve a single object.

Parameters:
  • id (str | int) – 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 (Any) – Extra options to send to the server (e.g. sudo)

Returns:

The generated RESTObject.

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabGetError – If the server cannot perform the request

Return type:

GroupMilestone

class gitlab.v4.objects.GroupNotificationSettings(manager: RESTManager, attrs: Dict[str, Any], *, created_from_list: bool = False, lazy: bool = False)#

Bases: NotificationSettings

Parameters:
  • manager (RESTManager) –

  • attrs (Dict[str, Any]) –

  • created_from_list (bool) –

  • lazy (bool) –

class gitlab.v4.objects.GroupNotificationSettingsManager(gl: Gitlab, parent: RESTObject | None = None)#

Bases: NotificationSettingsManager

Object Creation

Object update

Optional attributes for object update:

  • level

  • notification_email

  • new_note

  • new_issue

  • reopen_issue

  • close_issue

  • reassign_issue

  • new_merge_request

  • reopen_merge_request

  • close_merge_request

  • reassign_merge_request

  • merge_merge_request

Parameters:
get(**kwargs: Any) GroupNotificationSettings#

Retrieve a single object.

Parameters:

**kwargs (Any) – Extra options to send to the server (e.g. sudo)

Returns:

The generated RESTObject

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabGetError – If the server cannot perform the request

Return type:

GroupNotificationSettings

class gitlab.v4.objects.GroupPackage(manager: RESTManager, attrs: Dict[str, Any], *, created_from_list: bool = False, lazy: bool = False)#

Bases: RESTObject

Parameters:
  • manager (RESTManager) –

  • attrs (Dict[str, Any]) –

  • created_from_list (bool) –

  • lazy (bool) –

class gitlab.v4.objects.GroupPackageManager(gl: Gitlab, parent: RESTObject | None = None)#

Bases: ListMixin, RESTManager

Object listing filters

  • exclude_subgroups

  • order_by

  • sort

  • package_type

  • package_name

Object Creation

Object update

Parameters:
class gitlab.v4.objects.GroupProject(manager: RESTManager, attrs: Dict[str, Any], *, created_from_list: bool = False, lazy: bool = False)#

Bases: RESTObject

Parameters:
  • manager (RESTManager) –

  • attrs (Dict[str, Any]) –

  • created_from_list (bool) –

  • lazy (bool) –

class gitlab.v4.objects.GroupProjectManager(gl: Gitlab, parent: RESTObject | None = None)#

Bases: ListMixin, RESTManager

Object listing filters

  • archived

  • visibility

  • order_by

  • sort

  • search

  • simple

  • owned

  • starred

  • with_custom_attributes

  • include_subgroups

  • with_issues_enabled

  • with_merge_requests_enabled

  • with_shared

  • min_access_level

  • with_security_reports

Object Creation

Object update

Parameters:
class gitlab.v4.objects.GroupPushRules(manager: RESTManager, attrs: Dict[str, Any], *, created_from_list: bool = False, lazy: bool = False)#

Bases: SaveMixin, ObjectDeleteMixin, RESTObject

Parameters:
  • manager (RESTManager) –

  • attrs (Dict[str, Any]) –

  • created_from_list (bool) –

  • lazy (bool) –

class gitlab.v4.objects.GroupPushRulesManager(gl: Gitlab, parent: RESTObject | None = None)#

Bases: GetWithoutIdMixin, CreateMixin, UpdateMixin, DeleteMixin, RESTManager

Object Creation

Optional attributes for object create:

  • deny_delete_tag

  • member_check

  • prevent_secrets

  • commit_message_regex

  • commit_message_negative_regex

  • branch_name_regex

  • author_email_regex

  • file_name_regex

  • max_file_size

  • commit_committer_check

  • reject_unsigned_commits

Object update

Optional attributes for object update:

  • deny_delete_tag

  • member_check

  • prevent_secrets

  • commit_message_regex

  • commit_message_negative_regex

  • branch_name_regex

  • author_email_regex

  • file_name_regex

  • max_file_size

  • commit_committer_check

  • reject_unsigned_commits

Parameters:
get(**kwargs: Any) GroupPushRules#

Retrieve a single object.

Parameters:

**kwargs (Any) – Extra options to send to the server (e.g. sudo)

Returns:

The generated RESTObject

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabGetError – If the server cannot perform the request

Return type:

GroupPushRules

class gitlab.v4.objects.GroupRegistryRepositoryManager(gl: Gitlab, parent: RESTObject | None = None)#

Bases: ListMixin, RESTManager

Object Creation

Object update

Parameters:
class gitlab.v4.objects.GroupRunner(manager: RESTManager, attrs: Dict[str, Any], *, created_from_list: bool = False, lazy: bool = False)#

Bases: RESTObject

Parameters:
  • manager (RESTManager) –

  • attrs (Dict[str, Any]) –

  • created_from_list (bool) –

  • lazy (bool) –

class gitlab.v4.objects.GroupRunnerManager(gl: Gitlab, parent: RESTObject | None = None)#

Bases: ListMixin, RESTManager

Object listing filters

  • scope

  • tag_list

Object Creation

Required attributes for object create:

  • runner_id

Object update

Parameters:

Bases: ObjectDeleteMixin, RESTObject

Parameters:
  • manager (RESTManager) –

  • attrs (Dict[str, Any]) –

  • created_from_list (bool) –

  • lazy (bool) –

class gitlab.v4.objects.GroupSAMLGroupLinkManager(gl: Gitlab, parent: RESTObject | None = None)#

Bases: NoUpdateMixin, RESTManager

Object Creation

Required attributes for object create:

  • saml_group_name

  • access_level

Object update

Parameters:
get(id: str | int, lazy: bool = False, **kwargs: Any) GroupSAMLGroupLink#

Retrieve a single object.

Parameters:
  • id (str | int) – 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 (Any) – Extra options to send to the server (e.g. sudo)

Returns:

The generated RESTObject.

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabGetError – If the server cannot perform the request

Return type:

GroupSAMLGroupLink

class gitlab.v4.objects.GroupSubgroup(manager: RESTManager, attrs: Dict[str, Any], *, created_from_list: bool = False, lazy: bool = False)#

Bases: RESTObject

Parameters:
  • manager (RESTManager) –

  • attrs (Dict[str, Any]) –

  • created_from_list (bool) –

  • lazy (bool) –

class gitlab.v4.objects.GroupSubgroupManager(gl: Gitlab, parent: RESTObject | None = None)#

Bases: ListMixin, RESTManager

Object listing filters

  • skip_groups

  • all_available

  • search

  • order_by

  • sort

  • statistics

  • owned

  • with_custom_attributes

  • min_access_level

Object Creation

Object update

Parameters:
class gitlab.v4.objects.GroupVariable(manager: RESTManager, attrs: Dict[str, Any], *, created_from_list: bool = False, lazy: bool = False)#

Bases: SaveMixin, ObjectDeleteMixin, RESTObject

Parameters:
  • manager (RESTManager) –

  • attrs (Dict[str, Any]) –

  • created_from_list (bool) –

  • lazy (bool) –

class gitlab.v4.objects.GroupVariableManager(gl: Gitlab, parent: RESTObject | None = None)#

Bases: CRUDMixin, RESTManager

Object Creation

Required attributes for object create:

  • key

  • value

Optional attributes for object create:

  • protected

  • variable_type

  • masked

Object update

Required attributes for object update:

  • key

  • value

Optional attributes for object update:

  • protected

  • variable_type

  • masked

Parameters:
get(id: str | int, lazy: bool = False, **kwargs: Any) GroupVariable#

Retrieve a single object.

Parameters:
  • id (str | int) – 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 (Any) – Extra options to send to the server (e.g. sudo)

Returns:

The generated RESTObject.

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabGetError – If the server cannot perform the request

Return type:

GroupVariable

class gitlab.v4.objects.GroupWiki(manager: RESTManager, attrs: Dict[str, Any], *, created_from_list: bool = False, lazy: bool = False)#

Bases: SaveMixin, ObjectDeleteMixin, UploadMixin, RESTObject

Parameters:
  • manager (RESTManager) –

  • attrs (Dict[str, Any]) –

  • created_from_list (bool) –

  • lazy (bool) –

class gitlab.v4.objects.GroupWikiManager(gl: Gitlab, parent: RESTObject | None = None)#

Bases: CRUDMixin, RESTManager

Object listing filters

  • with_content

Object Creation

Required attributes for object create:

  • title

  • content

Optional attributes for object create:

  • format

Object update

Optional attributes for object update:

  • title

  • content

  • format

Parameters:
get(id: str | int, lazy: bool = False, **kwargs: Any) GroupWiki#

Retrieve a single object.

Parameters:
  • id (str | int) – 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 (Any) – Extra options to send to the server (e.g. sudo)

Returns:

The generated RESTObject.

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabGetError – If the server cannot perform the request

Return type:

GroupWiki

class gitlab.v4.objects.Hook(manager: RESTManager, attrs: Dict[str, Any], *, created_from_list: bool = False, lazy: bool = False)#

Bases: ObjectDeleteMixin, RESTObject

Parameters:
  • manager (RESTManager) –

  • attrs (Dict[str, Any]) –

  • created_from_list (bool) –

  • lazy (bool) –

class gitlab.v4.objects.HookManager(gl: Gitlab, parent: RESTObject | None = None)#

Bases: NoUpdateMixin, RESTManager

Object Creation

Required attributes for object create:

  • url

Object update

Parameters:
get(id: str | int, lazy: bool = False, **kwargs: Any) Hook#

Retrieve a single object.

Parameters:
  • id (str | int) – 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 (Any) – Extra options to send to the server (e.g. sudo)

Returns:

The generated RESTObject.

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabGetError – If the server cannot perform the request

Return type:

Hook

class gitlab.v4.objects.Issue(manager: RESTManager, attrs: Dict[str, Any], *, created_from_list: bool = False, lazy: bool = False)#

Bases: RESTObject

Parameters:
  • manager (RESTManager) –

  • attrs (Dict[str, Any]) –

  • created_from_list (bool) –

  • lazy (bool) –

class gitlab.v4.objects.IssueManager(gl: Gitlab, parent: RESTObject | None = None)#

Bases: RetrieveMixin, RESTManager

Object listing filters

  • state

  • labels

  • milestone

  • scope

  • author_id

  • iteration_id

  • assignee_id

  • my_reaction_emoji

  • iids

  • order_by

  • sort

  • search

  • created_after

  • created_before

  • updated_after

  • updated_before

Object Creation

Object update

Parameters:
get(id: str | int, lazy: bool = False, **kwargs: Any) Issue#

Retrieve a single object.

Parameters:
  • id (str | int) – 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 (Any) – Extra options to send to the server (e.g. sudo)

Returns:

The generated RESTObject.

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabGetError – If the server cannot perform the request

Return type:

Issue

class gitlab.v4.objects.IssuesStatistics(manager: RESTManager, attrs: Dict[str, Any], *, created_from_list: bool = False, lazy: bool = False)#

Bases: RefreshMixin, RESTObject

Parameters:
  • manager (RESTManager) –

  • attrs (Dict[str, Any]) –

  • created_from_list (bool) –

  • lazy (bool) –

class gitlab.v4.objects.IssuesStatisticsManager(gl: Gitlab, parent: RESTObject | None = None)#

Bases: GetWithoutIdMixin, RESTManager

Object listing filters

  • iids

Object Creation

Object update

Parameters:
get(**kwargs: Any) IssuesStatistics#

Retrieve a single object.

Parameters:

**kwargs (Any) – Extra options to send to the server (e.g. sudo)

Returns:

The generated RESTObject

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabGetError – If the server cannot perform the request

Return type:

IssuesStatistics

class gitlab.v4.objects.Key(manager: RESTManager, attrs: Dict[str, Any], *, created_from_list: bool = False, lazy: bool = False)#

Bases: RESTObject

Parameters:
  • manager (RESTManager) –

  • attrs (Dict[str, Any]) –

  • created_from_list (bool) –

  • lazy (bool) –

class gitlab.v4.objects.KeyManager(gl: Gitlab, parent: RESTObject | None = None)#

Bases: GetMixin, RESTManager

Object Creation

Object update

Parameters:
get(id: int | str | None = None, lazy: bool = False, **kwargs: Any) Key#

Retrieve a single object.

Parameters:
  • id (int | str | None) – 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 (Any) – Extra options to send to the server (e.g. sudo)

Returns:

The generated RESTObject.

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabGetError – If the server cannot perform the request

Return type:

Key

class gitlab.v4.objects.LDAPGroup(manager: RESTManager, attrs: Dict[str, Any], *, created_from_list: bool = False, lazy: bool = False)#

Bases: RESTObject

Parameters:
  • manager (RESTManager) –

  • attrs (Dict[str, Any]) –

  • created_from_list (bool) –

  • lazy (bool) –

class gitlab.v4.objects.LDAPGroupManager(gl: Gitlab, parent: RESTObject | None = None)#

Bases: RESTManager

Object listing filters

  • search

  • provider

Object Creation

Object update

Parameters:
list(**kwargs: Any) List[LDAPGroup] | RESTObjectList#

Retrieve a list of objects.

Parameters:
  • all – If True, return all the items, without pagination

  • per_page – Number of items to retrieve per request

  • page – ID of the page to return (starts with page 1)

  • iterator – If set to True and no pagination option is defined, return a generator instead of a list

  • **kwargs (Any) – Extra options to send to the server (e.g. sudo)

Returns:

The list of objects, or a generator if iterator is True

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabListError – If the server cannot perform the request

Return type:

List[LDAPGroup] | RESTObjectList

class gitlab.v4.objects.License(manager: RESTManager, attrs: Dict[str, Any], *, created_from_list: bool = False, lazy: bool = False)#

Bases: RESTObject

Parameters:
  • manager (RESTManager) –

  • attrs (Dict[str, Any]) –

  • created_from_list (bool) –

  • lazy (bool) –

class gitlab.v4.objects.LicenseManager(gl: Gitlab, parent: RESTObject | None = None)#

Bases: RetrieveMixin, RESTManager

Object listing filters

  • popular

Object Creation

Object update

Parameters:
get(id: str | int, lazy: bool = False, **kwargs: Any) License#

Retrieve a single object.

Parameters:
  • id (str | int) – 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 (Any) – Extra options to send to the server (e.g. sudo)

Returns:

The generated RESTObject.

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabGetError – If the server cannot perform the request

Return type:

License

class gitlab.v4.objects.MergeRequest(manager: RESTManager, attrs: Dict[str, Any], *, created_from_list: bool = False, lazy: bool = False)#

Bases: RESTObject

Parameters:
  • manager (RESTManager) –

  • attrs (Dict[str, Any]) –

  • created_from_list (bool) –

  • lazy (bool) –

class gitlab.v4.objects.MergeRequestManager(gl: Gitlab, parent: RESTObject | None = None)#

Bases: ListMixin, RESTManager

Object listing filters

  • state

  • order_by

  • sort

  • milestone

  • view

  • labels

  • with_labels_details

  • with_merge_status_recheck

  • created_after

  • created_before

  • updated_after

  • updated_before

  • scope

  • author_id

  • author_username

  • assignee_id

  • approver_ids

  • approved_by_ids

  • reviewer_id

  • reviewer_username

  • my_reaction_emoji

  • source_branch

  • target_branch

  • search

  • in

  • wip

  • not

  • environment

  • deployed_before

  • deployed_after

Object Creation

Object update

Parameters:
class gitlab.v4.objects.Namespace(manager: RESTManager, attrs: Dict[str, Any], *, created_from_list: bool = False, lazy: bool = False)#

Bases: RESTObject

Parameters:
  • manager (RESTManager) –

  • attrs (Dict[str, Any]) –

  • created_from_list (bool) –

  • lazy (bool) –

class gitlab.v4.objects.NamespaceManager(gl: Gitlab, parent: RESTObject | None = None)#

Bases: RetrieveMixin, RESTManager

Object listing filters

  • search

Object Creation

Object update

Parameters:
exists(namespace: str, **kwargs: Any) Namespace#

Get existence of a namespace by path.

Parameters:
  • namespace (str) – The path to the namespace.

  • **kwargs (Any) – Extra options to send to the server (e.g. sudo)

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabGetError – If the server failed to perform the request

Returns:

Data on namespace existence returned from the server.

Return type:

Namespace

get(id: str | int, lazy: bool = False, **kwargs: Any) Namespace#

Retrieve a single object.

Parameters:
  • id (str | int) – 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 (Any) – Extra options to send to the server (e.g. sudo)

Returns:

The generated RESTObject.

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabGetError – If the server cannot perform the request

Return type:

Namespace

class gitlab.v4.objects.NotificationSettings(manager: RESTManager, attrs: Dict[str, Any], *, created_from_list: bool = False, lazy: bool = False)#

Bases: SaveMixin, RESTObject

Parameters:
  • manager (RESTManager) –

  • attrs (Dict[str, Any]) –

  • created_from_list (bool) –

  • lazy (bool) –

class gitlab.v4.objects.NotificationSettingsManager(gl: Gitlab, parent: RESTObject | None = None)#

Bases: GetWithoutIdMixin, UpdateMixin, RESTManager

Object Creation

Object update

Optional attributes for object update:

  • level

  • notification_email

  • new_note

  • new_issue

  • reopen_issue

  • close_issue

  • reassign_issue

  • new_merge_request

  • reopen_merge_request

  • close_merge_request

  • reassign_merge_request

  • merge_merge_request

Parameters:
get(**kwargs: Any) NotificationSettings#

Retrieve a single object.

Parameters:

**kwargs (Any) – Extra options to send to the server (e.g. sudo)

Returns:

The generated RESTObject

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabGetError – If the server cannot perform the request

Return type:

NotificationSettings

class gitlab.v4.objects.PagesDomain(manager: RESTManager, attrs: Dict[str, Any], *, created_from_list: bool = False, lazy: bool = False)#

Bases: RESTObject

Parameters:
  • manager (RESTManager) –

  • attrs (Dict[str, Any]) –

  • created_from_list (bool) –

  • lazy (bool) –

class gitlab.v4.objects.PagesDomainManager(gl: Gitlab, parent: RESTObject | None = None)#

Bases: ListMixin, RESTManager

Object Creation

Object update

Parameters:
class gitlab.v4.objects.PersonalAccessToken(manager: RESTManager, attrs: Dict[str, Any], *, created_from_list: bool = False, lazy: bool = False)#

Bases: ObjectDeleteMixin, ObjectRotateMixin, RESTObject

Parameters:
  • manager (RESTManager) –

  • attrs (Dict[str, Any]) –

  • created_from_list (bool) –

  • lazy (bool) –

class gitlab.v4.objects.PersonalAccessTokenManager(gl: Gitlab, parent: RESTObject | None = None)#

Bases: DeleteMixin, RetrieveMixin, RotateMixin, RESTManager

Object listing filters

  • user_id

Object Creation

Object update

Parameters:
get(id: str | int, lazy: bool = False, **kwargs: Any) PersonalAccessToken#

Retrieve a single object.

Parameters:
  • id (str | int) – 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 (Any) – Extra options to send to the server (e.g. sudo)

Returns:

The generated RESTObject.

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabGetError – If the server cannot perform the request

Return type:

PersonalAccessToken

class gitlab.v4.objects.Project(manager: RESTManager, attrs: Dict[str, Any], *, created_from_list: bool = False, lazy: bool = False)#

Bases: RefreshMixin, SaveMixin, ObjectDeleteMixin, RepositoryMixin, UploadMixin, RESTObject

Parameters:
  • manager (RESTManager) –

  • attrs (Dict[str, Any]) –

  • created_from_list (bool) –

  • lazy (bool) –

access_tokens: ProjectAccessTokenManager#
accessrequests: ProjectAccessRequestManager#
additionalstatistics: ProjectAdditionalStatisticsManager#
approvalrules: ProjectApprovalRuleManager#
approvals: ProjectApprovalManager#
archive(**kwargs: Any) None#

Archive a project.

Parameters:

**kwargs (Any) – Extra options to send to the server (e.g. sudo)

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabCreateError – If the server failed to perform the request

Return type:

None

artifacts: ProjectArtifactManager#
audit_events: ProjectAuditEventManager#
badges: ProjectBadgeManager#
boards: ProjectBoardManager#
branches: ProjectBranchManager#
ci_lint: ProjectCiLintManager#
clusters: ProjectClusterManager#
commits: ProjectCommitManager#
create_fork_relation(forked_from_id: int, **kwargs: Any) None#

Create a forked from/to relation between existing projects.

Parameters:
  • forked_from_id (int) – The ID of the project that was forked from

  • **kwargs (Any) – Extra options to send to the server (e.g. sudo)

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabCreateError – If the relation could not be created

Return type:

None

customattributes: ProjectCustomAttributeManager#
delete_fork_relation(**kwargs: Any) None#

Delete a forked relation between existing projects.

Parameters:

**kwargs (Any) – Extra options to send to the server (e.g. sudo)

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabDeleteError – If the server failed to perform the request

Return type:

None

deployments: ProjectDeploymentManager#
deploytokens: ProjectDeployTokenManager#
environments: ProjectEnvironmentManager#
events: ProjectEventManager#
exports: ProjectExportManager#
files: ProjectFileManager#
forks: ProjectForkManager#
generic_packages: GenericPackageManager#
groups: ProjectGroupManager#
hooks: ProjectHookManager#
housekeeping(**kwargs: Any) None#

Start the housekeeping task.

Parameters:

**kwargs (Any) – Extra options to send to the server (e.g. sudo)

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabHousekeepingError – If the server failed to perform the request

Return type:

None

imports: ProjectImportManager#
integrations: ProjectIntegrationManager#
invitations: ProjectInvitationManager#
issues: ProjectIssueManager#
issues_statistics: ProjectIssuesStatisticsManager#
iterations: ProjectIterationManager#
job_token_scope: ProjectJobTokenScopeManager#
jobs: ProjectJobManager#
keys: ProjectKeyManager#
labels: ProjectLabelManager#
languages(**kwargs: Any) Dict[str, Any] | Response#

Get languages used in the project with percentage value.

Parameters:

**kwargs (Any) – Extra options to send to the server (e.g. sudo)

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabGetError – If the server failed to perform the request

Return type:

Dict[str, Any] | Response

members: ProjectMemberManager#
members_all: ProjectMemberAllManager#
merge_trains: ProjectMergeTrainManager#
mergerequests: ProjectMergeRequestManager#
milestones: ProjectMilestoneManager#
mirror_pull(**kwargs: Any) None#

Start the pull mirroring process for the project.

Parameters:

**kwargs (Any) – Extra options to send to the server (e.g. sudo)

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabCreateError – If the server failed to perform the request

Return type:

None

mirror_pull_details(**kwargs: Any) Dict[str, Any]#

Get a project’s pull mirror details.

Introduced in GitLab 15.5.

Parameters:

**kwargs (Any) – Extra options to send to the server (e.g. sudo)

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabGetError – If the server failed to perform the request

Returns:

dict of the parsed json returned by the server

Return type:

Dict[str, Any]

notes: ProjectNoteManager#
notificationsettings: ProjectNotificationSettingsManager#
packages: ProjectPackageManager#
pagesdomains: ProjectPagesDomainManager#
pipelines: ProjectPipelineManager#
pipelineschedules: ProjectPipelineScheduleManager#
protected_environments: ProjectProtectedEnvironmentManager#
protectedbranches: ProjectProtectedBranchManager#
protectedtags: ProjectProtectedTagManager#
pushrules: ProjectPushRulesManager#
releases: ProjectReleaseManager#
remote_mirrors: ProjectRemoteMirrorManager#
repositories: ProjectRegistryRepositoryManager#
resource_groups: ProjectResourceGroupManager#
restore(**kwargs: Any) None#

Restore a project marked for deletion.

Parameters:

**kwargs (Any) – Extra options to send to the server (e.g. sudo)

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabRestoreError – If the server failed to perform the request

Return type:

None

runners: ProjectRunnerManager#
search(scope: str, search: str, **kwargs: Any) GitlabList | List[Dict[str, Any]]#

Search the project resources matching the provided string.’

Parameters:
  • scope (str) – Scope of the search

  • search (str) – Search string

  • **kwargs (Any) – Extra options to send to the server (e.g. sudo)

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabSearchError – If the server failed to perform the request

Returns:

A list of dicts describing the resources found.

Return type:

GitlabList | List[Dict[str, Any]]

secure_files: ProjectSecureFileManager#
services: ProjectServiceManager#
share(group_id: int, group_access: int, expires_at: str | None = None, **kwargs: Any) None#

Share the project with a group.

Parameters:
  • group_id (int) – ID of the group.

  • group_access (int) – Access level for the group.

  • **kwargs (Any) – Extra options to send to the server (e.g. sudo)

  • expires_at (str | None) –

  • **kwargs

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabCreateError – If the server failed to perform the request

Return type:

None

snapshot(wiki: bool = False, streamed: bool = False, action: Callable[[bytes], None] | None = None, chunk_size: int = 1024, *, iterator: bool = False, **kwargs: Any) bytes | Iterator[Any] | None#

Return a snapshot of the repository.

Parameters:
  • wiki (bool) – If True return the wiki repository

  • streamed (bool) – If True the data will be processed by chunks of chunk_size and each chunk is passed to action for treatment.

  • iterator (bool) – If True directly return the underlying response iterator

  • action (Callable[[bytes], None] | None) – Callable responsible of dealing with chunk of data

  • chunk_size (int) – Size of each chunk

  • **kwargs (Any) – Extra options to send to the server (e.g. sudo)

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabGetError – If the content could not be retrieved

Returns:

The uncompressed tar archive of the repository

Return type:

bytes | Iterator[Any] | None

snippets: ProjectSnippetManager#
star(**kwargs: Any) None#

Star a project.

Parameters:

**kwargs (Any) – Extra options to send to the server (e.g. sudo)

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabCreateError – If the server failed to perform the request

Return type:

None

storage: ProjectStorageManager#
tags: ProjectTagManager#
transfer(to_namespace: int | str, **kwargs: Any) None#

Transfer a project to the given namespace ID

Parameters:
  • to_namespace (int | str) – ID or path of the namespace to transfer the

  • to (project) –

  • **kwargs (Any) – Extra options to send to the server (e.g. sudo)

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabTransferProjectError – If the project could not be transferred

Return type:

None

trigger_pipeline(ref: str, token: str, variables: Dict[str, Any] | None = None, **kwargs: Any) ProjectPipeline#

Trigger a CI build.

See https://gitlab.com/help/ci/triggers/README.md#trigger-a-build

Parameters:
  • ref (str) – Commit to build; can be a branch name or a tag

  • token (str) – The trigger token

  • variables (Dict[str, Any] | None) – Variables passed to the build script

  • **kwargs (Any) – Extra options to send to the server (e.g. sudo)

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabCreateError – If the server failed to perform the request

Return type:

ProjectPipeline

triggers: ProjectTriggerManager#
unarchive(**kwargs: Any) None#

Unarchive a project.

Parameters:

**kwargs (Any) – Extra options to send to the server (e.g. sudo)

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabDeleteError – If the server failed to perform the request

Return type:

None

unshare(group_id: int, **kwargs: Any) None#

Delete a shared project link within a group.

Parameters:
  • group_id (int) – ID of the group.

  • **kwargs (Any) – Extra options to send to the server (e.g. sudo)

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabDeleteError – If the server failed to perform the request

Return type:

None

unstar(**kwargs: Any) None#

Unstar a project.

Parameters:

**kwargs (Any) – Extra options to send to the server (e.g. sudo)

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabDeleteError – If the server failed to perform the request

Return type:

None

users: ProjectUserManager#
variables: ProjectVariableManager#
wikis: ProjectWikiManager#
class gitlab.v4.objects.ProjectAccessRequest(manager: RESTManager, attrs: Dict[str, Any], *, created_from_list: bool = False, lazy: bool = False)#

Bases: AccessRequestMixin, ObjectDeleteMixin, RESTObject

Parameters:
  • manager (RESTManager) –

  • attrs (Dict[str, Any]) –

  • created_from_list (bool) –

  • lazy (bool) –

class gitlab.v4.objects.ProjectAccessRequestManager(gl: Gitlab, parent: RESTObject | None = None)#

Bases: ListMixin, CreateMixin, DeleteMixin, RESTManager

Object Creation

Object update

Parameters:
class gitlab.v4.objects.ProjectAccessToken(manager: RESTManager, attrs: Dict[str, Any], *, created_from_list: bool = False, lazy: bool = False)#

Bases: ObjectDeleteMixin, ObjectRotateMixin, RESTObject

Parameters:
  • manager (RESTManager) –

  • attrs (Dict[str, Any]) –

  • created_from_list (bool) –

  • lazy (bool) –

class gitlab.v4.objects.ProjectAccessTokenManager(gl: Gitlab, parent: RESTObject | None = None)#

Bases: CreateMixin, DeleteMixin, RetrieveMixin, RotateMixin, RESTManager

Object Creation

Required attributes for object create:

  • name

  • scopes

Optional attributes for object create:

  • access_level

  • expires_at

Object update

Parameters:
get(id: str | int, lazy: bool = False, **kwargs: Any) ProjectAccessToken#

Retrieve a single object.

Parameters:
  • id (str | int) – 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 (Any) – Extra options to send to the server (e.g. sudo)

Returns:

The generated RESTObject.

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabGetError – If the server cannot perform the request

Return type:

ProjectAccessToken

class gitlab.v4.objects.ProjectAdditionalStatistics(manager: RESTManager, attrs: Dict[str, Any], *, created_from_list: bool = False, lazy: bool = False)#

Bases: RefreshMixin, RESTObject

Parameters:
  • manager (RESTManager) –

  • attrs (Dict[str, Any]) –

  • created_from_list (bool) –

  • lazy (bool) –

class gitlab.v4.objects.ProjectAdditionalStatisticsManager(gl: Gitlab, parent: RESTObject | None = None)#

Bases: GetWithoutIdMixin, RESTManager

Object Creation

Object update

Parameters:
get(**kwargs: Any) ProjectAdditionalStatistics#

Retrieve a single object.

Parameters:

**kwargs (Any) – Extra options to send to the server (e.g. sudo)

Returns:

The generated RESTObject

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabGetError – If the server cannot perform the request

Return type:

ProjectAdditionalStatistics

class gitlab.v4.objects.ProjectApproval(manager: RESTManager, attrs: Dict[str, Any], *, created_from_list: bool = False, lazy: bool = False)#

Bases: SaveMixin, RESTObject

Parameters:
  • manager (RESTManager) –

  • attrs (Dict[str, Any]) –

  • created_from_list (bool) –

  • lazy (bool) –

class gitlab.v4.objects.ProjectApprovalManager(gl: Gitlab, parent: RESTObject | None = None)#

Bases: GetWithoutIdMixin, UpdateMixin, RESTManager

Object Creation

Object update

Optional attributes for object update:

  • approvals_before_merge

  • reset_approvals_on_push

  • disable_overriding_approvers_per_merge_request

  • merge_requests_author_approval

  • merge_requests_disable_committers_approval

Parameters:
get(**kwargs: Any) ProjectApproval#

Retrieve a single object.

Parameters:

**kwargs (Any) – Extra options to send to the server (e.g. sudo)

Returns:

The generated RESTObject

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabGetError – If the server cannot perform the request

Return type:

ProjectApproval

class gitlab.v4.objects.ProjectApprovalRule(manager: RESTManager, attrs: Dict[str, Any], *, created_from_list: bool = False, lazy: bool = False)#

Bases: SaveMixin, ObjectDeleteMixin, RESTObject

Parameters:
  • manager (RESTManager) –

  • attrs (Dict[str, Any]) –

  • created_from_list (bool) –

  • lazy (bool) –

class gitlab.v4.objects.ProjectApprovalRuleManager(gl: Gitlab, parent: RESTObject | None = None)#

Bases: ListMixin, CreateMixin, UpdateMixin, DeleteMixin, RESTManager

Object Creation

Required attributes for object create:

  • name

  • approvals_required

Optional attributes for object create:

  • user_ids

  • group_ids

  • protected_branch_ids

  • usernames

Object update

Parameters:
class gitlab.v4.objects.ProjectArtifact(manager: RESTManager, attrs: Dict[str, Any], *, created_from_list: bool = False, lazy: bool = False)#

Bases: RESTObject

Dummy object to manage custom actions on artifacts

Parameters:
  • manager (RESTManager) –

  • attrs (Dict[str, Any]) –

  • created_from_list (bool) –

  • lazy (bool) –

class gitlab.v4.objects.ProjectArtifactManager(gl: Gitlab, parent: RESTObject | None = None)#

Bases: RESTManager

Object Creation

Object update

Parameters:
delete(**kwargs: Any) None#

Delete the project’s artifacts on the server.

Parameters:

**kwargs (Any) – Extra options to send to the server (e.g. sudo)

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabDeleteError – If the server cannot perform the request

Return type:

None

download(ref_name: str, job: str, streamed: bool = False, action: Callable[[bytes], None] | None = None, chunk_size: int = 1024, *, iterator: bool = False, **kwargs: Any) bytes | Iterator[Any] | None#

Get the job artifacts archive from a specific tag or branch.

Parameters:
  • ref_name (str) – Branch or tag name in repository. HEAD or SHA references are not supported.

  • job (str) – The name of the job.

  • job_token – Job token for multi-project pipeline triggers.

  • streamed (bool) – If True the data will be processed by chunks of chunk_size and each chunk is passed to action for treatment

  • iterator (bool) – If True directly return the underlying response iterator

  • action (Callable[[bytes], None] | None) – Callable responsible of dealing with chunk of data

  • chunk_size (int) – Size of each chunk

  • **kwargs (Any) – Extra options to send to the server (e.g. sudo)

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabGetError – If the artifacts could not be retrieved

Returns:

The artifacts if streamed is False, None otherwise.

Return type:

bytes | Iterator[Any] | None

raw(ref_name: str, artifact_path: str, job: str, streamed: bool = False, action: Callable[[bytes], None] | None = None, chunk_size: int = 1024, *, iterator: bool = False, **kwargs: Any) bytes | Iterator[Any] | None#

Download a single artifact file from a specific tag or branch from within the job’s artifacts archive.

Parameters:
  • ref_name (str) – Branch or tag name in repository. HEAD or SHA references are not supported.

  • artifact_path (str) – Path to a file inside the artifacts archive.

  • job (str) – The name of the job.

  • streamed (bool) – If True the data will be processed by chunks of chunk_size and each chunk is passed to action for treatment

  • iterator (bool) – If True directly return the underlying response iterator

  • action (Callable[[bytes], None] | None) – Callable responsible of dealing with chunk of data

  • chunk_size (int) – Size of each chunk

  • **kwargs (Any) – Extra options to send to the server (e.g. sudo)

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabGetError – If the artifacts could not be retrieved

Returns:

The artifact if streamed is False, None otherwise.

Return type:

bytes | Iterator[Any] | None

class gitlab.v4.objects.ProjectAudit(manager: RESTManager, attrs: Dict[str, Any], *, created_from_list: bool = False, lazy: bool = False)#

Bases: ProjectAuditEvent

Parameters:
  • manager (RESTManager) –

  • attrs (Dict[str, Any]) –

  • created_from_list (bool) –

  • lazy (bool) –

class gitlab.v4.objects.ProjectAuditEvent(manager: RESTManager, attrs: Dict[str, Any], *, created_from_list: bool = False, lazy: bool = False)#

Bases: RESTObject

Parameters:
  • manager (RESTManager) –

  • attrs (Dict[str, Any]) –

  • created_from_list (bool) –

  • lazy (bool) –

class gitlab.v4.objects.ProjectAuditEventManager(gl: Gitlab, parent: RESTObject | None = None)#

Bases: RetrieveMixin, RESTManager

Object listing filters

  • created_after

  • created_before

Object Creation

Object update

Parameters:
get(id: str | int, lazy: bool = False, **kwargs: Any) ProjectAuditEvent#

Retrieve a single object.

Parameters:
  • id (str | int) – 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 (Any) – Extra options to send to the server (e.g. sudo)

Returns:

The generated RESTObject.

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabGetError – If the server cannot perform the request

Return type:

ProjectAuditEvent

class gitlab.v4.objects.ProjectAuditManager(gl: Gitlab, parent: RESTObject | None = None)#

Bases: ProjectAuditEventManager

Object listing filters

  • created_after

  • created_before

Object Creation

Object update

Parameters:
class gitlab.v4.objects.ProjectBadge(manager: RESTManager, attrs: Dict[str, Any], *, created_from_list: bool = False, lazy: bool = False)#

Bases: SaveMixin, ObjectDeleteMixin, RESTObject

Parameters:
  • manager (RESTManager) –

  • attrs (Dict[str, Any]) –

  • created_from_list (bool) –

  • lazy (bool) –

class gitlab.v4.objects.ProjectBadgeManager(gl: Gitlab, parent: RESTObject | None = None)#

Bases: BadgeRenderMixin, CRUDMixin, RESTManager

Object Creation

Required attributes for object create:

  • link_url

  • image_url

Object update

Optional attributes for object update:

  • link_url

  • image_url

Parameters:
get(id: str | int, lazy: bool = False, **kwargs: Any) ProjectBadge#

Retrieve a single object.

Parameters:
  • id (str | int) – 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 (Any) – Extra options to send to the server (e.g. sudo)

Returns:

The generated RESTObject.

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabGetError – If the server cannot perform the request

Return type:

ProjectBadge

class gitlab.v4.objects.ProjectBoard(manager: RESTManager, attrs: Dict[str, Any], *, created_from_list: bool = False, lazy: bool = False)#

Bases: SaveMixin, ObjectDeleteMixin, RESTObject

Parameters:
  • manager (RESTManager) –

  • attrs (Dict[str, Any]) –

  • created_from_list (bool) –

  • lazy (bool) –

lists: ProjectBoardListManager#
class gitlab.v4.objects.ProjectBoardList(manager: RESTManager, attrs: Dict[str, Any], *, created_from_list: bool = False, lazy: bool = False)#

Bases: SaveMixin, ObjectDeleteMixin, RESTObject

Parameters:
  • manager (RESTManager) –

  • attrs (Dict[str, Any]) –

  • created_from_list (bool) –

  • lazy (bool) –

class gitlab.v4.objects.ProjectBoardListManager(gl: Gitlab, parent: RESTObject | None = None)#

Bases: CRUDMixin, RESTManager

Object Creation

Mutually exclusive attributes for object create:

  • label_id

  • assignee_id

  • milestone_id

Object update

Required attributes for object update:

  • position

Parameters:
get(id: str | int, lazy: bool = False, **kwargs: Any) ProjectBoardList#

Retrieve a single object.

Parameters:
  • id (str | int) – 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 (Any) – Extra options to send to the server (e.g. sudo)

Returns:

The generated RESTObject.

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabGetError – If the server cannot perform the request

Return type:

ProjectBoardList

class gitlab.v4.objects.ProjectBoardManager(gl: Gitlab, parent: RESTObject | None = None)#

Bases: CRUDMixin, RESTManager

Object Creation

Required attributes for object create:

  • name

Object update

Parameters:
get(id: str | int, lazy: bool = False, **kwargs: Any) ProjectBoard#

Retrieve a single object.

Parameters:
  • id (str | int) – 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 (Any) – Extra options to send to the server (e.g. sudo)

Returns:

The generated RESTObject.

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabGetError – If the server cannot perform the request

Return type:

ProjectBoard

class gitlab.v4.objects.ProjectBranch(manager: RESTManager, attrs: Dict[str, Any], *, created_from_list: bool = False, lazy: bool = False)#

Bases: ObjectDeleteMixin, RESTObject

Parameters:
  • manager (RESTManager) –

  • attrs (Dict[str, Any]) –

  • created_from_list (bool) –

  • lazy (bool) –

class gitlab.v4.objects.ProjectBranchManager(gl: Gitlab, parent: RESTObject | None = None)#

Bases: NoUpdateMixin, RESTManager

Object Creation

Required attributes for object create:

  • branch

  • ref

Object update

Parameters:
get(id: str | int, lazy: bool = False, **kwargs: Any) ProjectBranch#

Retrieve a single object.

Parameters:
  • id (str | int) – 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 (Any) – Extra options to send to the server (e.g. sudo)

Returns:

The generated RESTObject.

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabGetError – If the server cannot perform the request

Return type:

ProjectBranch

class gitlab.v4.objects.ProjectCiLint(manager: RESTManager, attrs: Dict[str, Any], *, created_from_list: bool = False, lazy: bool = False)#

Bases: RESTObject

Parameters:
  • manager (RESTManager) –

  • attrs (Dict[str, Any]) –

  • created_from_list (bool) –

  • lazy (bool) –

class gitlab.v4.objects.ProjectCiLintManager(gl: Gitlab, parent: RESTObject | None = None)#

Bases: GetWithoutIdMixin, CreateMixin, RESTManager

Object Creation

Required attributes for object create:

  • content

Optional attributes for object create:

  • dry_run

  • include_jobs

  • ref

Object update

Parameters:
get(**kwargs: Any) ProjectCiLint#

Retrieve a single object.

Parameters:

**kwargs (Any) – Extra options to send to the server (e.g. sudo)

Returns:

The generated RESTObject

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabGetError – If the server cannot perform the request

Return type:

ProjectCiLint

validate(*args: Any, **kwargs: Any) None#

Raise an error if the Project CI Lint results are not valid.

This is a custom python-gitlab method to wrap lint endpoints.

Parameters:
  • args (Any) –

  • kwargs (Any) –

Return type:

None

class gitlab.v4.objects.ProjectCluster(manager: RESTManager, attrs: Dict[str, Any], *, created_from_list: bool = False, lazy: bool = False)#

Bases: SaveMixin, ObjectDeleteMixin, RESTObject

Parameters:
  • manager (RESTManager) –

  • attrs (Dict[str, Any]) –

  • created_from_list (bool) –

  • lazy (bool) –

class gitlab.v4.objects.ProjectClusterManager(gl: Gitlab, parent: RESTObject | None = None)#

Bases: CRUDMixin, RESTManager

Object Creation

Required attributes for object create:

  • name

  • platform_kubernetes_attributes

Optional attributes for object create:

  • domain

  • enabled

  • managed

  • environment_scope

Object update

Optional attributes for object update:

  • name

  • domain

  • management_project_id

  • platform_kubernetes_attributes

  • environment_scope

Parameters:
create(data: Dict[str, Any] | None = None, **kwargs: Any) ProjectCluster#

Create a new object.

Parameters:
  • data (Dict[str, Any] | None) – Parameters to send to the server to create the resource

  • **kwargs (Any) – Extra options to send to the server (e.g. sudo or ‘ref_name’, ‘stage’, ‘name’, ‘all’)

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabCreateError – If the server cannot perform the request

Returns:

A new instance of the manage object class build with

the data sent by the server

Return type:

ProjectCluster

get(id: str | int, lazy: bool = False, **kwargs: Any) ProjectCluster#

Retrieve a single object.

Parameters:
  • id (str | int) – 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 (Any) – Extra options to send to the server (e.g. sudo)

Returns:

The generated RESTObject.

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabGetError – If the server cannot perform the request

Return type:

ProjectCluster

class gitlab.v4.objects.ProjectCommit(manager: RESTManager, attrs: Dict[str, Any], *, created_from_list: bool = False, lazy: bool = False)#

Bases: RESTObject

Parameters:
  • manager (RESTManager) –

  • attrs (Dict[str, Any]) –

  • created_from_list (bool) –

  • lazy (bool) –

cherry_pick(branch: str, **kwargs: Any) None#

Cherry-pick a commit into a branch.

Parameters:
  • branch (str) – Name of target branch

  • **kwargs (Any) – Extra options to send to the server (e.g. sudo)

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabCherryPickError – If the cherry-pick could not be performed

Return type:

None

comments: ProjectCommitCommentManager#
diff(**kwargs: Any) GitlabList | List[Dict[str, Any]]#

Generate the commit diff.

Parameters:

**kwargs (Any) – Extra options to send to the server (e.g. sudo)

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabGetError – If the diff could not be retrieved

Returns:

The changes done in this commit

Return type:

GitlabList | List[Dict[str, Any]]

discussions: ProjectCommitDiscussionManager#
merge_requests(**kwargs: Any) GitlabList | List[Dict[str, Any]]#

List the merge requests related to the commit.

Parameters:

**kwargs (Any) – Extra options to send to the server (e.g. sudo)

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabGetError – If the references could not be retrieved

Returns:

The merge requests related to the commit.

Return type:

GitlabList | List[Dict[str, Any]]

refs(type: str = 'all', **kwargs: Any) GitlabList | List[Dict[str, Any]]#

List the references the commit is pushed to.

Parameters:
  • type (str) – The scope of references (‘branch’, ‘tag’ or ‘all’)

  • **kwargs (Any) – Extra options to send to the server (e.g. sudo)

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabGetError – If the references could not be retrieved

Returns:

The references the commit is pushed to.

Return type:

GitlabList | List[Dict[str, Any]]

revert(branch: str, **kwargs: Any) Dict[str, Any] | Response#

Revert a commit on a given branch.

Parameters:
  • branch (str) – Name of target branch

  • **kwargs (Any) – Extra options to send to the server (e.g. sudo)

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabRevertError – If the revert could not be performed

Returns:

The new commit data (not a RESTObject)

Return type:

Dict[str, Any] | Response

signature(**kwargs: Any) Dict[str, Any] | Response#

Get the signature of the commit.

Parameters:

**kwargs (Any) – Extra options to send to the server (e.g. sudo)

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabGetError – If the signature could not be retrieved

Returns:

The commit’s signature data

Return type:

Dict[str, Any] | Response

statuses: ProjectCommitStatusManager#
class gitlab.v4.objects.ProjectCommitComment(manager: RESTManager, attrs: Dict[str, Any], *, created_from_list: bool = False, lazy: bool = False)#

Bases: RESTObject

Parameters:
  • manager (RESTManager) –

  • attrs (Dict[str, Any]) –

  • created_from_list (bool) –

  • lazy (bool) –

class gitlab.v4.objects.ProjectCommitCommentManager(gl: Gitlab, parent: RESTObject | None = None)#

Bases: ListMixin, CreateMixin, RESTManager

Object Creation

Required attributes for object create:

  • note

Optional attributes for object create:

  • path

  • line

  • line_type

Object update

Parameters:
class gitlab.v4.objects.ProjectCommitDiscussion(manager: RESTManager, attrs: Dict[str, Any], *, created_from_list: bool = False, lazy: bool = False)#

Bases: RESTObject

Parameters:
  • manager (RESTManager) –

  • attrs (Dict[str, Any]) –

  • created_from_list (bool) –

  • lazy (bool) –

notes: ProjectCommitDiscussionNoteManager#
class gitlab.v4.objects.ProjectCommitDiscussionManager(gl: Gitlab, parent: RESTObject | None = None)#

Bases: RetrieveMixin, CreateMixin, RESTManager

Object Creation

Required attributes for object create:

  • body

Optional attributes for object create:

  • created_at

Object update

Parameters:
get(id: str | int, lazy: bool = False, **kwargs: Any) ProjectCommitDiscussion#

Retrieve a single object.

Parameters:
  • id (str | int) – 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 (Any) – Extra options to send to the server (e.g. sudo)

Returns:

The generated RESTObject.

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabGetError – If the server cannot perform the request

Return type:

ProjectCommitDiscussion

class gitlab.v4.objects.ProjectCommitDiscussionNote(manager: RESTManager, attrs: Dict[str, Any], *, created_from_list: bool = False, lazy: bool = False)#

Bases: SaveMixin, ObjectDeleteMixin, RESTObject

Parameters:
  • manager (RESTManager) –

  • attrs (Dict[str, Any]) –

  • created_from_list (bool) –

  • lazy (bool) –

class gitlab.v4.objects.ProjectCommitDiscussionNoteManager(gl: Gitlab, parent: RESTObject | None = None)#

Bases: GetMixin, CreateMixin, UpdateMixin, DeleteMixin, RESTManager

Object Creation

Required attributes for object create:

  • body

Optional attributes for object create:

  • created_at

  • position

Object update

Required attributes for object update:

  • body

Parameters:
get(id: str | int, lazy: bool = False, **kwargs: Any) ProjectCommitDiscussionNote#

Retrieve a single object.

Parameters:
  • id (str | int) – 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 (Any) – Extra options to send to the server (e.g. sudo)

Returns:

The generated RESTObject.

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabGetError – If the server cannot perform the request

Return type:

ProjectCommitDiscussionNote

class gitlab.v4.objects.ProjectCommitManager(gl: Gitlab, parent: RESTObject | None = None)#

Bases: RetrieveMixin, CreateMixin, RESTManager

Object listing filters

  • all

  • ref_name

  • since

  • until

  • path

  • with_stats

  • first_parent

  • order

  • trailers

Object Creation

Required attributes for object create:

  • branch

  • commit_message

  • actions

Optional attributes for object create:

  • author_email

  • author_name

Object update

Parameters:
get(id: str | int, lazy: bool = False, **kwargs: Any) ProjectCommit#

Retrieve a single object.

Parameters:
  • id (str | int) – 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 (Any) – Extra options to send to the server (e.g. sudo)

Returns:

The generated RESTObject.

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabGetError – If the server cannot perform the request

Return type:

ProjectCommit

class gitlab.v4.objects.ProjectCommitStatus(manager: RESTManager, attrs: Dict[str, Any], *, created_from_list: bool = False, lazy: bool = False)#

Bases: RefreshMixin, RESTObject

Parameters:
  • manager (RESTManager) –

  • attrs (Dict[str, Any]) –

  • created_from_list (bool) –

  • lazy (bool) –

class gitlab.v4.objects.ProjectCommitStatusManager(gl: Gitlab, parent: RESTObject | None = None)#

Bases: ListMixin, CreateMixin, RESTManager

Object Creation

Required attributes for object create:

  • state

Optional attributes for object create:

  • description

  • name

  • context

  • ref

  • target_url

  • coverage

Object update

Parameters:
create(data: Dict[str, Any] | None = None, **kwargs: Any) ProjectCommitStatus#

Create a new object.

Parameters:
  • data (Dict[str, Any] | None) – Parameters to send to the server to create the resource

  • **kwargs (Any) – Extra options to send to the server (e.g. sudo or ‘ref_name’, ‘stage’, ‘name’, ‘all’)

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabCreateError – If the server cannot perform the request

Returns:

A new instance of the manage object class build with

the data sent by the server

Return type:

ProjectCommitStatus

class gitlab.v4.objects.ProjectCustomAttribute(manager: RESTManager, attrs: Dict[str, Any], *, created_from_list: bool = False, lazy: bool = False)#

Bases: ObjectDeleteMixin, RESTObject

Parameters:
  • manager (RESTManager) –

  • attrs (Dict[str, Any]) –

  • created_from_list (bool) –

  • lazy (bool) –

class gitlab.v4.objects.ProjectCustomAttributeManager(gl: Gitlab, parent: RESTObject | None = None)#

Bases: RetrieveMixin, SetMixin, DeleteMixin, RESTManager

Object Creation

Object update

Parameters:
get(id: str | int, lazy: bool = False, **kwargs: Any) ProjectCustomAttribute#

Retrieve a single object.

Parameters:
  • id (str | int) – 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 (Any) – Extra options to send to the server (e.g. sudo)

Returns:

The generated RESTObject.

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabGetError – If the server cannot perform the request

Return type:

ProjectCustomAttribute

class gitlab.v4.objects.ProjectDeployToken(manager: RESTManager, attrs: Dict[str, Any], *, created_from_list: bool = False, lazy: bool = False)#

Bases: ObjectDeleteMixin, RESTObject

Parameters:
  • manager (RESTManager) –

  • attrs (Dict[str, Any]) –

  • created_from_list (bool) –

  • lazy (bool) –

class gitlab.v4.objects.ProjectDeployTokenManager(gl: Gitlab, parent: RESTObject | None = None)#

Bases: RetrieveMixin, CreateMixin, DeleteMixin, RESTManager

Object listing filters

  • scopes

Object Creation

Required attributes for object create:

  • name

  • scopes

Optional attributes for object create:

  • expires_at

  • username

Object update

Parameters:
get(id: str | int, lazy: bool = False, **kwargs: Any) ProjectDeployToken#

Retrieve a single object.

Parameters:
  • id (str | int) – 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 (Any) – Extra options to send to the server (e.g. sudo)

Returns:

The generated RESTObject.

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabGetError – If the server cannot perform the request

Return type:

ProjectDeployToken

class gitlab.v4.objects.ProjectDeployment(manager: RESTManager, attrs: Dict[str, Any], *, created_from_list: bool = False, lazy: bool = False)#

Bases: SaveMixin, RESTObject

Parameters:
  • manager (RESTManager) –

  • attrs (Dict[str, Any]) –

  • created_from_list (bool) –

  • lazy (bool) –

approval(status: str, comment: str | None = None, represented_as: str | None = None, **kwargs: Any) Dict[str, Any]#

Approve or reject a blocked deployment.

Parameters:
  • status (str) – Either “approved” or “rejected”

  • comment (str | None) – A comment to go with the approval

  • represented_as (str | None) – The name of the User/Group/Role to use for the approval, when the user belongs to multiple approval rules.

  • **kwargs (Any) – Extra options to send to the server (e.g. sudo)

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabMRApprovalError – If the approval failed

Returns:

A dict containing the result.

Return type:

Dict[str, Any]

https://docs.gitlab.com/ee/api/deployments.html#approve-or-reject-a-blocked-deployment

mergerequests: ProjectDeploymentMergeRequestManager#
class gitlab.v4.objects.ProjectDeploymentManager(gl: Gitlab, parent: RESTObject | None = None)#

Bases: RetrieveMixin, CreateMixin, UpdateMixin, RESTManager

Object listing filters

  • order_by

  • sort

  • updated_after

  • updated_before

  • environment

  • status

Object Creation

Required attributes for object create:

  • sha

  • ref

  • tag

  • status

  • environment

Object update

Parameters:
get(id: str | int, lazy: bool = False, **kwargs: Any) ProjectDeployment#

Retrieve a single object.

Parameters:
  • id (str | int) – 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 (Any) – Extra options to send to the server (e.g. sudo)

Returns:

The generated RESTObject.

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabGetError – If the server cannot perform the request

Return type:

ProjectDeployment

class gitlab.v4.objects.ProjectDeploymentMergeRequest(manager: RESTManager, attrs: Dict[str, Any], *, created_from_list: bool = False, lazy: bool = False)#

Bases: MergeRequest

Parameters:
  • manager (RESTManager) –

  • attrs (Dict[str, Any]) –

  • created_from_list (bool) –

  • lazy (bool) –

class gitlab.v4.objects.ProjectDeploymentMergeRequestManager(gl: Gitlab, parent: RESTObject | None = None)#

Bases: MergeRequestManager

Object listing filters

  • state

  • order_by

  • sort

  • milestone

  • view

  • labels

  • with_labels_details

  • with_merge_status_recheck

  • created_after

  • created_before

  • updated_after

  • updated_before

  • scope

  • author_id

  • author_username

  • assignee_id

  • approver_ids

  • approved_by_ids

  • reviewer_id

  • reviewer_username

  • my_reaction_emoji

  • source_branch

  • target_branch

  • search

  • in

  • wip

  • not

  • environment

  • deployed_before

  • deployed_after

Object Creation

Object update

Parameters:
class gitlab.v4.objects.ProjectEnvironment(manager: RESTManager, attrs: Dict[str, Any], *, created_from_list: bool = False, lazy: bool = False)#

Bases: SaveMixin, ObjectDeleteMixin, RESTObject

Parameters:
  • manager (RESTManager) –

  • attrs (Dict[str, Any]) –

  • created_from_list (bool) –

  • lazy (bool) –

stop(**kwargs: Any) Dict[str, Any] | Response#

Stop the environment.

Parameters:

**kwargs (Any) – Extra options to send to the server (e.g. sudo)

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabStopError – If the operation failed

Returns:

A dict of the result.

Return type:

Dict[str, Any] | Response

class gitlab.v4.objects.ProjectEnvironmentManager(gl: Gitlab, parent: RESTObject | None = None)#

Bases: RetrieveMixin, CreateMixin, UpdateMixin, DeleteMixin, RESTManager

Object listing filters

  • name

  • search

  • states

Object Creation

Required attributes for object create:

  • name

Optional attributes for object create:

  • external_url

Object update

Optional attributes for object update:

  • name

  • external_url

Parameters:
get(id: str | int, lazy: bool = False, **kwargs: Any) ProjectEnvironment#

Retrieve a single object.

Parameters:
  • id (str | int) – 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 (Any) – Extra options to send to the server (e.g. sudo)

Returns:

The generated RESTObject.

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabGetError – If the server cannot perform the request

Return type:

ProjectEnvironment

class gitlab.v4.objects.ProjectEvent(manager: RESTManager, attrs: Dict[str, Any], *, created_from_list: bool = False, lazy: bool = False)#

Bases: Event

Parameters:
  • manager (RESTManager) –

  • attrs (Dict[str, Any]) –

  • created_from_list (bool) –

  • lazy (bool) –

class gitlab.v4.objects.ProjectEventManager(gl: Gitlab, parent: RESTObject | None = None)#

Bases: EventManager

Object listing filters

  • action

  • target_type

  • before

  • after

  • sort

  • scope

Object Creation

Object update

Parameters:
class gitlab.v4.objects.ProjectExport(manager: RESTManager, attrs: Dict[str, Any], *, created_from_list: bool = False, lazy: bool = False)#

Bases: DownloadMixin, RefreshMixin, RESTObject

Parameters:
  • manager (RESTManager) –

  • attrs (Dict[str, Any]) –

  • created_from_list (bool) –

  • lazy (bool) –

class gitlab.v4.objects.ProjectExportManager(gl: Gitlab, parent: RESTObject | None = None)#

Bases: GetWithoutIdMixin, CreateMixin, RESTManager

Object Creation

Optional attributes for object create:

  • description

Object update

Parameters:
get(**kwargs: Any) ProjectExport#

Retrieve a single object.

Parameters:

**kwargs (Any) – Extra options to send to the server (e.g. sudo)

Returns:

The generated RESTObject

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabGetError – If the server cannot perform the request

Return type:

ProjectExport

class gitlab.v4.objects.ProjectFile(manager: RESTManager, attrs: Dict[str, Any], *, created_from_list: bool = False, lazy: bool = False)#

Bases: SaveMixin, ObjectDeleteMixin, RESTObject

Parameters:
  • manager (ProjectFileManager) –

  • attrs (Dict[str, Any]) –

  • created_from_list (bool) –

  • lazy (bool) –

branch: str#
commit_message: str#
decode() bytes#

Returns the decoded content of the file.

Returns:

The decoded content.

Return type:

bytes

delete(branch: str, commit_message: str, **kwargs: Any) None#

Delete the file from the server.

Parameters:
  • branch (str) – Branch from which the file will be removed

  • commit_message (str) – Commit message for the deletion

  • **kwargs (Any) – Extra options to send to the server (e.g. sudo)

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabDeleteError – If the server cannot perform the request

Return type:

None

file_path: str#
manager: ProjectFileManager#
save(branch: str, commit_message: str, **kwargs: Any) None#

Save the changes made to the file to the server.

The object is updated to match what the server returns.

Parameters:
  • branch (str) – Branch in which the file will be updated

  • commit_message (str) – Message to send with the commit

  • **kwargs (Any) – Extra options to send to the server (e.g. sudo)

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabUpdateError – If the server cannot perform the request

Return type:

None

class gitlab.v4.objects.ProjectFileManager(gl: Gitlab, parent: RESTObject | None = None)#

Bases: GetMixin, CreateMixin, UpdateMixin, DeleteMixin, RESTManager

Object Creation

Required attributes for object create:

  • file_path

  • branch

  • content

  • commit_message

Optional attributes for object create:

  • encoding

  • author_email

  • author_name

Object update

Required attributes for object update:

  • file_path

  • branch

  • content

  • commit_message

Optional attributes for object update:

  • encoding

  • author_email

  • author_name

Parameters:
blame(file_path: str, ref: str, **kwargs: Any) List[Dict[str, Any]]#

Return the content of a file for a commit.

Parameters:
  • file_path (str) – Path of the file to retrieve

  • ref (str) – Name of the branch, tag or commit

  • **kwargs (Any) – Extra options to send to the server (e.g. sudo)

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabListError – If the server failed to perform the request

Returns:

A list of commits/lines matching the file

Return type:

List[Dict[str, Any]]

create(data: Dict[str, Any] | None = None, **kwargs: Any) ProjectFile#

Create a new object.

Parameters:
  • data (Dict[str, Any] | None) – parameters to send to the server to create the resource

  • **kwargs (Any) – 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

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabCreateError – If the server cannot perform the request

Return type:

ProjectFile

delete(file_path: str, branch: str, commit_message: str, **kwargs: Any) None#

Delete a file on the server.

Parameters:
  • file_path (str) – Path of the file to remove

  • branch (str) – Branch from which the file will be removed

  • commit_message (str) – Commit message for the deletion

  • **kwargs (Any) – Extra options to send to the server (e.g. sudo)

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabDeleteError – If the server cannot perform the request

Return type:

None

get(file_path: str, ref: str, **kwargs: Any) ProjectFile#

Retrieve a single file.

Parameters:
  • file_path (str) – Path of the file to retrieve

  • ref (str) – Name of the branch, tag or commit

  • **kwargs (Any) – Extra options to send to the server (e.g. sudo)

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabGetError – If the file could not be retrieved

Returns:

The generated RESTObject

Return type:

ProjectFile

raw(file_path: str, ref: str, streamed: bool = False, action: Callable[[...], Any] | None = None, chunk_size: int = 1024, *, iterator: bool = False, **kwargs: Any) bytes | Iterator[Any] | None#

Return the content of a file for a commit.

Parameters:
  • ref (str) – ID of the commit

  • file_path (str) – Path of the file to return

  • streamed (bool) – If True the data will be processed by chunks of chunk_size and each chunk is passed to action for treatment

  • iterator (bool) – If True directly return the underlying response iterator

  • action (Callable[[...], Any] | None) – Callable responsible of dealing with chunk of data

  • chunk_size (int) – Size of each chunk

  • **kwargs (Any) – Extra options to send to the server (e.g. sudo)

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabGetError – If the file could not be retrieved

Returns:

The file content

Return type:

bytes | Iterator[Any] | None

update(file_path: str, new_data: Dict[str, Any] | None = None, **kwargs: Any) Dict[str, Any]#

Update an object on the server.

Parameters:
  • id – ID of the object to update (can be None if not required)

  • new_data (Dict[str, Any] | None) – the update data for the object

  • **kwargs (Any) – Extra options to send to the server (e.g. sudo)

  • file_path (str) –

Returns:

The new object data (not a RESTObject)

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabUpdateError – If the server cannot perform the request

Return type:

Dict[str, Any]

class gitlab.v4.objects.ProjectFork(manager: RESTManager, attrs: Dict[str, Any], *, created_from_list: bool = False, lazy: bool = False)#

Bases: RESTObject

Parameters:
  • manager (RESTManager) –

  • attrs (Dict[str, Any]) –

  • created_from_list (bool) –

  • lazy (bool) –

class gitlab.v4.objects.ProjectForkManager(gl: Gitlab, parent: RESTObject | None = None)#

Bases: CreateMixin, ListMixin, RESTManager

Object listing filters

  • archived

  • visibility

  • order_by

  • sort

  • search

  • simple

  • owned

  • membership

  • starred

  • statistics

  • with_custom_attributes

  • with_issues_enabled

  • with_merge_requests_enabled

Object Creation

Optional attributes for object create:

  • namespace

Object update

Parameters:
create(data: Dict[str, Any] | None = None, **kwargs: Any) ProjectFork#

Creates a new object.

Parameters:
  • data (Dict[str, Any] | None) – Parameters to send to the server to create the resource

  • **kwargs (Any) – Extra options to send to the server (e.g. sudo)

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabCreateError – If the server cannot perform the request

Returns:

A new instance of the managed object class build with

the data sent by the server

Return type:

ProjectFork

class gitlab.v4.objects.ProjectHook(manager: RESTManager, attrs: Dict[str, Any], *, created_from_list: bool = False, lazy: bool = False)#

Bases: SaveMixin, ObjectDeleteMixin, RESTObject

Parameters:
  • manager (RESTManager) –

  • attrs (Dict[str, Any]) –

  • created_from_list (bool) –

  • lazy (bool) –

class gitlab.v4.objects.ProjectHookManager(gl: Gitlab, parent: RESTObject | None = None)#

Bases: CRUDMixin, RESTManager

Object Creation

Required attributes for object create:

  • url

Optional attributes for object create:

  • push_events

  • issues_events

  • confidential_issues_events

  • merge_requests_events

  • tag_push_events

  • note_events

  • job_events

  • pipeline_events

  • wiki_page_events

  • enable_ssl_verification

  • token

Object update

Required attributes for object update:

  • url

Optional attributes for object update:

  • push_events

  • issues_events

  • confidential_issues_events

  • merge_requests_events

  • tag_push_events

  • note_events

  • job_events

  • pipeline_events

  • wiki_events

  • enable_ssl_verification

  • token

Parameters:
get(id: str | int, lazy: bool = False, **kwargs: Any) ProjectHook#

Retrieve a single object.

Parameters:
  • id (str | int) – 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 (Any) – Extra options to send to the server (e.g. sudo)

Returns:

The generated RESTObject.

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabGetError – If the server cannot perform the request

Return type:

ProjectHook

class gitlab.v4.objects.ProjectImport(manager: RESTManager, attrs: Dict[str, Any], *, created_from_list: bool = False, lazy: bool = False)#

Bases: RefreshMixin, RESTObject

Parameters:
  • manager (RESTManager) –

  • attrs (Dict[str, Any]) –

  • created_from_list (bool) –

  • lazy (bool) –

class gitlab.v4.objects.ProjectImportManager(gl: Gitlab, parent: RESTObject | None = None)#

Bases: GetWithoutIdMixin, RESTManager

Object Creation

Object update

Parameters:
get(**kwargs: Any) ProjectImport#

Retrieve a single object.

Parameters:

**kwargs (Any) – Extra options to send to the server (e.g. sudo)

Returns:

The generated RESTObject

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabGetError – If the server cannot perform the request

Return type:

ProjectImport

class gitlab.v4.objects.ProjectIntegration(manager: RESTManager, attrs: Dict[str, Any], *, created_from_list: bool = False, lazy: bool = False)#

Bases: SaveMixin, ObjectDeleteMixin, RESTObject

Parameters:
  • manager (RESTManager) –

  • attrs (Dict[str, Any]) –

  • created_from_list (bool) –

  • lazy (bool) –

class gitlab.v4.objects.ProjectIntegrationManager(gl: Gitlab, parent: RESTObject | None = None)#

Bases: GetMixin, UpdateMixin, DeleteMixin, ListMixin, RESTManager

Object Creation

Object update

Parameters:
available() List[str]#

List the services known by python-gitlab.

Returns:

The list of service code names.

Return type:

List[str]

get(id: str | int, lazy: bool = False, **kwargs: Any) ProjectIntegration#

Retrieve a single object.

Parameters:
  • id (str | int) – 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 (Any) – Extra options to send to the server (e.g. sudo)

Returns:

The generated RESTObject.

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabGetError – If the server cannot perform the request

Return type:

ProjectIntegration

class gitlab.v4.objects.ProjectInvitation(manager: RESTManager, attrs: Dict[str, Any], *, created_from_list: bool = False, lazy: bool = False)#

Bases: SaveMixin, ObjectDeleteMixin, RESTObject

Parameters:
  • manager (RESTManager) –

  • attrs (Dict[str, Any]) –

  • created_from_list (bool) –

  • lazy (bool) –

class gitlab.v4.objects.ProjectInvitationManager(gl: Gitlab, parent: RESTObject | None = None)#

Bases: InvitationMixin, RESTManager

Object listing filters

  • query

Object Creation

Required attributes for object create:

  • access_level

Optional attributes for object create:

  • expires_at

  • invite_source

  • tasks_to_be_done

  • tasks_project_id

Mutually exclusive attributes for object create:

  • email

  • user_id

Object update

Optional attributes for object update:

  • access_level

  • expires_at

Parameters:
get(id: str | int, lazy: bool = False, **kwargs: Any) ProjectInvitation#

Retrieve a single object.

Parameters:
  • id (str | int) – 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 (Any) – Extra options to send to the server (e.g. sudo)

Returns:

The generated RESTObject.

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabGetError – If the server cannot perform the request

Return type:

ProjectInvitation

class gitlab.v4.objects.ProjectIssue(manager: RESTManager, attrs: Dict[str, Any], *, created_from_list: bool = False, lazy: bool = False)#

Bases: UserAgentDetailMixin, SubscribableMixin, TodoMixin, TimeTrackingMixin, ParticipantsMixin, SaveMixin, ObjectDeleteMixin, RESTObject

Parameters:
  • manager (RESTManager) –

  • attrs (Dict[str, Any]) –

  • created_from_list (bool) –

  • lazy (bool) –

awardemojis: ProjectIssueAwardEmojiManager#
closed_by(**kwargs: Any) Dict[str, Any]#

List merge requests that will close the issue when merged.

Parameters:

**kwargs (Any) – Extra options to send to the server (e.g. sudo)

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabGetErrot – If the merge requests could not be retrieved

Returns:

The list of merge requests.

Return type:

Dict[str, Any]

discussions: ProjectIssueDiscussionManager#
move(to_project_id: int, **kwargs: Any) None#

Move the issue to another project.

Parameters:
  • to_project_id (int) – ID of the target project

  • **kwargs (Any) – Extra options to send to the server (e.g. sudo)

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabUpdateError – If the issue could not be moved

Return type:

None

notes: ProjectIssueNoteManager#
related_merge_requests(**kwargs: Any) Dict[str, Any]#

List merge requests related to the issue.

Parameters:

**kwargs (Any) – Extra options to send to the server (e.g. sudo)

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabGetErrot – If the merge requests could not be retrieved

Returns:

The list of merge requests.

Return type:

Dict[str, Any]

reorder(move_after_id: int | None = None, move_before_id: int | None = None, **kwargs: Any) None#

Reorder an issue on a board.

Parameters:
  • move_after_id (int | None) – ID of an issue that should be placed after this issue

  • move_before_id (int | None) – ID of an issue that should be placed before this issue

  • **kwargs (Any) – Extra options to send to the server (e.g. sudo)

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabUpdateError – If the issue could not be reordered

Return type:

None

resource_iteration_events: ProjectIssueResourceIterationEventManager#
resource_weight_events: ProjectIssueResourceWeightEventManager#
resourcelabelevents: ProjectIssueResourceLabelEventManager#
resourcemilestoneevents: ProjectIssueResourceMilestoneEventManager#
resourcestateevents: ProjectIssueResourceStateEventManager#
class gitlab.v4.objects.ProjectIssueAwardEmoji(manager: RESTManager, attrs: Dict[str, Any], *, created_from_list: bool = False, lazy: bool = False)#

Bases: ObjectDeleteMixin, RESTObject

Parameters:
  • manager (RESTManager) –

  • attrs (Dict[str, Any]) –

  • created_from_list (bool) –

  • lazy (bool) –

class gitlab.v4.objects.ProjectIssueAwardEmojiManager(gl: Gitlab, parent: RESTObject | None = None)#

Bases: NoUpdateMixin, RESTManager

Object Creation

Required attributes for object create:

  • name

Object update

Parameters:
get(id: str | int, lazy: bool = False, **kwargs: Any) ProjectIssueAwardEmoji#

Retrieve a single object.

Parameters:
  • id (str | int) – 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 (Any) – Extra options to send to the server (e.g. sudo)

Returns:

The generated RESTObject.

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabGetError – If the server cannot perform the request

Return type:

ProjectIssueAwardEmoji

class gitlab.v4.objects.ProjectIssueDiscussion(manager: RESTManager, attrs: Dict[str, Any], *, created_from_list: bool = False, lazy: bool = False)#

Bases: RESTObject

Parameters:
  • manager (RESTManager) –

  • attrs (Dict[str, Any]) –

  • created_from_list (bool) –

  • lazy (bool) –

notes: ProjectIssueDiscussionNoteManager#
class gitlab.v4.objects.ProjectIssueDiscussionManager(gl: Gitlab, parent: RESTObject | None = None)#

Bases: RetrieveMixin, CreateMixin, RESTManager

Object Creation

Required attributes for object create:

  • body

Optional attributes for object create:

  • created_at

Object update

Parameters:
get(id: str | int, lazy: bool = False, **kwargs: Any) ProjectIssueDiscussion#

Retrieve a single object.

Parameters:
  • id (str | int) – 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 (Any) – Extra options to send to the server (e.g. sudo)

Returns:

The generated RESTObject.

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabGetError – If the server cannot perform the request

Return type:

ProjectIssueDiscussion

class gitlab.v4.objects.ProjectIssueDiscussionNote(manager: RESTManager, attrs: Dict[str, Any], *, created_from_list: bool = False, lazy: bool = False)#

Bases: SaveMixin, ObjectDeleteMixin, RESTObject

Parameters:
  • manager (RESTManager) –

  • attrs (Dict[str, Any]) –

  • created_from_list (bool) –

  • lazy (bool) –

class gitlab.v4.objects.ProjectIssueDiscussionNoteManager(gl: Gitlab, parent: RESTObject | None = None)#

Bases: GetMixin, CreateMixin, UpdateMixin, DeleteMixin, RESTManager

Object Creation

Required attributes for object create:

  • body

Optional attributes for object create:

  • created_at

Object update

Required attributes for object update:

  • body

Parameters:
get(id: str | int, lazy: bool = False, **kwargs: Any) ProjectIssueDiscussionNote#

Retrieve a single object.

Parameters:
  • id (str | int) – 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 (Any) – Extra options to send to the server (e.g. sudo)

Returns:

The generated RESTObject.

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabGetError – If the server cannot perform the request

Return type:

ProjectIssueDiscussionNote

Bases: ObjectDeleteMixin, RESTObject

Parameters:
  • manager (RESTManager) –

  • attrs (Dict[str, Any]) –

  • created_from_list (bool) –

  • lazy (bool) –

class gitlab.v4.objects.ProjectIssueLinkManager(gl: Gitlab, parent: RESTObject | None = None)#

Bases: ListMixin, CreateMixin, DeleteMixin, RESTManager

Object Creation

Required attributes for object create:

  • target_project_id

  • target_issue_iid

Object update

Parameters:
create(data: Dict[str, Any], **kwargs: Any) Tuple[RESTObject, RESTObject]#

Create a new object.

Parameters:
  • data (Dict[str, Any]) – parameters to send to the server to create the resource

  • **kwargs (Any) – Extra options to send to the server (e.g. sudo)

Returns:

The source and target issues

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabCreateError – If the server cannot perform the request

Return type:

Tuple[RESTObject, RESTObject]

class gitlab.v4.objects.ProjectIssueManager(gl: Gitlab, parent: RESTObject | None = None)#

Bases: CRUDMixin, RESTManager

Object listing filters

  • iids

  • state

  • labels

  • milestone

  • scope

  • author_id

  • iteration_id

  • assignee_id

  • my_reaction_emoji

  • order_by

  • sort

  • search

  • created_after

  • created_before

  • updated_after

  • updated_before

Object Creation

Required attributes for object create:

  • title

Optional attributes for object create:

  • description

  • confidential

  • assignee_ids

  • assignee_id

  • milestone_id

  • labels

  • created_at

  • due_date

  • merge_request_to_resolve_discussions_of

  • discussion_to_resolve

Object update

Optional attributes for object update:

  • title

  • description

  • confidential

  • assignee_ids

  • assignee_id

  • milestone_id

  • labels

  • state_event

  • updated_at

  • due_date

  • discussion_locked

Parameters:
get(id: str | int, lazy: bool = False, **kwargs: Any) ProjectIssue#

Retrieve a single object.

Parameters:
  • id (str | int) – 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 (Any) – Extra options to send to the server (e.g. sudo)

Returns:

The generated RESTObject.

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabGetError – If the server cannot perform the request

Return type:

ProjectIssue

class gitlab.v4.objects.ProjectIssueNote(manager: RESTManager, attrs: Dict[str, Any], *, created_from_list: bool = False, lazy: bool = False)#

Bases: SaveMixin, ObjectDeleteMixin, RESTObject

Parameters:
  • manager (RESTManager) –

  • attrs (Dict[str, Any]) –

  • created_from_list (bool) –

  • lazy (bool) –

awardemojis: ProjectIssueNoteAwardEmojiManager#
class gitlab.v4.objects.ProjectIssueNoteAwardEmoji(manager: RESTManager, attrs: Dict[str, Any], *, created_from_list: bool = False, lazy: bool = False)#

Bases: ObjectDeleteMixin, RESTObject

Parameters:
  • manager (RESTManager) –

  • attrs (Dict[str, Any]) –

  • created_from_list (bool) –

  • lazy (bool) –

class gitlab.v4.objects.ProjectIssueNoteAwardEmojiManager(gl: Gitlab, parent: RESTObject | None = None)#

Bases: NoUpdateMixin, RESTManager

Object Creation

Required attributes for object create:

  • name

Object update

Parameters:
get(id: str | int, lazy: bool = False, **kwargs: Any) ProjectIssueNoteAwardEmoji#

Retrieve a single object.

Parameters:
  • id (str | int) – 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 (Any) – Extra options to send to the server (e.g. sudo)

Returns:

The generated RESTObject.

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabGetError – If the server cannot perform the request

Return type:

ProjectIssueNoteAwardEmoji

class gitlab.v4.objects.ProjectIssueNoteManager(gl: Gitlab, parent: RESTObject | None = None)#

Bases: CRUDMixin, RESTManager

Object Creation

Required attributes for object create:

  • body

Optional attributes for object create:

  • created_at

Object update

Required attributes for object update:

  • body

Parameters:
get(id: str | int, lazy: bool = False, **kwargs: Any) ProjectIssueNote#

Retrieve a single object.

Parameters:
  • id (str | int) – 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 (Any) – Extra options to send to the server (e.g. sudo)

Returns:

The generated RESTObject.

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabGetError – If the server cannot perform the request

Return type:

ProjectIssueNote

class gitlab.v4.objects.ProjectIssueResourceIterationEvent(manager: RESTManager, attrs: Dict[str, Any], *, created_from_list: bool = False, lazy: bool = False)#

Bases: RESTObject

Parameters:
  • manager (RESTManager) –

  • attrs (Dict[str, Any]) –

  • created_from_list (bool) –

  • lazy (bool) –

class gitlab.v4.objects.ProjectIssueResourceIterationEventManager(gl: Gitlab, parent: RESTObject | None = None)#

Bases: RetrieveMixin, RESTManager

Object Creation

Object update

Parameters:
get(id: str | int, lazy: bool = False, **kwargs: Any) ProjectIssueResourceIterationEvent#

Retrieve a single object.

Parameters:
  • id (str | int) – 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 (Any) – Extra options to send to the server (e.g. sudo)

Returns:

The generated RESTObject.

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabGetError – If the server cannot perform the request

Return type:

ProjectIssueResourceIterationEvent

class gitlab.v4.objects.ProjectIssueResourceLabelEvent(manager: RESTManager, attrs: Dict[str, Any], *, created_from_list: bool = False, lazy: bool = False)#

Bases: RESTObject

Parameters:
  • manager (RESTManager) –

  • attrs (Dict[str, Any]) –

  • created_from_list (bool) –

  • lazy (bool) –

class gitlab.v4.objects.ProjectIssueResourceLabelEventManager(gl: Gitlab, parent: RESTObject | None = None)#

Bases: RetrieveMixin, RESTManager

Object Creation

Object update

Parameters:
get(id: str | int, lazy: bool = False, **kwargs: Any) ProjectIssueResourceLabelEvent#

Retrieve a single object.

Parameters:
  • id (str | int) – 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 (Any) – Extra options to send to the server (e.g. sudo)

Returns:

The generated RESTObject.

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabGetError – If the server cannot perform the request

Return type:

ProjectIssueResourceLabelEvent

class gitlab.v4.objects.ProjectIssueResourceMilestoneEvent(manager: RESTManager, attrs: Dict[str, Any], *, created_from_list: bool = False, lazy: bool = False)#

Bases: RESTObject

Parameters:
  • manager (RESTManager) –

  • attrs (Dict[str, Any]) –

  • created_from_list (bool) –

  • lazy (bool) –

class gitlab.v4.objects.ProjectIssueResourceMilestoneEventManager(gl: Gitlab, parent: RESTObject | None = None)#

Bases: RetrieveMixin, RESTManager

Object Creation

Object update

Parameters:
get(id: str | int, lazy: bool = False, **kwargs: Any) ProjectIssueResourceMilestoneEvent#

Retrieve a single object.

Parameters:
  • id (str | int) – 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 (Any) – Extra options to send to the server (e.g. sudo)

Returns:

The generated RESTObject.

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabGetError – If the server cannot perform the request

Return type:

ProjectIssueResourceMilestoneEvent

class gitlab.v4.objects.ProjectIssueResourceStateEvent(manager: RESTManager, attrs: Dict[str, Any], *, created_from_list: bool = False, lazy: bool = False)#

Bases: RESTObject

Parameters:
  • manager (RESTManager) –

  • attrs (Dict[str, Any]) –

  • created_from_list (bool) –

  • lazy (bool) –

class gitlab.v4.objects.ProjectIssueResourceStateEventManager(gl: Gitlab, parent: RESTObject | None = None)#

Bases: RetrieveMixin, RESTManager

Object Creation

Object update

Parameters:
get(id: str | int, lazy: bool = False, **kwargs: Any) ProjectIssueResourceStateEvent#

Retrieve a single object.

Parameters:
  • id (str | int) – 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 (Any) – Extra options to send to the server (e.g. sudo)

Returns:

The generated RESTObject.

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabGetError – If the server cannot perform the request

Return type:

ProjectIssueResourceStateEvent

class gitlab.v4.objects.ProjectIssueResourceWeightEvent(manager: RESTManager, attrs: Dict[str, Any], *, created_from_list: bool = False, lazy: bool = False)#

Bases: RESTObject

Parameters:
  • manager (RESTManager) –

  • attrs (Dict[str, Any]) –

  • created_from_list (bool) –

  • lazy (bool) –

class gitlab.v4.objects.ProjectIssueResourceWeightEventManager(gl: Gitlab, parent: RESTObject | None = None)#

Bases: RetrieveMixin, RESTManager

Object Creation

Object update

Parameters:
get(id: str | int, lazy: bool = False, **kwargs: Any) ProjectIssueResourceWeightEvent#

Retrieve a single object.

Parameters:
  • id (str | int) – 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 (Any) – Extra options to send to the server (e.g. sudo)

Returns:

The generated RESTObject.

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabGetError – If the server cannot perform the request

Return type:

ProjectIssueResourceWeightEvent

class gitlab.v4.objects.ProjectIssuesStatistics(manager: RESTManager, attrs: Dict[str, Any], *, created_from_list: bool = False, lazy: bool = False)#

Bases: RefreshMixin, RESTObject

Parameters:
  • manager (RESTManager) –

  • attrs (Dict[str, Any]) –

  • created_from_list (bool) –

  • lazy (bool) –

class gitlab.v4.objects.ProjectIssuesStatisticsManager(gl: Gitlab, parent: RESTObject | None = None)#

Bases: GetWithoutIdMixin, RESTManager

Object listing filters

  • iids

Object Creation

Object update

Parameters:
get(**kwargs: Any) ProjectIssuesStatistics#

Retrieve a single object.

Parameters:

**kwargs (Any) – Extra options to send to the server (e.g. sudo)

Returns:

The generated RESTObject

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabGetError – If the server cannot perform the request

Return type:

ProjectIssuesStatistics

class gitlab.v4.objects.ProjectIterationManager(gl: Gitlab, parent: RESTObject | None = None)#

Bases: ListMixin, RESTManager

Object listing filters

  • state

  • search

  • include_ancestors

Object Creation

Object update

Parameters:
class gitlab.v4.objects.ProjectJob(manager: RESTManager, attrs: Dict[str, Any], *, created_from_list: bool = False, lazy: bool = False)#

Bases: RefreshMixin, RESTObject

Parameters:
  • manager (RESTManager) –

  • attrs (Dict[str, Any]) –

  • created_from_list (bool) –

  • lazy (bool) –

artifact(path: str, streamed: bool = False, action: Callable[[...], Any] | None = None, chunk_size: int = 1024, *, iterator: bool = False, **kwargs: Any) bytes | Iterator[Any] | None#

Get a single artifact file from within the job’s artifacts archive.

Parameters:
  • path (str) – Path of the artifact

  • streamed (bool) – If True the data will be processed by chunks of chunk_size and each chunk is passed to action for treatment

  • iterator (bool) – If True directly return the underlying response iterator

  • action (Callable[[...], Any] | None) – Callable responsible of dealing with chunk of data

  • chunk_size (int) – Size of each chunk

  • **kwargs (Any) – Extra options to send to the server (e.g. sudo)

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabGetError – If the artifacts could not be retrieved

Returns:

The artifacts if streamed is False, None otherwise.

Return type:

bytes | Iterator[Any] | None

artifacts(streamed: bool = False, action: Callable[[...], Any] | None = None, chunk_size: int = 1024, *, iterator: bool = False, **kwargs: Any) bytes | Iterator[Any] | None#

Get the job artifacts.

Parameters:
  • streamed (bool) – If True the data will be processed by chunks of chunk_size and each chunk is passed to action for treatment

  • iterator (bool) – If True directly return the underlying response iterator

  • action (Callable[[...], Any] | None) – Callable responsible of dealing with chunk of data

  • chunk_size (int) – Size of each chunk

  • **kwargs (Any) – Extra options to send to the server (e.g. sudo)

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabGetError – If the artifacts could not be retrieved

Returns:

The artifacts if streamed is False, None otherwise.

Return type:

bytes | Iterator[Any] | None

cancel(**kwargs: Any) Dict[str, Any]#

Cancel the job.

Parameters:

**kwargs (Any) – Extra options to send to the server (e.g. sudo)

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabJobCancelError – If the job could not be canceled

Return type:

Dict[str, Any]

delete_artifacts(**kwargs: Any) None#

Delete artifacts of a job.

Parameters:

**kwargs (Any) – Extra options to send to the server (e.g. sudo)

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabDeleteError – If the request could not be performed

Return type:

None

erase(**kwargs: Any) None#

Erase the job (remove job artifacts and trace).

Parameters:

**kwargs (Any) – Extra options to send to the server (e.g. sudo)

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabJobEraseError – If the job could not be erased

Return type:

None

keep_artifacts(**kwargs: Any) None#

Prevent artifacts from being deleted when expiration is set.

Parameters:

**kwargs (Any) – Extra options to send to the server (e.g. sudo)

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabCreateError – If the request could not be performed

Return type:

None

play(**kwargs: Any) None#

Trigger a job explicitly.

Parameters:

**kwargs (Any) – Extra options to send to the server (e.g. sudo)

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabJobPlayError – If the job could not be triggered

Return type:

None

retry(**kwargs: Any) Dict[str, Any]#

Retry the job.

Parameters:

**kwargs (Any) – Extra options to send to the server (e.g. sudo)

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabJobRetryError – If the job could not be retried

Return type:

Dict[str, Any]

trace(streamed: bool = False, action: Callable[[...], Any] | None = None, chunk_size: int = 1024, *, iterator: bool = False, **kwargs: Any) Dict[str, Any]#

Get the job trace.

Parameters:
  • streamed (bool) – If True the data will be processed by chunks of chunk_size and each chunk is passed to action for treatment

  • iterator (bool) – If True directly return the underlying response iterator

  • action (Callable[[...], Any] | None) – Callable responsible of dealing with chunk of data

  • chunk_size (int) – Size of each chunk

  • **kwargs (Any) – Extra options to send to the server (e.g. sudo)

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabGetError – If the artifacts could not be retrieved

Returns:

The trace

Return type:

Dict[str, Any]

class gitlab.v4.objects.ProjectJobManager(gl: Gitlab, parent: RESTObject | None = None)#

Bases: RetrieveMixin, RESTManager

Object listing filters

  • scope

Object Creation

Object update

Parameters:
get(id: str | int, lazy: bool = False, **kwargs: Any) ProjectJob#

Retrieve a single object.

Parameters:
  • id (str | int) – 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 (Any) – Extra options to send to the server (e.g. sudo)

Returns:

The generated RESTObject.

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabGetError – If the server cannot perform the request

Return type:

ProjectJob

class gitlab.v4.objects.ProjectJobTokenScope(manager: RESTManager, attrs: Dict[str, Any], *, created_from_list: bool = False, lazy: bool = False)#

Bases: RefreshMixin, SaveMixin, RESTObject

Parameters:
  • manager (RESTManager) –

  • attrs (Dict[str, Any]) –

  • created_from_list (bool) –

  • lazy (bool) –

class gitlab.v4.objects.ProjectJobTokenScopeManager(gl: Gitlab, parent: RESTObject | None = None)#

Bases: GetWithoutIdMixin, UpdateMixin, RESTManager

Object Creation

Object update

Parameters:
get(**kwargs: Any) ProjectJobTokenScope#

Retrieve a single object.

Parameters:

**kwargs (Any) – Extra options to send to the server (e.g. sudo)

Returns:

The generated RESTObject

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabGetError – If the server cannot perform the request

Return type:

ProjectJobTokenScope

class gitlab.v4.objects.ProjectKey(manager: RESTManager, attrs: Dict[str, Any], *, created_from_list: bool = False, lazy: bool = False)#

Bases: SaveMixin, ObjectDeleteMixin, RESTObject

Parameters:
  • manager (RESTManager) –

  • attrs (Dict[str, Any]) –

  • created_from_list (bool) –

  • lazy (bool) –

class gitlab.v4.objects.ProjectKeyManager(gl: Gitlab, parent: RESTObject | None = None)#

Bases: CRUDMixin, RESTManager

Object Creation

Required attributes for object create:

  • title

  • key

Optional attributes for object create:

  • can_push

Object update

Optional attributes for object update:

  • title

  • can_push

Parameters:
enable(key_id: int, **kwargs: Any) Dict[str, Any] | Response#

Enable a deploy key for a project.

Parameters:
  • key_id (int) – The ID of the key to enable

  • **kwargs (Any) – Extra options to send to the server (e.g. sudo)

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabProjectDeployKeyError – If the key could not be enabled

Returns:

A dict of the result.

Return type:

Dict[str, Any] | Response

get(id: str | int, lazy: bool = False, **kwargs: Any) ProjectKey#

Retrieve a single object.

Parameters:
  • id (str | int) – 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 (Any) – Extra options to send to the server (e.g. sudo)

Returns:

The generated RESTObject.

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabGetError – If the server cannot perform the request

Return type:

ProjectKey

class gitlab.v4.objects.ProjectLabel(manager: RESTManager, attrs: Dict[str, Any], *, created_from_list: bool = False, lazy: bool = False)#

Bases: PromoteMixin, SubscribableMixin, SaveMixin, ObjectDeleteMixin, RESTObject

Parameters:
manager: ProjectLabelManager#
save(**kwargs: Any) None#

Saves the changes made to the object to the server.

The object is updated to match what the server returns.

Parameters:

**kwargs (Any) – Extra options to send to the server (e.g. sudo)

Raises:
  • GitlabAuthenticationError – If authentication is not correct.

  • GitlabUpdateError – If the server cannot perform the request.

Return type:

None

class gitlab.v4.objects.ProjectLabelManager(gl: Gitlab, parent: RESTObject | None = None)#

Bases: RetrieveMixin, CreateMixin, UpdateMixin, DeleteMixin, RESTManager

Object Creation

Required attributes for object create:

  • name

  • color

Optional attributes for object create:

  • description

  • priority

Object update

Required attributes for object update:

  • name

Optional attributes for object update:

  • new_name

  • color

  • description

  • priority

Parameters:
get(id: str | int, lazy: bool = False, **kwargs: Any) ProjectLabel#

Retrieve a single object.

Parameters:
  • id (str | int) – 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 (Any) – Extra options to send to the server (e.g. sudo)

Returns:

The generated RESTObject.

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabGetError – If the server cannot perform the request

Return type:

ProjectLabel

update(name: str | None, new_data: Dict[str, Any] | None = None, **kwargs: Any) Dict[str, Any]#

Update a Label on the server.

Parameters:
  • name (str | None) – The name of the label

  • **kwargs (Any) – Extra options to send to the server (e.g. sudo)

  • new_data (Dict[str, Any] | None) –

  • **kwargs

Return type:

Dict[str, Any]

class gitlab.v4.objects.ProjectManager(gl: Gitlab, parent: RESTObject | None = None)#

Bases: CRUDMixin, RESTManager

Object listing filters

  • archived

  • id_after

  • id_before

  • last_activity_after

  • last_activity_before

  • membership

  • min_access_level

  • order_by

  • owned

  • repository_checksum_failed

  • repository_storage

  • search_namespaces

  • search

  • simple

  • sort

  • starred

  • statistics

  • topic

  • visibility

  • wiki_checksum_failed

  • with_custom_attributes

  • with_issues_enabled

  • with_merge_requests_enabled

  • with_programming_language

Object Creation

Optional attributes for object create:

  • name

  • path

  • allow_merge_on_skipped_pipeline

  • only_allow_merge_if_all_status_checks_passed

  • analytics_access_level

  • approvals_before_merge

  • auto_cancel_pending_pipelines

  • auto_devops_deploy_strategy

  • auto_devops_enabled

  • autoclose_referenced_issues

  • avatar

  • build_coverage_regex

  • build_git_strategy

  • build_timeout

  • builds_access_level

  • ci_config_path

  • container_expiration_policy_attributes

  • container_registry_access_level

  • container_registry_enabled

  • default_branch

  • description

  • emails_disabled

  • external_authorization_classification_label

  • forking_access_level

  • group_with_project_templates_id

  • import_url

  • initialize_with_readme

  • issues_access_level

  • issues_enabled

  • jobs_enabled

  • lfs_enabled

  • merge_method

  • merge_pipelines_enabled

  • merge_requests_access_level

  • merge_requests_enabled

  • mirror_trigger_builds

  • mirror

  • namespace_id

  • operations_access_level

  • only_allow_merge_if_all_discussions_are_resolved

  • only_allow_merge_if_pipeline_succeeds

  • packages_enabled

  • pages_access_level

  • requirements_access_level

  • printing_merge_request_link_enabled

  • public_builds

  • releases_access_level

  • environments_access_level

  • feature_flags_access_level

  • infrastructure_access_level

  • monitor_access_level

  • remove_source_branch_after_merge

  • repository_access_level

  • repository_storage

  • request_access_enabled

  • resolve_outdated_diff_discussions

  • security_and_compliance_access_level

  • shared_runners_enabled

  • show_default_award_emojis

  • snippets_access_level

  • snippets_enabled

  • squash_option

  • tag_list

  • topics

  • template_name

  • template_project_id

  • use_custom_template

  • visibility

  • wiki_access_level

  • wiki_enabled

Object update

Optional attributes for object update:

  • allow_merge_on_skipped_pipeline

  • only_allow_merge_if_all_status_checks_passed

  • analytics_access_level

  • approvals_before_merge

  • auto_cancel_pending_pipelines

  • auto_devops_deploy_strategy

  • auto_devops_enabled

  • autoclose_referenced_issues

  • avatar

  • build_coverage_regex

  • build_git_strategy

  • build_timeout

  • builds_access_level

  • ci_config_path

  • ci_default_git_depth

  • ci_forward_deployment_enabled

  • ci_allow_fork_pipelines_to_run_in_parent_project

  • ci_separated_caches

  • container_expiration_policy_attributes

  • container_registry_access_level

  • container_registry_enabled

  • default_branch

  • description

  • emails_disabled

  • enforce_auth_checks_on_uploads

  • external_authorization_classification_label

  • forking_access_level

  • import_url

  • issues_access_level

  • issues_enabled

  • issues_template

  • jobs_enabled

  • keep_latest_artifact

  • lfs_enabled

  • merge_commit_template

  • merge_method

  • merge_pipelines_enabled

  • merge_requests_access_level

  • merge_requests_enabled

  • merge_requests_template

  • merge_trains_enabled

  • mirror_overwrites_diverged_branches

  • mirror_trigger_builds

  • mirror_user_id

  • mirror

  • mr_default_target_self

  • name

  • operations_access_level

  • only_allow_merge_if_all_discussions_are_resolved

  • only_allow_merge_if_pipeline_succeeds

  • only_mirror_protected_branches

  • packages_enabled

  • pages_access_level

  • requirements_access_level

  • restrict_user_defined_variables

  • path

  • public_builds

  • releases_access_level

  • environments_access_level

  • feature_flags_access_level

  • infrastructure_access_level

  • monitor_access_level

  • remove_source_branch_after_merge

  • repository_access_level

  • repository_storage

  • request_access_enabled

  • resolve_outdated_diff_discussions

  • security_and_compliance_access_level

  • service_desk_enabled

  • shared_runners_enabled

  • show_default_award_emojis

  • snippets_access_level

  • snippets_enabled

  • issue_branch_template

  • squash_commit_template

  • squash_option

  • suggestion_commit_message

  • tag_list

  • topics

  • visibility

  • wiki_access_level

  • wiki_enabled

Parameters:
get(id: str | int, lazy: bool = False, **kwargs: Any) Project#

Retrieve a single object.

Parameters:
  • id (str | int) – 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 (Any) – Extra options to send to the server (e.g. sudo)

Returns:

The generated RESTObject.

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabGetError – If the server cannot perform the request

Return type:

Project

import_bitbucket_server(bitbucket_server_url: str, bitbucket_server_username: str, personal_access_token: str, bitbucket_server_project: str, bitbucket_server_repo: str, new_name: str | None = None, target_namespace: str | None = None, **kwargs: Any) Dict[str, Any] | Response#

Import a project from BitBucket Server to Gitlab (schedule the import)

This method will return when an import operation has been safely queued, or an error has occurred. After triggering an import, check the import_status of the newly created project to detect when the import operation has completed.

Note

This request may take longer than most other API requests. So this method will specify a 60 second default timeout if none is specified. A timeout can be specified via kwargs to override this functionality.

Parameters:
  • bitbucket_server_url (str) – Bitbucket Server URL

  • bitbucket_server_username (str) – Bitbucket Server Username

  • personal_access_token (str) – Bitbucket Server personal access token/password

  • bitbucket_server_project (str) – Bitbucket Project Key

  • bitbucket_server_repo (str) – Bitbucket Repository Name

  • new_name (str | None) – New repository name (Optional)

  • target_namespace (str | None) – Namespace to import repository into. Supports subgroups like /namespace/subgroup (Optional)

  • **kwargs (Any) – Extra options to send to the server (e.g. sudo)

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabListError – If the server failed to perform the request

Returns:

A representation of the import status.

Return type:

Dict[str, Any] | Response

Example:

gl = gitlab.Gitlab_from_config()
print("Triggering import")
result = gl.projects.import_bitbucket_server(
    bitbucket_server_url="https://some.server.url",
    bitbucket_server_username="some_bitbucket_user",
    personal_access_token="my_password_or_access_token",
    bitbucket_server_project="my_project",
    bitbucket_server_repo="my_repo",
    new_name="gl_project_name",
    target_namespace="gl_project_path"
)
project = gl.projects.get(ret['id'])
print("Waiting for import to complete")
while project.import_status == u'started':
    time.sleep(1.0)
    project = gl.projects.get(project.id)
print("BitBucket import complete")
import_github(personal_access_token: str, repo_id: int, target_namespace: str, new_name: str | None = None, github_hostname: str | None = None, optional_stages: Dict[str, bool] | None = None, **kwargs: Any) Dict[str, Any] | Response#

Import a project from Github to Gitlab (schedule the import)

This method will return when an import operation has been safely queued, or an error has occurred. After triggering an import, check the import_status of the newly created project to detect when the import operation has completed.

Note

This request may take longer than most other API requests. So this method will specify a 60 second default timeout if none is specified. A timeout can be specified via kwargs to override this functionality.

Parameters:
  • personal_access_token (str) – GitHub personal access token

  • repo_id (int) – Github repository ID

  • target_namespace (str) – Namespace to import repo into

  • new_name (str | None) – New repo name (Optional)

  • github_hostname (str | None) – Custom GitHub Enterprise hostname. Do not set for GitHub.com. (Optional)

  • optional_stages (Dict[str, bool] | None) – Additional items to import. (Optional)

  • **kwargs (Any) – Extra options to send to the server (e.g. sudo)

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabListError – If the server failed to perform the request

Returns:

A representation of the import status.

Return type:

Dict[str, Any] | Response

Example:

gl = gitlab.Gitlab_from_config()
print("Triggering import")
result = gl.projects.import_github(ACCESS_TOKEN,
                                   123456,
                                   "my-group/my-subgroup")
project = gl.projects.get(ret['id'])
print("Waiting for import to complete")
while project.import_status == u'started':
    time.sleep(1.0)
    project = gl.projects.get(project.id)
print("Github import complete")
import_project(file: str, path: str, name: str | None = None, namespace: str | None = None, overwrite: bool = False, override_params: Dict[str, Any] | None = None, **kwargs: Any) Dict[str, Any] | Response#

Import a project from an archive file.

Parameters:
  • file (str) – Data or file object containing the project

  • path (str) – Name and path for the new project

  • name (str | None) – The name of the project to import. If not provided, defaults to the path of the project.

  • namespace (str | None) – The ID or path of the namespace that the project will be imported to

  • overwrite (bool) – If True overwrite an existing project with the same path

  • override_params (Dict[str, Any] | None) – Set the specific settings for the project

  • **kwargs (Any) – Extra options to send to the server (e.g. sudo)

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabImportError – If the server failed to perform the request

Returns:

A representation of the import status.

Return type:

Dict[str, Any] | Response

remote_import(url: str, path: str, name: str | None = None, namespace: str | None = None, overwrite: bool = False, override_params: Dict[str, Any] | None = None, **kwargs: Any) Dict[str, Any] | Response#

Import a project from an archive file stored on a remote URL.

Parameters:
  • url (str) – URL for the file containing the project data to import

  • path (str) – Name and path for the new project

  • name (str | None) – The name of the project to import. If not provided, defaults to the path of the project.

  • namespace (str | None) – The ID or path of the namespace that the project will be imported to

  • overwrite (bool) – If True overwrite an existing project with the same path

  • override_params (Dict[str, Any] | None) – Set the specific settings for the project

  • **kwargs (Any) – Extra options to send to the server (e.g. sudo)

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabImportError – If the server failed to perform the request

Returns:

A representation of the import status.

Return type:

Dict[str, Any] | Response

remote_import_s3(path: str, region: str, bucket_name: str, file_key: str, access_key_id: str, secret_access_key: str, name: str | None = None, namespace: str | None = None, overwrite: bool = False, override_params: Dict[str, Any] | None = None, **kwargs: Any) Dict[str, Any] | Response#

Import a project from an archive file stored on AWS S3.

Parameters:
  • region (str) – AWS S3 region name where the file is stored

  • bucket_name (str) – AWS S3 bucket name where the file is stored

  • file_key (str) – AWS S3 file key to identify the file.

  • access_key_id (str) – AWS S3 access key ID.

  • secret_access_key (str) – AWS S3 secret access key.

  • path (str) – Name and path for the new project

  • name (str | None) – The name of the project to import. If not provided, defaults to the path of the project.

  • namespace (str | None) – The ID or path of the namespace that the project will be imported to

  • overwrite (bool) – If True overwrite an existing project with the same path

  • override_params (Dict[str, Any] | None) – Set the specific settings for the project

  • **kwargs (Any) – Extra options to send to the server (e.g. sudo)

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabImportError – If the server failed to perform the request

Returns:

A representation of the import status.

Return type:

Dict[str, Any] | Response

class gitlab.v4.objects.ProjectMember(manager: RESTManager, attrs: Dict[str, Any], *, created_from_list: bool = False, lazy: bool = False)#

Bases: SaveMixin, ObjectDeleteMixin, RESTObject

Parameters:
  • manager (RESTManager) –

  • attrs (Dict[str, Any]) –

  • created_from_list (bool) –

  • lazy (bool) –

class gitlab.v4.objects.ProjectMemberAll(manager: RESTManager, attrs: Dict[str, Any], *, created_from_list: bool = False, lazy: bool = False)#

Bases: RESTObject

Parameters:
  • manager (RESTManager) –

  • attrs (Dict[str, Any]) –

  • created_from_list (bool) –

  • lazy (bool) –

class gitlab.v4.objects.ProjectMemberAllManager(gl: Gitlab, parent: RESTObject | None = None)#

Bases: RetrieveMixin, RESTManager

Object Creation

Object update

Parameters:
get(id: str | int, lazy: bool = False, **kwargs: Any) ProjectMemberAll#

Retrieve a single object.

Parameters:
  • id (str | int) – 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 (Any) – Extra options to send to the server (e.g. sudo)

Returns:

The generated RESTObject.

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabGetError – If the server cannot perform the request

Return type:

ProjectMemberAll

class gitlab.v4.objects.ProjectMemberManager(gl: Gitlab, parent: RESTObject | None = None)#

Bases: CRUDMixin, RESTManager

Object Creation

Required attributes for object create:

  • access_level

  • user_id

Optional attributes for object create:

  • expires_at

  • tasks_to_be_done

Object update

Required attributes for object update:

  • access_level

Optional attributes for object update:

  • expires_at

Parameters:
get(id: str | int, lazy: bool = False, **kwargs: Any) ProjectMember#

Retrieve a single object.

Parameters:
  • id (str | int) – 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 (Any) – Extra options to send to the server (e.g. sudo)

Returns:

The generated RESTObject.

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabGetError – If the server cannot perform the request

Return type:

ProjectMember

class gitlab.v4.objects.ProjectMergeRequest(manager: RESTManager, attrs: Dict[str, Any], *, created_from_list: bool = False, lazy: bool = False)#

Bases: SubscribableMixin, TodoMixin, TimeTrackingMixin, ParticipantsMixin, SaveMixin, ObjectDeleteMixin, RESTObject

Parameters:
  • manager (RESTManager) –

  • attrs (Dict[str, Any]) –

  • created_from_list (bool) –

  • lazy (bool) –

approval_rules: ProjectMergeRequestApprovalRuleManager#
approval_state: ProjectMergeRequestApprovalStateManager#
approvals: ProjectMergeRequestApprovalManager#
approve(sha: str | None = None, **kwargs: Any) Dict[str, Any]#

Approve the merge request.

Parameters:
  • sha (str | None) – Head SHA of MR

  • **kwargs (Any) – Extra options to send to the server (e.g. sudo)

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabMRApprovalError – If the approval failed

Returns:

A dict containing the result.

Return type:

Dict[str, Any]

https://docs.gitlab.com/ee/api/merge_request_approvals.html#approve-merge-request

awardemojis: ProjectMergeRequestAwardEmojiManager#
cancel_merge_when_pipeline_succeeds(**kwargs: Any) Dict[str, str]#

Cancel merge when the pipeline succeeds.

Parameters:

**kwargs (Any) – Extra options to send to the server (e.g. sudo)

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabMROnBuildSuccessError – If the server could not handle the request

Returns:

dict of the parsed json returned by the server

Return type:

Dict[str, str]

changes(**kwargs: Any) Dict[str, Any] | Response#

List the merge request changes.

Parameters:

**kwargs (Any) – Extra options to send to the server (e.g. sudo)

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabListError – If the list could not be retrieved

Returns:

List of changes

Return type:

Dict[str, Any] | Response

closes_issues(**kwargs: Any) RESTObjectList#

List issues that will close on merge.”

Parameters:
  • all – If True, return all the items, without pagination

  • per_page – Number of items to retrieve per request

  • page – ID of the page to return (starts with page 1)

  • **kwargs (Any) – Extra options to send to the server (e.g. sudo)

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabListError – If the list could not be retrieved

Returns:

List of issues

Return type:

RESTObjectList

commits(**kwargs: Any) RESTObjectList#

List the merge request commits.

Parameters:
  • all – If True, return all the items, without pagination

  • per_page – Number of items to retrieve per request

  • page – ID of the page to return (starts with page 1)

  • **kwargs (Any) – Extra options to send to the server (e.g. sudo)

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabListError – If the list could not be retrieved

Returns:

The list of commits

Return type:

RESTObjectList

diffs: ProjectMergeRequestDiffManager#
discussions: ProjectMergeRequestDiscussionManager#
draft_notes: ProjectMergeRequestDraftNoteManager#
merge(merge_commit_message: str | None = None, should_remove_source_branch: bool | None = None, merge_when_pipeline_succeeds: bool | None = None, **kwargs: Any) Dict[str, Any]#

Accept the merge request.

Parameters:
  • merge_commit_message (str | None) – Commit message

  • should_remove_source_branch (bool | None) – If True, removes the source branch

  • merge_when_pipeline_succeeds (bool | None) – Wait for the build to succeed, then merge

  • **kwargs (Any) – Extra options to send to the server (e.g. sudo)

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabMRClosedError – If the merge failed

Return type:

Dict[str, Any]

merge_ref(**kwargs: Any) Dict[str, Any] | Response#
Attempt to merge changes between source and target branches into

refs/merge-requests/:iid/merge.

Parameters:

**kwargs (Any) – Extra options to send to the server (e.g. sudo)

Raises:

GitlabGetError – If cannot be merged

Return type:

Dict[str, Any] | Response

notes: ProjectMergeRequestNoteManager#
pipelines: ProjectMergeRequestPipelineManager#
rebase(**kwargs: Any) Dict[str, Any] | Response#

Attempt to rebase the source branch onto the target branch

Parameters:

**kwargs (Any) – Extra options to send to the server (e.g. sudo)

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabMRRebaseError – If rebasing failed

Return type:

Dict[str, Any] | Response

reset_approvals(**kwargs: Any) Dict[str, Any] | Response#

Clear all approvals of the merge request.

Parameters:

**kwargs (Any) – Extra options to send to the server (e.g. sudo)

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabMRResetApprovalError – If reset approval failed

Return type:

Dict[str, Any] | Response

resourcelabelevents: ProjectMergeRequestResourceLabelEventManager#
resourcemilestoneevents: ProjectMergeRequestResourceMilestoneEventManager#
resourcestateevents: ProjectMergeRequestResourceStateEventManager#
reviewer_details: ProjectMergeRequestReviewerDetailManager#
unapprove(**kwargs: Any) None#

Unapprove the merge request.

Parameters:

**kwargs (Any) – Extra options to send to the server (e.g. sudo)

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabMRApprovalError – If the unapproval failed

Return type:

None

https://docs.gitlab.com/ee/api/merge_request_approvals.html#unapprove-merge-request

class gitlab.v4.objects.ProjectMergeRequestApproval(manager: RESTManager, attrs: Dict[str, Any], *, created_from_list: bool = False, lazy: bool = False)#

Bases: SaveMixin, RESTObject

Parameters:
  • manager (RESTManager) –

  • attrs (Dict[str, Any]) –

  • created_from_list (bool) –

  • lazy (bool) –

class gitlab.v4.objects.ProjectMergeRequestApprovalManager(gl: Gitlab, parent: RESTObject | None = None)#

Bases: GetWithoutIdMixin, UpdateMixin, RESTManager

Object Creation

Object update

Required attributes for object update:

  • approvals_required

Parameters:
get(**kwargs: Any) ProjectMergeRequestApproval#

Retrieve a single object.

Parameters:

**kwargs (Any) – Extra options to send to the server (e.g. sudo)

Returns:

The generated RESTObject

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabGetError – If the server cannot perform the request

Return type:

ProjectMergeRequestApproval

set_approvers(approvals_required: int, approver_ids: List[int] | None = None, approver_group_ids: List[int] | None = None, approval_rule_name: str = 'name', **kwargs: Any) RESTObject#

Change MR-level allowed approvers and approver groups.

Parameters:
  • approvals_required (int) – The number of required approvals for this rule

  • approver_ids (List[int] | None) – User IDs that can approve MRs

  • approver_group_ids (List[int] | None) – Group IDs whose members can approve MRs

  • approval_rule_name (str) –

  • kwargs (Any) –

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabUpdateError – If the server failed to perform the request

Return type:

RESTObject

class gitlab.v4.objects.ProjectMergeRequestApprovalRule(manager: RESTManager, attrs: Dict[str, Any], *, created_from_list: bool = False, lazy: bool = False)#

Bases: SaveMixin, ObjectDeleteMixin, RESTObject

Parameters:
  • manager (RESTManager) –

  • attrs (Dict[str, Any]) –

  • created_from_list (bool) –

  • lazy (bool) –

approval_rule_id: int#
id: int#
merge_request_iid: int#
save(**kwargs: Any) None#

Save the changes made to the object to the server.

The object is updated to match what the server returns.

Parameters:

**kwargs (Any) – Extra options to send to the server (e.g. sudo)

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabUpdateError – If the server cannot perform the request

Return type:

None

class gitlab.v4.objects.ProjectMergeRequestApprovalRuleManager(gl: Gitlab, parent: RESTObject | None = None)#

Bases: CRUDMixin, RESTManager

Object Creation

Required attributes for object create:

  • id

  • merge_request_iid

  • name

  • approvals_required

Optional attributes for object create:

  • approval_project_rule_id

  • user_ids

  • group_ids

Object update

Required attributes for object update:

  • id

  • merge_request_iid

  • approval_rule_id

  • name

  • approvals_required

Optional attributes for object update:

  • user_ids

  • group_ids

Parameters:
create(data: Dict[str, Any] | None = None, **kwargs: Any) RESTObject#

Create a new object.

Parameters:
  • data (Dict[str, Any] | None) – Parameters to send to the server to create the resource

  • **kwargs (Any) – Extra options to send to the server (e.g. sudo or ‘ref_name’, ‘stage’, ‘name’, ‘all’)

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabCreateError – If the server cannot perform the request

Returns:

A new instance of the manage object class build with

the data sent by the server

Return type:

RESTObject

get(id: str | int, lazy: bool = False, **kwargs: Any) ProjectMergeRequestApprovalRule#

Retrieve a single object.

Parameters:
  • id (str | int) – 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 (Any) – Extra options to send to the server (e.g. sudo)

Returns:

The generated RESTObject.

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabGetError – If the server cannot perform the request

Return type:

ProjectMergeRequestApprovalRule

class gitlab.v4.objects.ProjectMergeRequestApprovalState(manager: RESTManager, attrs: Dict[str, Any], *, created_from_list: bool = False, lazy: bool = False)#

Bases: RESTObject

Parameters:
  • manager (RESTManager) –

  • attrs (Dict[str, Any]) –

  • created_from_list (bool) –

  • lazy (bool) –

class gitlab.v4.objects.ProjectMergeRequestApprovalStateManager(gl: Gitlab, parent: RESTObject | None = None)#

Bases: GetWithoutIdMixin, RESTManager

Object Creation

Object update

Parameters:
get(**kwargs: Any) ProjectMergeRequestApprovalState#

Retrieve a single object.

Parameters:

**kwargs (Any) – Extra options to send to the server (e.g. sudo)

Returns:

The generated RESTObject

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabGetError – If the server cannot perform the request

Return type:

ProjectMergeRequestApprovalState

class gitlab.v4.objects.ProjectMergeRequestAwardEmoji(manager: RESTManager, attrs: Dict[str, Any], *, created_from_list: bool = False, lazy: bool = False)#

Bases: ObjectDeleteMixin, RESTObject

Parameters:
  • manager (RESTManager) –

  • attrs (Dict[str, Any]) –

  • created_from_list (bool) –

  • lazy (bool) –

class gitlab.v4.objects.ProjectMergeRequestAwardEmojiManager(gl: Gitlab, parent: RESTObject | None = None)#

Bases: NoUpdateMixin, RESTManager

Object Creation

Required attributes for object create:

  • name

Object update

Parameters:
get(id: str | int, lazy: bool = False, **kwargs: Any) ProjectMergeRequestAwardEmoji#

Retrieve a single object.

Parameters:
  • id (str | int) – 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 (Any) – Extra options to send to the server (e.g. sudo)

Returns:

The generated RESTObject.

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabGetError – If the server cannot perform the request

Return type:

ProjectMergeRequestAwardEmoji

class gitlab.v4.objects.ProjectMergeRequestDiff(manager: RESTManager, attrs: Dict[str, Any], *, created_from_list: bool = False, lazy: bool = False)#

Bases: RESTObject

Parameters:
  • manager (RESTManager) –

  • attrs (Dict[str, Any]) –

  • created_from_list (bool) –

  • lazy (bool) –

class gitlab.v4.objects.ProjectMergeRequestDiffManager(gl: Gitlab, parent: RESTObject | None = None)#

Bases: RetrieveMixin, RESTManager

Object Creation

Object update

Parameters:
get(id: str | int, lazy: bool = False, **kwargs: Any) ProjectMergeRequestDiff#

Retrieve a single object.

Parameters:
  • id (str | int) – 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 (Any) – Extra options to send to the server (e.g. sudo)

Returns:

The generated RESTObject.

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabGetError – If the server cannot perform the request

Return type:

ProjectMergeRequestDiff

class gitlab.v4.objects.ProjectMergeRequestDiscussion(manager: RESTManager, attrs: Dict[str, Any], *, created_from_list: bool = False, lazy: bool = False)#

Bases: SaveMixin, RESTObject

Parameters:
  • manager (RESTManager) –

  • attrs (Dict[str, Any]) –

  • created_from_list (bool) –

  • lazy (bool) –

notes: ProjectMergeRequestDiscussionNoteManager#
class gitlab.v4.objects.ProjectMergeRequestDiscussionManager(gl: Gitlab, parent: RESTObject | None = None)#

Bases: RetrieveMixin, CreateMixin, UpdateMixin, RESTManager

Object Creation

Required attributes for object create:

  • body

Optional attributes for object create:

  • created_at

  • position

Object update

Required attributes for object update:

  • resolved

Parameters:
get(id: str | int, lazy: bool = False, **kwargs: Any) ProjectMergeRequestDiscussion#

Retrieve a single object.

Parameters:
  • id (str | int) – 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 (Any) – Extra options to send to the server (e.g. sudo)

Returns:

The generated RESTObject.

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabGetError – If the server cannot perform the request

Return type:

ProjectMergeRequestDiscussion

class gitlab.v4.objects.ProjectMergeRequestDiscussionNote(manager: RESTManager, attrs: Dict[str, Any], *, created_from_list: bool = False, lazy: bool = False)#

Bases: SaveMixin, ObjectDeleteMixin, RESTObject

Parameters:
  • manager (RESTManager) –

  • attrs (Dict[str, Any]) –

  • created_from_list (bool) –

  • lazy (bool) –

class gitlab.v4.objects.ProjectMergeRequestDiscussionNoteManager(gl: Gitlab, parent: RESTObject | None = None)#

Bases: GetMixin, CreateMixin, UpdateMixin, DeleteMixin, RESTManager

Object Creation

Required attributes for object create:

  • body

Optional attributes for object create:

  • created_at

Object update

Required attributes for object update:

  • body

Parameters:
get(id: str | int, lazy: bool = False, **kwargs: Any) ProjectMergeRequestDiscussionNote#

Retrieve a single object.

Parameters:
  • id (str | int) – 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 (Any) – Extra options to send to the server (e.g. sudo)

Returns:

The generated RESTObject.

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabGetError – If the server cannot perform the request

Return type:

ProjectMergeRequestDiscussionNote

class gitlab.v4.objects.ProjectMergeRequestDraftNote(manager: RESTManager, attrs: Dict[str, Any], *, created_from_list: bool = False, lazy: bool = False)#

Bases: ObjectDeleteMixin, SaveMixin, RESTObject

Parameters:
  • manager (RESTManager) –

  • attrs (Dict[str, Any]) –

  • created_from_list (bool) –

  • lazy (bool) –

publish(**kwargs: Any) None#
Parameters:

kwargs (Any) –

Return type:

None

class gitlab.v4.objects.ProjectMergeRequestDraftNoteManager(gl: Gitlab, parent: RESTObject | None = None)#

Bases: CRUDMixin, RESTManager

Object Creation

Required attributes for object create:

  • note

Optional attributes for object create:

  • commit_id

  • in_reply_to_discussion_id

  • position

  • resolve_discussion

Object update

Optional attributes for object update:

  • position

Parameters:
bulk_publish(**kwargs: Any) None#
Parameters:

kwargs (Any) –

Return type:

None

get(id: str | int, lazy: bool = False, **kwargs: Any) ProjectMergeRequestDraftNote#

Retrieve a single object.

Parameters:
  • id (str | int) – 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 (Any) – Extra options to send to the server (e.g. sudo)

Returns:

The generated RESTObject.

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabGetError – If the server cannot perform the request

Return type:

ProjectMergeRequestDraftNote

class gitlab.v4.objects.ProjectMergeRequestManager(gl: Gitlab, parent: RESTObject | None = None)#

Bases: CRUDMixin, RESTManager

Object listing filters

  • state

  • order_by

  • sort

  • milestone

  • view

  • labels

  • created_after

  • created_before

  • updated_after

  • updated_before

  • scope

  • iids

  • author_id

  • assignee_id

  • approver_ids

  • approved_by_ids

  • my_reaction_emoji

  • source_branch

  • target_branch

  • search

  • wip

Object Creation

Required attributes for object create:

  • source_branch

  • target_branch

  • title

Optional attributes for object create:

  • allow_collaboration

  • allow_maintainer_to_push

  • approvals_before_merge

  • assignee_id

  • assignee_ids

  • description

  • labels

  • milestone_id

  • remove_source_branch

  • reviewer_ids

  • squash

  • target_project_id

Object update

Optional attributes for object update:

  • target_branch

  • assignee_id

  • title

  • description

  • state_event

  • labels

  • milestone_id

  • remove_source_branch

  • discussion_locked

  • allow_maintainer_to_push

  • squash

  • reviewer_ids

Parameters:
get(id: str | int, lazy: bool = False, **kwargs: Any) ProjectMergeRequest#

Retrieve a single object.

Parameters:
  • id (str | int) – 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 (Any) – Extra options to send to the server (e.g. sudo)

Returns:

The generated RESTObject.

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabGetError – If the server cannot perform the request

Return type:

ProjectMergeRequest

class gitlab.v4.objects.ProjectMergeRequestNote(manager: RESTManager, attrs: Dict[str, Any], *, created_from_list: bool = False, lazy: bool = False)#

Bases: SaveMixin, ObjectDeleteMixin, RESTObject

Parameters:
  • manager (RESTManager) –

  • attrs (Dict[str, Any]) –

  • created_from_list (bool) –

  • lazy (bool) –

awardemojis: ProjectMergeRequestNoteAwardEmojiManager#
class gitlab.v4.objects.ProjectMergeRequestNoteAwardEmoji(manager: RESTManager, attrs: Dict[str, Any], *, created_from_list: bool = False, lazy: bool = False)#

Bases: ObjectDeleteMixin, RESTObject

Parameters:
  • manager (RESTManager) –

  • attrs (Dict[str, Any]) –

  • created_from_list (bool) –

  • lazy (bool) –

class gitlab.v4.objects.ProjectMergeRequestNoteAwardEmojiManager(gl: Gitlab, parent: RESTObject | None = None)#

Bases: NoUpdateMixin, RESTManager

Object Creation

Required attributes for object create:

  • name

Object update

Parameters:
get(id: str | int, lazy: bool = False, **kwargs: Any) ProjectMergeRequestNoteAwardEmoji#

Retrieve a single object.

Parameters:
  • id (str | int) – 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 (Any) – Extra options to send to the server (e.g. sudo)

Returns:

The generated RESTObject.

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabGetError – If the server cannot perform the request

Return type:

ProjectMergeRequestNoteAwardEmoji

class gitlab.v4.objects.ProjectMergeRequestNoteManager(gl: Gitlab, parent: RESTObject | None = None)#

Bases: CRUDMixin, RESTManager

Object Creation

Required attributes for object create:

  • body

Object update

Required attributes for object update:

  • body

Parameters:
get(id: str | int, lazy: bool = False, **kwargs: Any) ProjectMergeRequestNote#

Retrieve a single object.

Parameters:
  • id (str | int) – 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 (Any) – Extra options to send to the server (e.g. sudo)

Returns:

The generated RESTObject.

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabGetError – If the server cannot perform the request

Return type:

ProjectMergeRequestNote

class gitlab.v4.objects.ProjectMergeRequestPipeline(manager: RESTManager, attrs: Dict[str, Any], *, created_from_list: bool = False, lazy: bool = False)#

Bases: RESTObject

Parameters:
  • manager (RESTManager) –

  • attrs (Dict[str, Any]) –

  • created_from_list (bool) –

  • lazy (bool) –

class gitlab.v4.objects.ProjectMergeRequestPipelineManager(gl: Gitlab, parent: RESTObject | None = None)#

Bases: CreateMixin, ListMixin, RESTManager

Object Creation

Object update

Parameters:
class gitlab.v4.objects.ProjectMergeRequestResourceLabelEvent(manager: RESTManager, attrs: Dict[str, Any], *, created_from_list: bool = False, lazy: bool = False)#

Bases: RESTObject

Parameters:
  • manager (RESTManager) –

  • attrs (Dict[str, Any]) –

  • created_from_list (bool) –

  • lazy (bool) –

class gitlab.v4.objects.ProjectMergeRequestResourceLabelEventManager(gl: Gitlab, parent: RESTObject | None = None)#

Bases: RetrieveMixin, RESTManager

Object Creation

Object update

Parameters:
get(id: str | int, lazy: bool = False, **kwargs: Any) ProjectMergeRequestResourceLabelEvent#

Retrieve a single object.

Parameters:
  • id (str | int) – 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 (Any) – Extra options to send to the server (e.g. sudo)

Returns:

The generated RESTObject.

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabGetError – If the server cannot perform the request

Return type:

ProjectMergeRequestResourceLabelEvent

class gitlab.v4.objects.ProjectMergeRequestResourceMilestoneEvent(manager: RESTManager, attrs: Dict[str, Any], *, created_from_list: bool = False, lazy: bool = False)#

Bases: RESTObject

Parameters:
  • manager (RESTManager) –

  • attrs (Dict[str, Any]) –

  • created_from_list (bool) –

  • lazy (bool) –

class gitlab.v4.objects.ProjectMergeRequestResourceMilestoneEventManager(gl: Gitlab, parent: RESTObject | None = None)#

Bases: RetrieveMixin, RESTManager

Object Creation

Object update

Parameters:
get(id: str | int, lazy: bool = False, **kwargs: Any) ProjectMergeRequestResourceMilestoneEvent#

Retrieve a single object.

Parameters:
  • id (str | int) – 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 (Any) – Extra options to send to the server (e.g. sudo)

Returns:

The generated RESTObject.

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabGetError – If the server cannot perform the request

Return type:

ProjectMergeRequestResourceMilestoneEvent

class gitlab.v4.objects.ProjectMergeRequestResourceStateEvent(manager: RESTManager, attrs: Dict[str, Any], *, created_from_list: bool = False, lazy: bool = False)#

Bases: RESTObject

Parameters:
  • manager (RESTManager) –

  • attrs (Dict[str, Any]) –

  • created_from_list (bool) –

  • lazy (bool) –

class gitlab.v4.objects.ProjectMergeRequestResourceStateEventManager(gl: Gitlab, parent: RESTObject | None = None)#

Bases: RetrieveMixin, RESTManager

Object Creation

Object update

Parameters:
get(id: str | int, lazy: bool = False, **kwargs: Any) ProjectMergeRequestResourceStateEvent#

Retrieve a single object.

Parameters:
  • id (str | int) – 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 (Any) – Extra options to send to the server (e.g. sudo)

Returns:

The generated RESTObject.

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabGetError – If the server cannot perform the request

Return type:

ProjectMergeRequestResourceStateEvent

class gitlab.v4.objects.ProjectMergeRequestReviewerDetail(manager: RESTManager, attrs: Dict[str, Any], *, created_from_list: bool = False, lazy: bool = False)#

Bases: RESTObject

Parameters:
  • manager (RESTManager) –

  • attrs (Dict[str, Any]) –

  • created_from_list (bool) –

  • lazy (bool) –

class gitlab.v4.objects.ProjectMergeRequestReviewerDetailManager(gl: Gitlab, parent: RESTObject | None = None)#

Bases: ListMixin, RESTManager

Object Creation

Object update

Parameters:
class gitlab.v4.objects.ProjectMergeTrain(manager: RESTManager, attrs: Dict[str, Any], *, created_from_list: bool = False, lazy: bool = False)#

Bases: RESTObject

Parameters:
  • manager (RESTManager) –

  • attrs (Dict[str, Any]) –

  • created_from_list (bool) –

  • lazy (bool) –

class gitlab.v4.objects.ProjectMergeTrainManager(gl: Gitlab, parent: RESTObject | None = None)#

Bases: ListMixin, RESTManager

Object listing filters

  • scope

Object Creation

Object update

Parameters:
class gitlab.v4.objects.ProjectMilestone(manager: RESTManager, attrs: Dict[str, Any], *, created_from_list: bool = False, lazy: bool = False)#

Bases: PromoteMixin, SaveMixin, ObjectDeleteMixin, RESTObject

Parameters:
  • manager (RESTManager) –

  • attrs (Dict[str, Any]) –

  • created_from_list (bool) –

  • lazy (bool) –

issues(**kwargs: Any) RESTObjectList#

List issues related to this milestone.

Parameters:
  • all – If True, return all the items, without pagination

  • per_page – Number of items to retrieve per request

  • page – ID of the page to return (starts with page 1)

  • **kwargs (Any) – Extra options to send to the server (e.g. sudo)

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabListError – If the list could not be retrieved

Returns:

The list of issues

Return type:

RESTObjectList

merge_requests(**kwargs: Any) RESTObjectList#

List the merge requests related to this milestone.

Parameters:
  • all – If True, return all the items, without pagination

  • per_page – Number of items to retrieve per request

  • page – ID of the page to return (starts with page 1)

  • **kwargs (Any) – Extra options to send to the server (e.g. sudo)

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabListError – If the list could not be retrieved

Returns:

The list of merge requests

Return type:

RESTObjectList

class gitlab.v4.objects.ProjectMilestoneManager(gl: Gitlab, parent: RESTObject | None = None)#

Bases: CRUDMixin, RESTManager

Object listing filters

  • iids

  • state

  • search

Object Creation

Required attributes for object create:

  • title

Optional attributes for object create:

  • description

  • due_date

  • start_date

  • state_event

Object update

Optional attributes for object update:

  • title

  • description

  • due_date

  • start_date

  • state_event

Parameters:
get(id: str | int, lazy: bool = False, **kwargs: Any) ProjectMilestone#

Retrieve a single object.

Parameters:
  • id (str | int) – 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 (Any) – Extra options to send to the server (e.g. sudo)

Returns:

The generated RESTObject.

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabGetError – If the server cannot perform the request

Return type:

ProjectMilestone

class gitlab.v4.objects.ProjectNote(manager: RESTManager, attrs: Dict[str, Any], *, created_from_list: bool = False, lazy: bool = False)#

Bases: RESTObject

Parameters:
  • manager (RESTManager) –

  • attrs (Dict[str, Any]) –

  • created_from_list (bool) –

  • lazy (bool) –

class gitlab.v4.objects.ProjectNoteManager(gl: Gitlab, parent: RESTObject | None = None)#

Bases: RetrieveMixin, RESTManager

Object Creation

Required attributes for object create:

  • body

Object update

Parameters:
get(id: str | int, lazy: bool = False, **kwargs: Any) ProjectNote#

Retrieve a single object.

Parameters:
  • id (str | int) – 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 (Any) – Extra options to send to the server (e.g. sudo)

Returns:

The generated RESTObject.

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabGetError – If the server cannot perform the request

Return type:

ProjectNote

class gitlab.v4.objects.ProjectNotificationSettings(manager: RESTManager, attrs: Dict[str, Any], *, created_from_list: bool = False, lazy: bool = False)#

Bases: NotificationSettings

Parameters:
  • manager (RESTManager) –

  • attrs (Dict[str, Any]) –

  • created_from_list (bool) –

  • lazy (bool) –

class gitlab.v4.objects.ProjectNotificationSettingsManager(gl: Gitlab, parent: RESTObject | None = None)#

Bases: NotificationSettingsManager

Object Creation

Object update

Optional attributes for object update:

  • level

  • notification_email

  • new_note

  • new_issue

  • reopen_issue

  • close_issue

  • reassign_issue

  • new_merge_request

  • reopen_merge_request

  • close_merge_request

  • reassign_merge_request

  • merge_merge_request

Parameters:
get(**kwargs: Any) ProjectNotificationSettings#

Retrieve a single object.

Parameters:

**kwargs (Any) – Extra options to send to the server (e.g. sudo)

Returns:

The generated RESTObject

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabGetError – If the server cannot perform the request

Return type:

ProjectNotificationSettings

class gitlab.v4.objects.ProjectPackage(manager: RESTManager, attrs: Dict[str, Any], *, created_from_list: bool = False, lazy: bool = False)#

Bases: ObjectDeleteMixin, RESTObject

Parameters:
  • manager (RESTManager) –

  • attrs (Dict[str, Any]) –

  • created_from_list (bool) –

  • lazy (bool) –

package_files: ProjectPackageFileManager#
pipelines: ProjectPackagePipelineManager#
class gitlab.v4.objects.ProjectPackageFile(manager: RESTManager, attrs: Dict[str, Any], *, created_from_list: bool = False, lazy: bool = False)#

Bases: ObjectDeleteMixin, RESTObject

Parameters:
  • manager (RESTManager) –

  • attrs (Dict[str, Any]) –

  • created_from_list (bool) –

  • lazy (bool) –

class gitlab.v4.objects.ProjectPackageFileManager(gl: Gitlab, parent: RESTObject | None = None)#

Bases: DeleteMixin, ListMixin, RESTManager

Object Creation

Object update

Parameters:
class gitlab.v4.objects.ProjectPackageManager(gl: Gitlab, parent: RESTObject | None = None)#

Bases: ListMixin, GetMixin, DeleteMixin, RESTManager

Object listing filters

  • order_by

  • sort

  • package_type

  • package_name

Object Creation

Object update

Parameters:
get(id: str | int, lazy: bool = False, **kwargs: Any) ProjectPackage#

Retrieve a single object.

Parameters:
  • id (str | int) – 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 (Any) – Extra options to send to the server (e.g. sudo)

Returns:

The generated RESTObject.

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabGetError – If the server cannot perform the request

Return type:

ProjectPackage

class gitlab.v4.objects.ProjectPackagePipeline(manager: RESTManager, attrs: Dict[str, Any], *, created_from_list: bool = False, lazy: bool = False)#

Bases: RESTObject

Parameters:
  • manager (RESTManager) –

  • attrs (Dict[str, Any]) –

  • created_from_list (bool) –

  • lazy (bool) –

class gitlab.v4.objects.ProjectPackagePipelineManager(gl: Gitlab, parent: RESTObject | None = None)#

Bases: ListMixin, RESTManager

Object Creation

Object update

Parameters:
class gitlab.v4.objects.ProjectPagesDomain(manager: RESTManager, attrs: Dict[str, Any], *, created_from_list: bool = False, lazy: bool = False)#

Bases: SaveMixin, ObjectDeleteMixin, RESTObject

Parameters:
  • manager (RESTManager) –

  • attrs (Dict[str, Any]) –

  • created_from_list (bool) –

  • lazy (bool) –

class gitlab.v4.objects.ProjectPagesDomainManager(gl: Gitlab, parent: RESTObject | None = None)#

Bases: CRUDMixin, RESTManager

Object Creation

Required attributes for object create:

  • domain

Optional attributes for object create:

  • certificate

  • key

Object update

Optional attributes for object update:

  • certificate

  • key

Parameters:
get(id: str | int, lazy: bool = False, **kwargs: Any) ProjectPagesDomain#

Retrieve a single object.

Parameters:
  • id (str | int) – 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 (Any) – Extra options to send to the server (e.g. sudo)

Returns:

The generated RESTObject.

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabGetError – If the server cannot perform the request

Return type:

ProjectPagesDomain

class gitlab.v4.objects.ProjectPipeline(manager: RESTManager, attrs: Dict[str, Any], *, created_from_list: bool = False, lazy: bool = False)#

Bases: RefreshMixin, ObjectDeleteMixin, RESTObject

Parameters:
  • manager (RESTManager) –

  • attrs (Dict[str, Any]) –

  • created_from_list (bool) –

  • lazy (bool) –

bridges: ProjectPipelineBridgeManager#
cancel(**kwargs: Any) Dict[str, Any] | Response#

Cancel the job.

Parameters:

**kwargs (Any) – Extra options to send to the server (e.g. sudo)

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabPipelineCancelError – If the request failed

Return type:

Dict[str, Any] | Response

jobs: ProjectPipelineJobManager#
retry(**kwargs: Any) Dict[str, Any] | Response#

Retry the job.

Parameters:

**kwargs (Any) – Extra options to send to the server (e.g. sudo)

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabPipelineRetryError – If the request failed

Return type:

Dict[str, Any] | Response

test_report: ProjectPipelineTestReportManager#
test_report_summary: ProjectPipelineTestReportSummaryManager#
variables: ProjectPipelineVariableManager#
class gitlab.v4.objects.ProjectPipelineBridge(manager: RESTManager, attrs: Dict[str, Any], *, created_from_list: bool = False, lazy: bool = False)#

Bases: RESTObject

Parameters:
  • manager (RESTManager) –

  • attrs (Dict[str, Any]) –

  • created_from_list (bool) –

  • lazy (bool) –

class gitlab.v4.objects.ProjectPipelineBridgeManager(gl: Gitlab, parent: RESTObject | None = None)#

Bases: ListMixin, RESTManager

Object listing filters

  • scope

Object Creation

Object update

Parameters:
class gitlab.v4.objects.ProjectPipelineJob(manager: RESTManager, attrs: Dict[str, Any], *, created_from_list: bool = False, lazy: bool = False)#

Bases: RESTObject

Parameters:
  • manager (RESTManager) –

  • attrs (Dict[str, Any]) –

  • created_from_list (bool) –

  • lazy (bool) –

class gitlab.v4.objects.ProjectPipelineJobManager(gl: Gitlab, parent: RESTObject | None = None)#

Bases: ListMixin, RESTManager

Object listing filters

  • scope

  • include_retried

Object Creation

Object update

Parameters:
class gitlab.v4.objects.ProjectPipelineManager(gl: Gitlab, parent: RESTObject | None = None)#

Bases: RetrieveMixin, CreateMixin, DeleteMixin, RESTManager

Object listing filters

  • scope

  • status

  • source

  • ref

  • sha

  • yaml_errors

  • name

  • username

  • order_by

  • sort

Object Creation

Required attributes for object create:

  • ref

Object update

Parameters:
create(data: Dict[str, Any] | None = None, **kwargs: Any) ProjectPipeline#

Creates a new object.

Parameters:
  • data (Dict[str, Any] | None) – Parameters to send to the server to create the resource

  • **kwargs (Any) – Extra options to send to the server (e.g. sudo)

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabCreateError – If the server cannot perform the request

Returns:

A new instance of the managed object class build with

the data sent by the server

Return type:

ProjectPipeline

get(id: str | int, lazy: bool = False, **kwargs: Any) ProjectPipeline#

Retrieve a single object.

Parameters:
  • id (str | int) – 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 (Any) – Extra options to send to the server (e.g. sudo)

Returns:

The generated RESTObject.

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabGetError – If the server cannot perform the request

Return type:

ProjectPipeline

class gitlab.v4.objects.ProjectPipelineSchedule(manager: RESTManager, attrs: Dict[str, Any], *, created_from_list: bool = False, lazy: bool = False)#

Bases: SaveMixin, ObjectDeleteMixin, RESTObject

Parameters:
  • manager (RESTManager) –

  • attrs (Dict[str, Any]) –

  • created_from_list (bool) –

  • lazy (bool) –

pipelines: ProjectPipelineSchedulePipelineManager#
play(**kwargs: Any) Dict[str, Any]#

Trigger a new scheduled pipeline, which runs immediately. The next scheduled run of this pipeline is not affected.

Parameters:

**kwargs (Any) – Extra options to send to the server (e.g. sudo)

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabPipelinePlayError – If the request failed

Return type:

Dict[str, Any]

take_ownership(**kwargs: Any) None#

Update the owner of a pipeline schedule.

Parameters:

**kwargs (Any) – Extra options to send to the server (e.g. sudo)

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabOwnershipError – If the request failed

Return type:

None

variables: ProjectPipelineScheduleVariableManager#
class gitlab.v4.objects.ProjectPipelineScheduleManager(gl: Gitlab, parent: RESTObject | None = None)#

Bases: CRUDMixin, RESTManager

Object Creation

Required attributes for object create:

  • description

  • ref

  • cron

Optional attributes for object create:

  • cron_timezone

  • active

Object update

Optional attributes for object update:

  • description

  • ref

  • cron

  • cron_timezone

  • active

Parameters:
get(id: str | int, lazy: bool = False, **kwargs: Any) ProjectPipelineSchedule#

Retrieve a single object.

Parameters:
  • id (str | int) – 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 (Any) – Extra options to send to the server (e.g. sudo)

Returns:

The generated RESTObject.

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabGetError – If the server cannot perform the request

Return type:

ProjectPipelineSchedule

class gitlab.v4.objects.ProjectPipelineSchedulePipeline(manager: RESTManager, attrs: Dict[str, Any], *, created_from_list: bool = False, lazy: bool = False)#

Bases: RESTObject

Parameters:
  • manager (RESTManager) –

  • attrs (Dict[str, Any]) –

  • created_from_list (bool) –

  • lazy (bool) –

class gitlab.v4.objects.ProjectPipelineSchedulePipelineManager(gl: Gitlab, parent: RESTObject | None = None)#

Bases: ListMixin, RESTManager

Object Creation

Object update

Parameters:
class gitlab.v4.objects.ProjectPipelineScheduleVariable(manager: RESTManager, attrs: Dict[str, Any], *, created_from_list: bool = False, lazy: bool = False)#

Bases: SaveMixin, ObjectDeleteMixin, RESTObject

Parameters:
  • manager (RESTManager) –

  • attrs (Dict[str, Any]) –

  • created_from_list (bool) –

  • lazy (bool) –

class gitlab.v4.objects.ProjectPipelineScheduleVariableManager(gl: Gitlab, parent: RESTObject | None = None)#

Bases: CreateMixin, UpdateMixin, DeleteMixin, RESTManager

Object Creation

Required attributes for object create:

  • key

  • value

Object update

Required attributes for object update:

  • key

  • value

Parameters:
class gitlab.v4.objects.ProjectPipelineTestReport(manager: RESTManager, attrs: Dict[str, Any], *, created_from_list: bool = False, lazy: bool = False)#

Bases: RESTObject

Parameters:
  • manager (RESTManager) –

  • attrs (Dict[str, Any]) –

  • created_from_list (bool) –

  • lazy (bool) –

class gitlab.v4.objects.ProjectPipelineTestReportManager(gl: Gitlab, parent: RESTObject | None = None)#

Bases: GetWithoutIdMixin, RESTManager

Object Creation

Object update

Parameters:
get(**kwargs: Any) ProjectPipelineTestReport#

Retrieve a single object.

Parameters:

**kwargs (Any) – Extra options to send to the server (e.g. sudo)

Returns:

The generated RESTObject

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabGetError – If the server cannot perform the request

Return type:

ProjectPipelineTestReport

class gitlab.v4.objects.ProjectPipelineTestReportSummary(manager: RESTManager, attrs: Dict[str, Any], *, created_from_list: bool = False, lazy: bool = False)#

Bases: RESTObject

Parameters:
  • manager (RESTManager) –

  • attrs (Dict[str, Any]) –

  • created_from_list (bool) –

  • lazy (bool) –

class gitlab.v4.objects.ProjectPipelineTestReportSummaryManager(gl: Gitlab, parent: RESTObject | None = None)#

Bases: GetWithoutIdMixin, RESTManager

Object Creation

Object update

Parameters:
get(**kwargs: Any) ProjectPipelineTestReportSummary#

Retrieve a single object.

Parameters:

**kwargs (Any) – Extra options to send to the server (e.g. sudo)

Returns:

The generated RESTObject

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabGetError – If the server cannot perform the request

Return type:

ProjectPipelineTestReportSummary

class gitlab.v4.objects.ProjectPipelineVariable(manager: RESTManager, attrs: Dict[str, Any], *, created_from_list: bool = False, lazy: bool = False)#

Bases: RESTObject

Parameters:
  • manager (RESTManager) –

  • attrs (Dict[str, Any]) –

  • created_from_list (bool) –

  • lazy (bool) –

class gitlab.v4.objects.ProjectPipelineVariableManager(gl: Gitlab, parent: RESTObject | None = None)#

Bases: ListMixin, RESTManager

Object Creation

Object update

Parameters:
class gitlab.v4.objects.ProjectProtectedBranch(manager: RESTManager, attrs: Dict[str, Any], *, created_from_list: bool = False, lazy: bool = False)#

Bases: SaveMixin, ObjectDeleteMixin, RESTObject

Parameters:
  • manager (RESTManager) –

  • attrs (Dict[str, Any]) –

  • created_from_list (bool) –

  • lazy (bool) –

class gitlab.v4.objects.ProjectProtectedBranchManager(gl: Gitlab, parent: RESTObject | None = None)#

Bases: CRUDMixin, RESTManager

Object Creation

Required attributes for object create:

  • name

Optional attributes for object create:

  • push_access_level

  • merge_access_level

  • unprotect_access_level

  • allow_force_push

  • allowed_to_push

  • allowed_to_merge

  • allowed_to_unprotect

  • code_owner_approval_required

Object update

Parameters:
get(id: str | int, lazy: bool = False, **kwargs: Any) ProjectProtectedBranch#

Retrieve a single object.

Parameters:
  • id (str | int) – 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 (Any) – Extra options to send to the server (e.g. sudo)

Returns:

The generated RESTObject.

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabGetError – If the server cannot perform the request

Return type:

ProjectProtectedBranch

class gitlab.v4.objects.ProjectProtectedEnvironment(manager: RESTManager, attrs: Dict[str, Any], *, created_from_list: bool = False, lazy: bool = False)#

Bases: ObjectDeleteMixin, RESTObject

Parameters:
  • manager (RESTManager) –

  • attrs (Dict[str, Any]) –

  • created_from_list (bool) –

  • lazy (bool) –

class gitlab.v4.objects.ProjectProtectedEnvironmentManager(gl: Gitlab, parent: RESTObject | None = None)#

Bases: RetrieveMixin, CreateMixin, DeleteMixin, RESTManager

Object Creation

Required attributes for object create:

  • name

  • deploy_access_levels

Optional attributes for object create:

  • required_approval_count

  • approval_rules

Object update

Parameters:
get(id: str | int, lazy: bool = False, **kwargs: Any) ProjectProtectedEnvironment#

Retrieve a single object.

Parameters:
  • id (str | int) – 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 (Any) – Extra options to send to the server (e.g. sudo)

Returns:

The generated RESTObject.

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabGetError – If the server cannot perform the request

Return type:

ProjectProtectedEnvironment

class gitlab.v4.objects.ProjectProtectedTag(manager: RESTManager, attrs: Dict[str, Any], *, created_from_list: bool = False, lazy: bool = False)#

Bases: ObjectDeleteMixin, RESTObject

Parameters:
  • manager (RESTManager) –

  • attrs (Dict[str, Any]) –

  • created_from_list (bool) –

  • lazy (bool) –

class gitlab.v4.objects.ProjectProtectedTagManager(gl: Gitlab, parent: RESTObject | None = None)#

Bases: NoUpdateMixin, RESTManager

Object Creation

Required attributes for object create:

  • name

Optional attributes for object create:

  • create_access_level

Object update

Parameters:
get(id: str | int, lazy: bool = False, **kwargs: Any) ProjectProtectedTag#

Retrieve a single object.

Parameters:
  • id (str | int) – 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 (Any) – Extra options to send to the server (e.g. sudo)

Returns:

The generated RESTObject.

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabGetError – If the server cannot perform the request

Return type:

ProjectProtectedTag

class gitlab.v4.objects.ProjectPushRules(manager: RESTManager, attrs: Dict[str, Any], *, created_from_list: bool = False, lazy: bool = False)#

Bases: SaveMixin, ObjectDeleteMixin, RESTObject

Parameters:
  • manager (RESTManager) –

  • attrs (Dict[str, Any]) –

  • created_from_list (bool) –

  • lazy (bool) –

class gitlab.v4.objects.ProjectPushRulesManager(gl: Gitlab, parent: RESTObject | None = None)#

Bases: GetWithoutIdMixin, CreateMixin, UpdateMixin, DeleteMixin, RESTManager

Object Creation

Optional attributes for object create:

  • author_email_regex

  • branch_name_regex

  • commit_committer_check

  • commit_message_negative_regex

  • commit_message_regex

  • deny_delete_tag

  • file_name_regex

  • max_file_size

  • member_check

  • prevent_secrets

  • reject_unsigned_commits

Object update

Optional attributes for object update:

  • author_email_regex

  • branch_name_regex

  • commit_committer_check

  • commit_message_negative_regex

  • commit_message_regex

  • deny_delete_tag

  • file_name_regex

  • max_file_size

  • member_check

  • prevent_secrets

  • reject_unsigned_commits

Parameters:
get(**kwargs: Any) ProjectPushRules#

Retrieve a single object.

Parameters:

**kwargs (Any) – Extra options to send to the server (e.g. sudo)

Returns:

The generated RESTObject

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabGetError – If the server cannot perform the request

Return type:

ProjectPushRules

class gitlab.v4.objects.ProjectRegistryRepository(manager: RESTManager, attrs: Dict[str, Any], *, created_from_list: bool = False, lazy: bool = False)#

Bases: ObjectDeleteMixin, RESTObject

Parameters:
  • manager (RESTManager) –

  • attrs (Dict[str, Any]) –

  • created_from_list (bool) –

  • lazy (bool) –

tags: ProjectRegistryTagManager#
class gitlab.v4.objects.ProjectRegistryRepositoryManager(gl: Gitlab, parent: RESTObject | None = None)#

Bases: DeleteMixin, ListMixin, RESTManager

Object Creation

Object update

Parameters:
class gitlab.v4.objects.ProjectRegistryTag(manager: RESTManager, attrs: Dict[str, Any], *, created_from_list: bool = False, lazy: bool = False)#

Bases: ObjectDeleteMixin, RESTObject

Parameters:
  • manager (RESTManager) –

  • attrs (Dict[str, Any]) –

  • created_from_list (bool) –

  • lazy (bool) –

class gitlab.v4.objects.ProjectRegistryTagManager(gl: Gitlab, parent: RESTObject | None = None)#

Bases: DeleteMixin, RetrieveMixin, RESTManager

Object Creation

Object update

Parameters:
delete_in_bulk(name_regex_delete: str, **kwargs: Any) None#

Delete Tag in bulk

Parameters:
  • name_regex_delete (str) – The regex of the name to delete. To delete all tags specify .*.

  • keep_n – The amount of latest tags of given name to keep.

  • name_regex_keep – The regex of the name to keep. This value overrides any matches from name_regex.

  • older_than – Tags to delete that are older than the given time, written in human readable form 1h, 1d, 1month.

  • **kwargs (Any) – Extra options to send to the server (e.g. sudo)

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabDeleteError – If the server cannot perform the request

Return type:

None

get(id: str | int, lazy: bool = False, **kwargs: Any) ProjectRegistryTag#

Retrieve a single object.

Parameters:
  • id (str | int) – 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 (Any) – Extra options to send to the server (e.g. sudo)

Returns:

The generated RESTObject.

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabGetError – If the server cannot perform the request

Return type:

ProjectRegistryTag

class gitlab.v4.objects.ProjectRelease(manager: RESTManager, attrs: Dict[str, Any], *, created_from_list: bool = False, lazy: bool = False)#

Bases: SaveMixin, RESTObject

Parameters:
  • manager (RESTManager) –

  • attrs (Dict[str, Any]) –

  • created_from_list (bool) –

  • lazy (bool) –

Bases: ObjectDeleteMixin, SaveMixin, RESTObject

Parameters:
  • manager (RESTManager) –

  • attrs (Dict[str, Any]) –

  • created_from_list (bool) –

  • lazy (bool) –

class gitlab.v4.objects.ProjectReleaseLinkManager(gl: Gitlab, parent: RESTObject | None = None)#

Bases: CRUDMixin, RESTManager

Object Creation

Required attributes for object create:

  • name

  • url

Optional attributes for object create:

  • filepath

  • direct_asset_path

  • link_type

Object update

Optional attributes for object update:

  • name

  • url

  • filepath

  • direct_asset_path

  • link_type

Parameters:
get(id: str | int, lazy: bool = False, **kwargs: Any) ProjectReleaseLink#

Retrieve a single object.

Parameters:
  • id (str | int) – 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 (Any) – Extra options to send to the server (e.g. sudo)

Returns:

The generated RESTObject.

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabGetError – If the server cannot perform the request

Return type:

ProjectReleaseLink

class gitlab.v4.objects.ProjectReleaseManager(gl: Gitlab, parent: RESTObject | None = None)#

Bases: CRUDMixin, RESTManager

Object listing filters

  • order_by

  • sort

  • include_html_description

Object Creation

Required attributes for object create:

  • tag_name

Optional attributes for object create:

  • name

  • description

  • ref

  • assets

Object update

Optional attributes for object update:

  • name

  • description

  • milestones

  • released_at

Parameters:
get(id: str | int, lazy: bool = False, **kwargs: Any) ProjectRelease#

Retrieve a single object.

Parameters:
  • id (str | int) – 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 (Any) – Extra options to send to the server (e.g. sudo)

Returns:

The generated RESTObject.

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabGetError – If the server cannot perform the request

Return type:

ProjectRelease

class gitlab.v4.objects.ProjectRemoteMirror(manager: RESTManager, attrs: Dict[str, Any], *, created_from_list: bool = False, lazy: bool = False)#

Bases: ObjectDeleteMixin, SaveMixin, RESTObject

Parameters:
  • manager (RESTManager) –

  • attrs (Dict[str, Any]) –

  • created_from_list (bool) –

  • lazy (bool) –

class gitlab.v4.objects.ProjectRemoteMirrorManager(gl: Gitlab, parent: RESTObject | None = None)#

Bases: ListMixin, CreateMixin, UpdateMixin, DeleteMixin, RESTManager

Object Creation

Required attributes for object create:

  • url

Optional attributes for object create:

  • enabled

  • only_protected_branches

Object update

Optional attributes for object update:

  • enabled

  • only_protected_branches

Parameters:
class gitlab.v4.objects.ProjectResourceGroup(manager: RESTManager, attrs: Dict[str, Any], *, created_from_list: bool = False, lazy: bool = False)#

Bases: SaveMixin, RESTObject

Parameters:
  • manager (RESTManager) –

  • attrs (Dict[str, Any]) –

  • created_from_list (bool) –

  • lazy (bool) –

upcoming_jobs: ProjectResourceGroupUpcomingJobManager#
class gitlab.v4.objects.ProjectResourceGroupManager(gl: Gitlab, parent: RESTObject | None = None)#

Bases: RetrieveMixin, UpdateMixin, RESTManager

Object listing filters

  • order_by

  • sort

  • include_html_description

Object Creation

Object update

Optional attributes for object update:

  • process_mode

Parameters:
get(id: str | int, lazy: bool = False, **kwargs: Any) ProjectResourceGroup#

Retrieve a single object.

Parameters:
  • id (str | int) – 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 (Any) – Extra options to send to the server (e.g. sudo)

Returns:

The generated RESTObject.

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabGetError – If the server cannot perform the request

Return type:

ProjectResourceGroup

class gitlab.v4.objects.ProjectResourceGroupUpcomingJob(manager: RESTManager, attrs: Dict[str, Any], *, created_from_list: bool = False, lazy: bool = False)#

Bases: RESTObject

Parameters:
  • manager (RESTManager) –

  • attrs (Dict[str, Any]) –

  • created_from_list (bool) –

  • lazy (bool) –

class gitlab.v4.objects.ProjectResourceGroupUpcomingJobManager(gl: Gitlab, parent: RESTObject | None = None)#

Bases: ListMixin, RESTManager

Object Creation

Object update

Parameters:
class gitlab.v4.objects.ProjectRunner(manager: RESTManager, attrs: Dict[str, Any], *, created_from_list: bool = False, lazy: bool = False)#

Bases: ObjectDeleteMixin, RESTObject

Parameters:
  • manager (RESTManager) –

  • attrs (Dict[str, Any]) –

  • created_from_list (bool) –

  • lazy (bool) –

class gitlab.v4.objects.ProjectRunnerManager(gl: Gitlab, parent: RESTObject | None = None)#

Bases: CreateMixin, DeleteMixin, ListMixin, RESTManager

Object listing filters

  • scope

  • tag_list

Object Creation

Required attributes for object create:

  • runner_id

Object update

Parameters:
class gitlab.v4.objects.ProjectSecureFile(manager: RESTManager, attrs: Dict[str, Any], *, created_from_list: bool = False, lazy: bool = False)#

Bases: ObjectDeleteMixin, RESTObject

Parameters:
  • manager (RESTManager) –

  • attrs (Dict[str, Any]) –

  • created_from_list (bool) –

  • lazy (bool) –

download(streamed: bool = False, action: Callable[[bytes], None] | None = None, chunk_size: int = 1024, *, iterator: bool = False, **kwargs: Any) bytes | Iterator[Any] | None#

Download the secure file.

Parameters:
  • streamed (bool) – If True the data will be processed by chunks of chunk_size and each chunk is passed to action for treatment

  • iterator (bool) – If True directly return the underlying response iterator

  • action (Callable[[bytes], None] | None) – Callable responsible of dealing with chunk of data

  • chunk_size (int) – Size of each chunk

  • **kwargs (Any) – Extra options to send to the server (e.g. sudo)

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabGetError – If the artifacts could not be retrieved

Returns:

The artifacts if streamed is False, None otherwise.

Return type:

bytes | Iterator[Any] | None

class gitlab.v4.objects.ProjectSecureFileManager(gl: Gitlab, parent: RESTObject | None = None)#

Bases: NoUpdateMixin, RESTManager

Object Creation

Required attributes for object create:

  • name

  • file

Object update

Parameters:
get(id: str | int, lazy: bool = False, **kwargs: Any) ProjectSecureFile#

Retrieve a single object.

Parameters:
  • id (str | int) – 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 (Any) – Extra options to send to the server (e.g. sudo)

Returns:

The generated RESTObject.

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabGetError – If the server cannot perform the request

Return type:

ProjectSecureFile

class gitlab.v4.objects.ProjectService(manager: RESTManager, attrs: Dict[str, Any], *, created_from_list: bool = False, lazy: bool = False)#

Bases: ProjectIntegration

Parameters:
  • manager (RESTManager) –

  • attrs (Dict[str, Any]) –

  • created_from_list (bool) –

  • lazy (bool) –

class gitlab.v4.objects.ProjectServiceManager(gl: Gitlab, parent: RESTObject | None = None)#

Bases: ProjectIntegrationManager

Object Creation

Object update

Parameters:
get(id: str | int, lazy: bool = False, **kwargs: Any) ProjectService#

Retrieve a single object.

Parameters:
  • id (str | int) – 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 (Any) – Extra options to send to the server (e.g. sudo)

Returns:

The generated RESTObject.

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabGetError – If the server cannot perform the request

Return type:

ProjectService

class gitlab.v4.objects.ProjectSnippet(manager: RESTManager, attrs: Dict[str, Any], *, created_from_list: bool = False, lazy: bool = False)#

Bases: UserAgentDetailMixin, SaveMixin, ObjectDeleteMixin, RESTObject

Parameters:
  • manager (RESTManager) –

  • attrs (Dict[str, Any]) –

  • created_from_list (bool) –

  • lazy (bool) –

awardemojis: ProjectSnippetAwardEmojiManager#
content(streamed: bool = False, action: Callable[[...], Any] | None = None, chunk_size: int = 1024, *, iterator: bool = False, **kwargs: Any) bytes | Iterator[Any] | None#

Return the content of a snippet.

Parameters:
  • streamed (bool) – If True the data will be processed by chunks of chunk_size and each chunk is passed to action for treatment.

  • iterator (bool) – If True directly return the underlying response iterator

  • action (Callable[[...], Any] | None) – Callable responsible of dealing with chunk of data

  • chunk_size (int) – Size of each chunk

  • **kwargs (Any) – Extra options to send to the server (e.g. sudo)

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabGetError – If the content could not be retrieved

Returns:

The snippet content

Return type:

bytes | Iterator[Any] | None

discussions: ProjectSnippetDiscussionManager#
notes: ProjectSnippetNoteManager#
class gitlab.v4.objects.ProjectSnippetAwardEmoji(manager: RESTManager, attrs: Dict[str, Any], *, created_from_list: bool = False, lazy: bool = False)#

Bases: ObjectDeleteMixin, RESTObject

Parameters:
  • manager (RESTManager) –

  • attrs (Dict[str, Any]) –

  • created_from_list (bool) –

  • lazy (bool) –

class gitlab.v4.objects.ProjectSnippetAwardEmojiManager(gl: Gitlab, parent: RESTObject | None = None)#

Bases: NoUpdateMixin, RESTManager

Object Creation

Required attributes for object create:

  • name

Object update

Parameters:
get(id: str | int, lazy: bool = False, **kwargs: Any) ProjectSnippetAwardEmoji#

Retrieve a single object.

Parameters:
  • id (str | int) – 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 (Any) – Extra options to send to the server (e.g. sudo)

Returns:

The generated RESTObject.

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabGetError – If the server cannot perform the request

Return type:

ProjectSnippetAwardEmoji

class gitlab.v4.objects.ProjectSnippetDiscussion(manager: RESTManager, attrs: Dict[str, Any], *, created_from_list: bool = False, lazy: bool = False)#

Bases: RESTObject

Parameters:
  • manager (RESTManager) –

  • attrs (Dict[str, Any]) –

  • created_from_list (bool) –

  • lazy (bool) –

notes: ProjectSnippetDiscussionNoteManager#
class gitlab.v4.objects.ProjectSnippetDiscussionManager(gl: Gitlab, parent: RESTObject | None = None)#

Bases: RetrieveMixin, CreateMixin, RESTManager

Object Creation

Required attributes for object create:

  • body

Optional attributes for object create:

  • created_at

Object update

Parameters:
get(id: str | int, lazy: bool = False, **kwargs: Any) ProjectSnippetDiscussion#

Retrieve a single object.

Parameters:
  • id (str | int) – 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 (Any) – Extra options to send to the server (e.g. sudo)

Returns:

The generated RESTObject.

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabGetError – If the server cannot perform the request

Return type:

ProjectSnippetDiscussion

class gitlab.v4.objects.ProjectSnippetDiscussionNote(manager: RESTManager, attrs: Dict[str, Any], *, created_from_list: bool = False, lazy: bool = False)#

Bases: SaveMixin, ObjectDeleteMixin, RESTObject

Parameters:
  • manager (RESTManager) –

  • attrs (Dict[str, Any]) –

  • created_from_list (bool) –

  • lazy (bool) –

class gitlab.v4.objects.ProjectSnippetDiscussionNoteManager(gl: Gitlab, parent: RESTObject | None = None)#

Bases: GetMixin, CreateMixin, UpdateMixin, DeleteMixin, RESTManager

Object Creation

Required attributes for object create:

  • body

Optional attributes for object create:

  • created_at

Object update

Required attributes for object update:

  • body

Parameters:
get(id: str | int, lazy: bool = False, **kwargs: Any) ProjectSnippetDiscussionNote#

Retrieve a single object.

Parameters:
  • id (str | int) – 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 (Any) – Extra options to send to the server (e.g. sudo)

Returns:

The generated RESTObject.

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabGetError – If the server cannot perform the request

Return type:

ProjectSnippetDiscussionNote

class gitlab.v4.objects.ProjectSnippetManager(gl: Gitlab, parent: RESTObject | None = None)#

Bases: CRUDMixin, RESTManager

Object Creation

Required attributes for object create:

  • title

  • visibility

Optional attributes for object create:

  • description

  • content

Mutually exclusive attributes for object create:

  • files

  • file_name

Object update

Optional attributes for object update:

  • title

  • files

  • file_name

  • content

  • visibility

  • description

Parameters:
get(id: str | int, lazy: bool = False, **kwargs: Any) ProjectSnippet#

Retrieve a single object.

Parameters:
  • id (str | int) – 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 (Any) – Extra options to send to the server (e.g. sudo)

Returns:

The generated RESTObject.

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabGetError – If the server cannot perform the request

Return type:

ProjectSnippet

class gitlab.v4.objects.ProjectSnippetNote(manager: RESTManager, attrs: Dict[str, Any], *, created_from_list: bool = False, lazy: bool = False)#

Bases: SaveMixin, ObjectDeleteMixin, RESTObject

Parameters:
  • manager (RESTManager) –

  • attrs (Dict[str, Any]) –

  • created_from_list (bool) –

  • lazy (bool) –

awardemojis: ProjectSnippetNoteAwardEmojiManager#
class gitlab.v4.objects.ProjectSnippetNoteAwardEmoji(manager: RESTManager, attrs: Dict[str, Any], *, created_from_list: bool = False, lazy: bool = False)#

Bases: ObjectDeleteMixin, RESTObject

Parameters:
  • manager (RESTManager) –

  • attrs (Dict[str, Any]) –

  • created_from_list (bool) –

  • lazy (bool) –

class gitlab.v4.objects.ProjectSnippetNoteAwardEmojiManager(gl: Gitlab, parent: RESTObject | None = None)#

Bases: NoUpdateMixin, RESTManager

Object Creation

Required attributes for object create:

  • name

Object update

Parameters:
get(id: str | int, lazy: bool = False, **kwargs: Any) ProjectSnippetNoteAwardEmoji#

Retrieve a single object.

Parameters:
  • id (str | int) – 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 (Any) – Extra options to send to the server (e.g. sudo)

Returns:

The generated RESTObject.

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabGetError – If the server cannot perform the request

Return type:

ProjectSnippetNoteAwardEmoji

class gitlab.v4.objects.ProjectSnippetNoteManager(gl: Gitlab, parent: RESTObject | None = None)#

Bases: CRUDMixin, RESTManager

Object Creation

Required attributes for object create:

  • body

Object update

Required attributes for object update:

  • body

Parameters:
get(id: str | int, lazy: bool = False, **kwargs: Any) ProjectSnippetNote#

Retrieve a single object.

Parameters:
  • id (str | int) – 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 (Any) – Extra options to send to the server (e.g. sudo)

Returns:

The generated RESTObject.

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabGetError – If the server cannot perform the request

Return type:

ProjectSnippetNote

class gitlab.v4.objects.ProjectStorage(manager: RESTManager, attrs: Dict[str, Any], *, created_from_list: bool = False, lazy: bool = False)#

Bases: RefreshMixin, RESTObject

Parameters:
  • manager (RESTManager) –

  • attrs (Dict[str, Any]) –

  • created_from_list (bool) –

  • lazy (bool) –

class gitlab.v4.objects.ProjectStorageManager(gl: Gitlab, parent: RESTObject | None = None)#

Bases: GetWithoutIdMixin, RESTManager

Object Creation

Object update

Parameters:
get(**kwargs: Any) ProjectStorage#

Retrieve a single object.

Parameters:

**kwargs (Any) – Extra options to send to the server (e.g. sudo)

Returns:

The generated RESTObject

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabGetError – If the server cannot perform the request

Return type:

ProjectStorage

class gitlab.v4.objects.ProjectTag(manager: RESTManager, attrs: Dict[str, Any], *, created_from_list: bool = False, lazy: bool = False)#

Bases: ObjectDeleteMixin, RESTObject

Parameters:
  • manager (RESTManager) –

  • attrs (Dict[str, Any]) –

  • created_from_list (bool) –

  • lazy (bool) –

class gitlab.v4.objects.ProjectTagManager(gl: Gitlab, parent: RESTObject | None = None)#

Bases: NoUpdateMixin, RESTManager

Object Creation

Required attributes for object create:

  • tag_name

  • ref

Optional attributes for object create:

  • message

Object update

Parameters:
get(id: str | int, lazy: bool = False, **kwargs: Any) ProjectTag#

Retrieve a single object.

Parameters:
  • id (str | int) – 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 (Any) – Extra options to send to the server (e.g. sudo)

Returns:

The generated RESTObject.

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabGetError – If the server cannot perform the request

Return type:

ProjectTag

class gitlab.v4.objects.ProjectTrigger(manager: RESTManager, attrs: Dict[str, Any], *, created_from_list: bool = False, lazy: bool = False)#

Bases: SaveMixin, ObjectDeleteMixin, RESTObject

Parameters:
  • manager (RESTManager) –

  • attrs (Dict[str, Any]) –

  • created_from_list (bool) –

  • lazy (bool) –

class gitlab.v4.objects.ProjectTriggerManager(gl: Gitlab, parent: RESTObject | None = None)#

Bases: CRUDMixin, RESTManager

Object Creation

Required attributes for object create:

  • description

Object update

Required attributes for object update:

  • description

Parameters:
get(id: str | int, lazy: bool = False, **kwargs: Any) ProjectTrigger#

Retrieve a single object.

Parameters:
  • id (str | int) – 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 (Any) – Extra options to send to the server (e.g. sudo)

Returns:

The generated RESTObject.

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabGetError – If the server cannot perform the request

Return type:

ProjectTrigger

class gitlab.v4.objects.ProjectUser(manager: RESTManager, attrs: Dict[str, Any], *, created_from_list: bool = False, lazy: bool = False)#

Bases: RESTObject

Parameters:
  • manager (RESTManager) –

  • attrs (Dict[str, Any]) –

  • created_from_list (bool) –

  • lazy (bool) –

class gitlab.v4.objects.ProjectUserManager(gl: Gitlab, parent: RESTObject | None = None)#

Bases: ListMixin, RESTManager

Object listing filters

  • search

  • skip_users

Object Creation

Object update

Parameters:
class gitlab.v4.objects.ProjectVariable(manager: RESTManager, attrs: Dict[str, Any], *, created_from_list: bool = False, lazy: bool = False)#

Bases: SaveMixin, ObjectDeleteMixin, RESTObject

Parameters:
  • manager (RESTManager) –

  • attrs (Dict[str, Any]) –

  • created_from_list (bool) –

  • lazy (bool) –

class gitlab.v4.objects.ProjectVariableManager(gl: Gitlab, parent: RESTObject | None = None)#

Bases: CRUDMixin, RESTManager

Object Creation

Required attributes for object create:

  • key

  • value

Optional attributes for object create:

  • protected

  • variable_type

  • masked

  • environment_scope

Object update

Required attributes for object update:

  • key

  • value

Optional attributes for object update:

  • protected

  • variable_type

  • masked

  • environment_scope

Parameters:
get(id: str | int, lazy: bool = False, **kwargs: Any) ProjectVariable#

Retrieve a single object.

Parameters:
  • id (str | int) – 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 (Any) – Extra options to send to the server (e.g. sudo)

Returns:

The generated RESTObject.

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabGetError – If the server cannot perform the request

Return type:

ProjectVariable

class gitlab.v4.objects.ProjectWiki(manager: RESTManager, attrs: Dict[str, Any], *, created_from_list: bool = False, lazy: bool = False)#

Bases: SaveMixin, ObjectDeleteMixin, UploadMixin, RESTObject

Parameters:
  • manager (RESTManager) –

  • attrs (Dict[str, Any]) –

  • created_from_list (bool) –

  • lazy (bool) –

class gitlab.v4.objects.ProjectWikiManager(gl: Gitlab, parent: RESTObject | None = None)#

Bases: CRUDMixin, RESTManager

Object listing filters

  • with_content

Object Creation

Required attributes for object create:

  • title

  • content

Optional attributes for object create:

  • format

Object update

Optional attributes for object update:

  • title

  • content

  • format

Parameters:
get(id: str | int, lazy: bool = False, **kwargs: Any) ProjectWiki#

Retrieve a single object.

Parameters:
  • id (str | int) – 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 (Any) – Extra options to send to the server (e.g. sudo)

Returns:

The generated RESTObject.

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabGetError – If the server cannot perform the request

Return type:

ProjectWiki

class gitlab.v4.objects.RegistryRepository(manager: RESTManager, attrs: Dict[str, Any], *, created_from_list: bool = False, lazy: bool = False)#

Bases: RESTObject

Parameters:
  • manager (RESTManager) –

  • attrs (Dict[str, Any]) –

  • created_from_list (bool) –

  • lazy (bool) –

class gitlab.v4.objects.RegistryRepositoryManager(gl: Gitlab, parent: RESTObject | None = None)#

Bases: GetMixin, RESTManager

Object Creation

Object update

Parameters:
get(id: str | int, lazy: bool = False, **kwargs: Any) RegistryRepository#

Retrieve a single object.

Parameters:
  • id (str | int) – 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 (Any) – Extra options to send to the server (e.g. sudo)

Returns:

The generated RESTObject.

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabGetError – If the server cannot perform the request

Return type:

RegistryRepository

class gitlab.v4.objects.RepositoryMixin#

Bases: object

delete_merged_branches(**kwargs: Any) None#

Delete merged branches.

Parameters:

**kwargs (Any) – Extra options to send to the server (e.g. sudo)

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabDeleteError – If the server failed to perform the request

Return type:

None

repository_archive(sha: str | None = None, streamed: bool = False, action: Callable[[...], Any] | None = None, chunk_size: int = 1024, format: str | None = None, path: str | None = None, *, iterator: bool = False, **kwargs: Any) bytes | Iterator[Any] | None#

Return an archive of the repository.

Parameters:
  • sha (str | None) – ID of the commit (default branch by default)

  • streamed (bool) – If True the data will be processed by chunks of chunk_size and each chunk is passed to action for treatment

  • iterator (bool) – If True directly return the underlying response iterator

  • action (Callable[[...], Any] | None) – Callable responsible of dealing with chunk of data

  • chunk_size (int) – Size of each chunk

  • format (str | None) – file format (tar.gz by default)

  • path (str | None) – The subpath of the repository to download (all files by default)

  • **kwargs (Any) – Extra options to send to the server (e.g. sudo)

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabListError – If the server failed to perform the request

Returns:

The binary data of the archive

Return type:

bytes | Iterator[Any] | None

repository_blob(sha: str, **kwargs: Any) Dict[str, Any] | Response#

Return a file by blob SHA.

Parameters:
  • sha (str) – ID of the blob

  • **kwargs (Any) – Extra options to send to the server (e.g. sudo)

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabGetError – If the server failed to perform the request

Returns:

The blob content and metadata

Return type:

Dict[str, Any] | Response

repository_compare(from_: str, to: str, **kwargs: Any) Dict[str, Any] | Response#

Return a diff between two branches/commits.

Parameters:
  • from – Source branch/SHA

  • to (str) – Destination branch/SHA

  • **kwargs (Any) – Extra options to send to the server (e.g. sudo)

  • from_ (str) –

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabGetError – If the server failed to perform the request

Returns:

The diff

Return type:

Dict[str, Any] | Response

repository_contributors(**kwargs: Any) GitlabList | List[Dict[str, Any]]#

Return a list of contributors for the project.

Parameters:
  • all – If True, return all the items, without pagination

  • per_page – Number of items to retrieve per request

  • page – ID of the page to return (starts with page 1)

  • iterator – If set to True and no pagination option is defined, return a generator instead of a list

  • **kwargs (Any) – Extra options to send to the server (e.g. sudo)

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabGetError – If the server failed to perform the request

Returns:

The contributors

Return type:

GitlabList | List[Dict[str, Any]]

repository_merge_base(refs: List[str], **kwargs: Any) Dict[str, Any] | Response#

Return a diff between two branches/commits.

Parameters:
  • refs (List[str]) – The refs to find the common ancestor of. Multiple refs can be passed.

  • **kwargs (Any) – Extra options to send to the server (e.g. sudo)

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabGetError – If the server failed to perform the request

Returns:

The common ancestor commit (not a RESTObject)

Return type:

Dict[str, Any] | Response

repository_raw_blob(sha: str, streamed: bool = False, action: Callable[[...], Any] | None = None, chunk_size: int = 1024, *, iterator: bool = False, **kwargs: Any) bytes | Iterator[Any] | None#

Return the raw file contents for a blob.

Parameters:
  • sha (str) – ID of the blob

  • streamed (bool) – If True the data will be processed by chunks of chunk_size and each chunk is passed to action for treatment

  • iterator (bool) – If True directly return the underlying response iterator

  • action (Callable[[...], Any] | None) – Callable responsible of dealing with chunk of data

  • chunk_size (int) – Size of each chunk

  • **kwargs (Any) – Extra options to send to the server (e.g. sudo)

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabGetError – If the server failed to perform the request

Returns:

The blob content if streamed is False, None otherwise

Return type:

bytes | Iterator[Any] | None

repository_tree(path: str = '', ref: str = '', recursive: bool = False, **kwargs: Any) GitlabList | List[Dict[str, Any]]#

Return a list of files in the repository.

Parameters:
  • path (str) – Path of the top folder (/ by default)

  • ref (str) – Reference to a commit or branch

  • recursive (bool) – Whether to get the tree recursively

  • all – If True, return all the items, without pagination

  • per_page – Number of items to retrieve per request

  • page – ID of the page to return (starts with page 1)

  • iterator – If set to True and no pagination option is defined, return a generator instead of a list

  • **kwargs (Any) – Extra options to send to the server (e.g. sudo)

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabGetError – If the server failed to perform the request

Returns:

The representation of the tree

Return type:

GitlabList | List[Dict[str, Any]]

update_submodule(submodule: str, branch: str, commit_sha: str, **kwargs: Any) Dict[str, Any] | Response#

Update a project submodule

Parameters:
  • submodule (str) – Full path to the submodule

  • branch (str) – Name of the branch to commit into

  • commit_sha (str) – Full commit SHA to update the submodule to

  • commit_message – Commit message. If no message is provided, a default one will be set (optional)

  • kwargs (Any) –

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabPutError – If the submodule could not be updated

Return type:

Dict[str, Any] | Response

class gitlab.v4.objects.Runner(manager: RESTManager, attrs: Dict[str, Any], *, created_from_list: bool = False, lazy: bool = False)#

Bases: SaveMixin, ObjectDeleteMixin, RESTObject

Parameters:
  • manager (RESTManager) –

  • attrs (Dict[str, Any]) –

  • created_from_list (bool) –

  • lazy (bool) –

jobs: RunnerJobManager#
class gitlab.v4.objects.RunnerAll(manager: RESTManager, attrs: Dict[str, Any], *, created_from_list: bool = False, lazy: bool = False)#

Bases: RESTObject

Parameters:
  • manager (RESTManager) –

  • attrs (Dict[str, Any]) –

  • created_from_list (bool) –

  • lazy (bool) –

class gitlab.v4.objects.RunnerAllManager(gl: Gitlab, parent: RESTObject | None = None)#

Bases: ListMixin, RESTManager

Object listing filters

  • scope

  • type

  • status

  • paused

  • tag_list

Object Creation

Object update

Parameters:
class gitlab.v4.objects.RunnerJob(manager: RESTManager, attrs: Dict[str, Any], *, created_from_list: bool = False, lazy: bool = False)#

Bases: RESTObject

Parameters:
  • manager (RESTManager) –

  • attrs (Dict[str, Any]) –

  • created_from_list (bool) –

  • lazy (bool) –

class gitlab.v4.objects.RunnerJobManager(gl: Gitlab, parent: RESTObject | None = None)#

Bases: ListMixin, RESTManager

Object listing filters

  • status

Object Creation

Object update

Parameters:
class gitlab.v4.objects.RunnerManager(gl: Gitlab, parent: RESTObject | None = None)#

Bases: CRUDMixin, RESTManager

Object listing filters

  • scope

  • type

  • status

  • paused

  • tag_list

Object Creation

Required attributes for object create:

  • token

Optional attributes for object create:

  • description

  • info

  • active

  • locked

  • run_untagged

  • tag_list

  • access_level

  • maximum_timeout

Object update

Optional attributes for object update:

  • description

  • active

  • tag_list

  • run_untagged

  • locked

  • access_level

  • maximum_timeout

Parameters:
all(scope: str | None = None, **kwargs: Any) List[Runner]#

List all the runners.

Parameters:
  • scope (str | None) – The scope of runners to show, one of: specific, shared, active, paused, online

  • all – If True, return all the items, without pagination

  • per_page – Number of items to retrieve per request

  • page – ID of the page to return (starts with page 1)

  • iterator – If set to True and no pagination option is defined, return a generator instead of a list

  • **kwargs (Any) – Extra options to send to the server (e.g. sudo)

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabListError – If the server failed to perform the request

Returns:

A list of runners matching the scope.

Return type:

List[Runner]

get(id: str | int, lazy: bool = False, **kwargs: Any) Runner#

Retrieve a single object.

Parameters:
  • id (str | int) – 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 (Any) – Extra options to send to the server (e.g. sudo)

Returns:

The generated RESTObject.

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabGetError – If the server cannot perform the request

Return type:

Runner

verify(token: str, **kwargs: Any) None#

Validates authentication credentials for a registered Runner.

Parameters:
  • token (str) – The runner’s authentication token

  • **kwargs (Any) – Extra options to send to the server (e.g. sudo)

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabVerifyError – If the server failed to verify the token

Return type:

None

class gitlab.v4.objects.SharedProject(manager: RESTManager, attrs: Dict[str, Any], *, created_from_list: bool = False, lazy: bool = False)#

Bases: RESTObject

Parameters:
  • manager (RESTManager) –

  • attrs (Dict[str, Any]) –

  • created_from_list (bool) –

  • lazy (bool) –

class gitlab.v4.objects.SharedProjectManager(gl: Gitlab, parent: RESTObject | None = None)#

Bases: ListMixin, RESTManager

Object listing filters

  • archived

  • visibility

  • order_by

  • sort

  • search

  • simple

  • starred

  • with_issues_enabled

  • with_merge_requests_enabled

  • min_access_level

  • with_custom_attributes

Object Creation

Object update

Parameters:
class gitlab.v4.objects.SidekiqManager(gl: Gitlab, parent: RESTObject | None = None)#

Bases: RESTManager

Manager for the Sidekiq methods.

This manager doesn’t actually manage objects but provides helper function for the sidekiq metrics API.

Object Creation

Object update

Parameters:
compound_metrics(**kwargs: Any) Dict[str, Any] | Response#

Return all available metrics and statistics.

Parameters:

**kwargs (Any) – Extra options to send to the server (e.g. sudo)

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabGetError – If the information couldn’t be retrieved

Returns:

All available Sidekiq metrics and statistics

Return type:

Dict[str, Any] | Response

job_stats(**kwargs: Any) Dict[str, Any] | Response#

Return statistics about the jobs performed.

Parameters:

**kwargs (Any) – Extra options to send to the server (e.g. sudo)

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabGetError – If the information couldn’t be retrieved

Returns:

Statistics about the Sidekiq jobs performed

Return type:

Dict[str, Any] | Response

process_metrics(**kwargs: Any) Dict[str, Any] | Response#

Return the registered sidekiq workers.

Parameters:

**kwargs (Any) – Extra options to send to the server (e.g. sudo)

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabGetError – If the information couldn’t be retrieved

Returns:

Information about the register Sidekiq worker

Return type:

Dict[str, Any] | Response

queue_metrics(**kwargs: Any) Dict[str, Any] | Response#

Return the registered queues information.

Parameters:

**kwargs (Any) – Extra options to send to the server (e.g. sudo)

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabGetError – If the information couldn’t be retrieved

Returns:

Information about the Sidekiq queues

Return type:

Dict[str, Any] | Response

class gitlab.v4.objects.Snippet(manager: RESTManager, attrs: Dict[str, Any], *, created_from_list: bool = False, lazy: bool = False)#

Bases: UserAgentDetailMixin, SaveMixin, ObjectDeleteMixin, RESTObject

Parameters:
  • manager (RESTManager) –

  • attrs (Dict[str, Any]) –

  • created_from_list (bool) –

  • lazy (bool) –

content(streamed: bool = False, action: Callable[[...], Any] | None = None, chunk_size: int = 1024, *, iterator: bool = False, **kwargs: Any) bytes | Iterator[Any] | None#

Return the content of a snippet.

Parameters:
  • streamed (bool) – If True the data will be processed by chunks of chunk_size and each chunk is passed to action for treatment.

  • iterator (bool) – If True directly return the underlying response iterator

  • action (Callable[[...], Any] | None) – Callable responsible of dealing with chunk of data

  • chunk_size (int) – Size of each chunk

  • **kwargs (Any) – Extra options to send to the server (e.g. sudo)

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabGetError – If the content could not be retrieved

Returns:

The snippet content

Return type:

bytes | Iterator[Any] | None

class gitlab.v4.objects.SnippetManager(gl: Gitlab, parent: RESTObject | None = None)#

Bases: CRUDMixin, RESTManager

Object Creation

Required attributes for object create:

  • title

Optional attributes for object create:

  • description

  • content

  • visibility

Mutually exclusive attributes for object create:

  • files

  • file_name

Object update

Optional attributes for object update:

  • title

  • files

  • file_name

  • content

  • visibility

  • description

Parameters:
get(id: str | int, lazy: bool = False, **kwargs: Any) Snippet#

Retrieve a single object.

Parameters:
  • id (str | int) – 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 (Any) – Extra options to send to the server (e.g. sudo)

Returns:

The generated RESTObject.

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabGetError – If the server cannot perform the request

Return type:

Snippet

public(**kwargs: Any) RESTObjectList | List[RESTObject]#

List all the public snippets.

Parameters:
  • all – If True the returned object will be a list

  • **kwargs (Any) – Extra options to send to the server (e.g. sudo)

Raises:

GitlabListError – If the list could not be retrieved

Returns:

A generator for the snippets list

Return type:

RESTObjectList | List[RESTObject]

class gitlab.v4.objects.StarredProject(manager: RESTManager, attrs: Dict[str, Any], *, created_from_list: bool = False, lazy: bool = False)#

Bases: RESTObject

Parameters:
  • manager (RESTManager) –

  • attrs (Dict[str, Any]) –

  • created_from_list (bool) –

  • lazy (bool) –

class gitlab.v4.objects.StarredProjectManager(gl: Gitlab, parent: RESTObject | None = None)#

Bases: ListMixin, RESTManager

Object listing filters

  • archived

  • membership

  • min_access_level

  • order_by

  • owned

  • search

  • simple

  • sort

  • starred

  • statistics

  • visibility

  • with_custom_attributes

  • with_issues_enabled

  • with_merge_requests_enabled

Object Creation

Object update

Parameters:
class gitlab.v4.objects.Todo(manager: RESTManager, attrs: Dict[str, Any], *, created_from_list: bool = False, lazy: bool = False)#

Bases: ObjectDeleteMixin, RESTObject

Parameters:
  • manager (RESTManager) –

  • attrs (Dict[str, Any]) –

  • created_from_list (bool) –

  • lazy (bool) –

mark_as_done(**kwargs: Any) Dict[str, Any]#

Mark the todo as done.

Parameters:

**kwargs (Any) – Extra options to send to the server (e.g. sudo)

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabTodoError – If the server failed to perform the request

Returns:

A dict with the result

Return type:

Dict[str, Any]

class gitlab.v4.objects.TodoManager(gl: Gitlab, parent: RESTObject | None = None)#

Bases: ListMixin, DeleteMixin, RESTManager

Object listing filters

  • action

  • author_id

  • project_id

  • state

  • type

Object Creation

Object update

Parameters:
mark_all_as_done(**kwargs: Any) None#

Mark all the todos as done.

Parameters:

**kwargs (Any) – Extra options to send to the server (e.g. sudo)

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabTodoError – If the server failed to perform the request

Returns:

The number of todos marked done

Return type:

None

class gitlab.v4.objects.Topic(manager: RESTManager, attrs: Dict[str, Any], *, created_from_list: bool = False, lazy: bool = False)#

Bases: SaveMixin, ObjectDeleteMixin, RESTObject

Parameters:
  • manager (RESTManager) –

  • attrs (Dict[str, Any]) –

  • created_from_list (bool) –

  • lazy (bool) –

class gitlab.v4.objects.TopicManager(gl: Gitlab, parent: RESTObject | None = None)#

Bases: CRUDMixin, RESTManager

Object Creation

Required attributes for object create:

  • name

Optional attributes for object create:

  • avatar

  • description

  • title

Object update

Optional attributes for object update:

  • avatar

  • description

  • name

Parameters:
get(id: str | int, lazy: bool = False, **kwargs: Any) Topic#

Retrieve a single object.

Parameters:
  • id (str | int) – 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 (Any) – Extra options to send to the server (e.g. sudo)

Returns:

The generated RESTObject.

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabGetError – If the server cannot perform the request

Return type:

Topic

merge(source_topic_id: int | str, target_topic_id: int | str, **kwargs: Any) Dict[str, Any]#

Merge two topics, assigning all projects to the target topic.

Parameters:
  • source_topic_id (int | str) – ID of source project topic

  • target_topic_id (int | str) – ID of target project topic

  • **kwargs (Any) – Extra options to send to the server (e.g. sudo)

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabTopicMergeError – If the merge failed

Returns:

The merged topic data (not a RESTObject)

Return type:

Dict[str, Any]

class gitlab.v4.objects.User(manager: RESTManager, attrs: Dict[str, Any], *, created_from_list: bool = False, lazy: bool = False)#

Bases: SaveMixin, ObjectDeleteMixin, RESTObject

Parameters:
  • manager (RESTManager) –

  • attrs (Dict[str, Any]) –

  • created_from_list (bool) –

  • lazy (bool) –

activate(**kwargs: Any) Dict[str, Any] | Response#

Activate the user.

Parameters:

**kwargs (Any) – Extra options to send to the server (e.g. sudo)

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabActivateError – If the user could not be activated

Returns:

Whether the user status has been changed

Return type:

Dict[str, Any] | Response

approve(**kwargs: Any) Dict[str, Any] | Response#

Approve a user creation request.

Parameters:

**kwargs (Any) – Extra options to send to the server (e.g. sudo)

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabUserApproveError – If the user could not be activated

Returns:

The new object data (not a RESTObject)

Return type:

Dict[str, Any] | Response

ban(**kwargs: Any) Dict[str, Any] | Response#

Ban the user.

Parameters:

**kwargs (Any) – Extra options to send to the server (e.g. sudo)

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabBanError – If the user could not be banned

Returns:

Whether the user has been banned

Return type:

Dict[str, Any] | Response

block(**kwargs: Any) bool | None#

Block the user.

Parameters:

**kwargs (Any) – Extra options to send to the server (e.g. sudo)

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabBlockError – If the user could not be blocked

Returns:

Whether the user status has been changed

Return type:

bool | None

customattributes: UserCustomAttributeManager#
deactivate(**kwargs: Any) Dict[str, Any] | Response#

Deactivate the user.

Parameters:

**kwargs (Any) – Extra options to send to the server (e.g. sudo)

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabDeactivateError – If the user could not be deactivated

Returns:

Whether the user status has been changed

Return type:

Dict[str, Any] | Response

emails: UserEmailManager#
events: UserEventManager#
follow(**kwargs: Any) Dict[str, Any] | Response#

Follow the user.

Parameters:

**kwargs (Any) – Extra options to send to the server (e.g. sudo)

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabFollowError – If the user could not be followed

Returns:

The new object data (not a RESTObject)

Return type:

Dict[str, Any] | Response

followers_users: UserFollowersManager#
following_users: UserFollowingManager#
gpgkeys: UserGPGKeyManager#
identityproviders: UserIdentityProviderManager#
impersonationtokens: UserImpersonationTokenManager#
keys: UserKeyManager#
memberships: UserMembershipManager#
personal_access_tokens: UserPersonalAccessTokenManager#
projects: UserProjectManager#
reject(**kwargs: Any) Dict[str, Any] | Response#

Reject a user creation request.

Parameters:

**kwargs (Any) – Extra options to send to the server (e.g. sudo)

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabUserRejectError – If the user could not be rejected

Returns:

The new object data (not a RESTObject)

Return type:

Dict[str, Any] | Response

starred_projects: StarredProjectManager#
status: UserStatusManager#
unban(**kwargs: Any) Dict[str, Any] | Response#

Unban the user.

Parameters:

**kwargs (Any) – Extra options to send to the server (e.g. sudo)

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabUnbanError – If the user could not be unbanned

Returns:

Whether the user has been unbanned

Return type:

Dict[str, Any] | Response

unblock(**kwargs: Any) bool | None#

Unblock the user.

Parameters:

**kwargs (Any) – Extra options to send to the server (e.g. sudo)

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabUnblockError – If the user could not be unblocked

Returns:

Whether the user status has been changed

Return type:

bool | None

unfollow(**kwargs: Any) Dict[str, Any] | Response#

Unfollow the user.

Parameters:

**kwargs (Any) – Extra options to send to the server (e.g. sudo)

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabUnfollowError – If the user could not be followed

Returns:

The new object data (not a RESTObject)

Return type:

Dict[str, Any] | Response

class gitlab.v4.objects.UserActivities(manager: RESTManager, attrs: Dict[str, Any], *, created_from_list: bool = False, lazy: bool = False)#

Bases: RESTObject

Parameters:
  • manager (RESTManager) –

  • attrs (Dict[str, Any]) –

  • created_from_list (bool) –

  • lazy (bool) –

class gitlab.v4.objects.UserActivitiesManager(gl: Gitlab, parent: RESTObject | None = None)#

Bases: ListMixin, RESTManager

Object Creation

Object update

Parameters:
class gitlab.v4.objects.UserCustomAttribute(manager: RESTManager, attrs: Dict[str, Any], *, created_from_list: bool = False, lazy: bool = False)#

Bases: ObjectDeleteMixin, RESTObject

Parameters:
  • manager (RESTManager) –

  • attrs (Dict[str, Any]) –

  • created_from_list (bool) –

  • lazy (bool) –

class gitlab.v4.objects.UserCustomAttributeManager(gl: Gitlab, parent: RESTObject | None = None)#

Bases: RetrieveMixin, SetMixin, DeleteMixin, RESTManager

Object Creation

Object update

Parameters:
get(id: str | int, lazy: bool = False, **kwargs: Any) UserCustomAttribute#

Retrieve a single object.

Parameters:
  • id (str | int) – 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 (Any) – Extra options to send to the server (e.g. sudo)

Returns:

The generated RESTObject.

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabGetError – If the server cannot perform the request

Return type:

UserCustomAttribute

class gitlab.v4.objects.UserEmail(manager: RESTManager, attrs: Dict[str, Any], *, created_from_list: bool = False, lazy: bool = False)#

Bases: ObjectDeleteMixin, RESTObject

Parameters:
  • manager (RESTManager) –

  • attrs (Dict[str, Any]) –

  • created_from_list (bool) –

  • lazy (bool) –

class gitlab.v4.objects.UserEmailManager(gl: Gitlab, parent: RESTObject | None = None)#

Bases: RetrieveMixin, CreateMixin, DeleteMixin, RESTManager

Object Creation

Required attributes for object create:

  • email

Object update

Parameters:
get(id: str | int, lazy: bool = False, **kwargs: Any) UserEmail#

Retrieve a single object.

Parameters:
  • id (str | int) – 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 (Any) – Extra options to send to the server (e.g. sudo)

Returns:

The generated RESTObject.

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabGetError – If the server cannot perform the request

Return type:

UserEmail

class gitlab.v4.objects.UserEvent(manager: RESTManager, attrs: Dict[str, Any], *, created_from_list: bool = False, lazy: bool = False)#

Bases: Event

Parameters:
  • manager (RESTManager) –

  • attrs (Dict[str, Any]) –

  • created_from_list (bool) –

  • lazy (bool) –

class gitlab.v4.objects.UserEventManager(gl: Gitlab, parent: RESTObject | None = None)#

Bases: EventManager

Object listing filters

  • action

  • target_type

  • before

  • after

  • sort

  • scope

Object Creation

Object update

Parameters:
class gitlab.v4.objects.UserGPGKey(manager: RESTManager, attrs: Dict[str, Any], *, created_from_list: bool = False, lazy: bool = False)#

Bases: ObjectDeleteMixin, RESTObject

Parameters:
  • manager (RESTManager) –

  • attrs (Dict[str, Any]) –

  • created_from_list (bool) –

  • lazy (bool) –

class gitlab.v4.objects.UserGPGKeyManager(gl: Gitlab, parent: RESTObject | None = None)#

Bases: RetrieveMixin, CreateMixin, DeleteMixin, RESTManager

Object Creation

Required attributes for object create:

  • key

Object update

Parameters:
get(id: str | int, lazy: bool = False, **kwargs: Any) UserGPGKey#

Retrieve a single object.

Parameters:
  • id (str | int) – 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 (Any) – Extra options to send to the server (e.g. sudo)

Returns:

The generated RESTObject.

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabGetError – If the server cannot perform the request

Return type:

UserGPGKey

class gitlab.v4.objects.UserIdentityProviderManager(gl: Gitlab, parent: RESTObject | None = None)#

Bases: DeleteMixin, RESTManager

Manager for user identities.

This manager does not actually manage objects but enables functionality for deletion of user identities by provider.

Object Creation

Object update

Parameters:
class gitlab.v4.objects.UserImpersonationToken(manager: RESTManager, attrs: Dict[str, Any], *, created_from_list: bool = False, lazy: bool = False)#

Bases: ObjectDeleteMixin, RESTObject

Parameters:
  • manager (RESTManager) –

  • attrs (Dict[str, Any]) –

  • created_from_list (bool) –

  • lazy (bool) –

class gitlab.v4.objects.UserImpersonationTokenManager(gl: Gitlab, parent: RESTObject | None = None)#

Bases: NoUpdateMixin, RESTManager

Object listing filters

  • state

Object Creation

Required attributes for object create:

  • name

  • scopes

Optional attributes for object create:

  • expires_at

Object update

Parameters:
get(id: str | int, lazy: bool = False, **kwargs: Any) UserImpersonationToken#

Retrieve a single object.

Parameters:
  • id (str | int) – 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 (Any) – Extra options to send to the server (e.g. sudo)

Returns:

The generated RESTObject.

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabGetError – If the server cannot perform the request

Return type:

UserImpersonationToken

class gitlab.v4.objects.UserKey(manager: RESTManager, attrs: Dict[str, Any], *, created_from_list: bool = False, lazy: bool = False)#

Bases: ObjectDeleteMixin, RESTObject

Parameters:
  • manager (RESTManager) –

  • attrs (Dict[str, Any]) –

  • created_from_list (bool) –

  • lazy (bool) –

class gitlab.v4.objects.UserKeyManager(gl: Gitlab, parent: RESTObject | None = None)#

Bases: RetrieveMixin, CreateMixin, DeleteMixin, RESTManager

Object Creation

Required attributes for object create:

  • title

  • key

Object update

Parameters:
get(id: str | int, lazy: bool = False, **kwargs: Any) UserKey#

Retrieve a single object.

Parameters:
  • id (str | int) – 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 (Any) – Extra options to send to the server (e.g. sudo)

Returns:

The generated RESTObject.

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabGetError – If the server cannot perform the request

Return type:

UserKey

class gitlab.v4.objects.UserManager(gl: Gitlab, parent: RESTObject | None = None)#

Bases: CRUDMixin, RESTManager

Object listing filters

  • active

  • blocked

  • username

  • extern_uid

  • provider

  • external

  • search

  • custom_attributes

  • status

  • two_factor

Object Creation

Optional attributes for object create:

  • email

  • username

  • name

  • password

  • reset_password

  • skype

  • linkedin

  • twitter

  • projects_limit

  • extern_uid

  • provider

  • bio

  • admin

  • can_create_group

  • website_url

  • skip_confirmation

  • external

  • organization

  • location

  • avatar

  • public_email

  • private_profile

  • color_scheme_id

  • theme_id

Object update

Required attributes for object update:

  • email

  • username

  • name

Optional attributes for object update:

  • password

  • skype

  • linkedin

  • twitter

  • projects_limit

  • extern_uid

  • provider

  • bio

  • admin

  • can_create_group

  • website_url

  • skip_reconfirmation

  • external

  • organization

  • location

  • avatar

  • public_email

  • private_profile

  • color_scheme_id

  • theme_id

Parameters:
get(id: str | int, lazy: bool = False, **kwargs: Any) User#

Retrieve a single object.

Parameters:
  • id (str | int) – 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 (Any) – Extra options to send to the server (e.g. sudo)

Returns:

The generated RESTObject.

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabGetError – If the server cannot perform the request

Return type:

User

class gitlab.v4.objects.UserMembership(manager: RESTManager, attrs: Dict[str, Any], *, created_from_list: bool = False, lazy: bool = False)#

Bases: RESTObject

Parameters:
  • manager (RESTManager) –

  • attrs (Dict[str, Any]) –

  • created_from_list (bool) –

  • lazy (bool) –

class gitlab.v4.objects.UserMembershipManager(gl: Gitlab, parent: RESTObject | None = None)#

Bases: RetrieveMixin, RESTManager

Object listing filters

  • type

Object Creation

Object update

Parameters:
get(id: str | int, lazy: bool = False, **kwargs: Any) UserMembership#

Retrieve a single object.

Parameters:
  • id (str | int) – 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 (Any) – Extra options to send to the server (e.g. sudo)

Returns:

The generated RESTObject.

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabGetError – If the server cannot perform the request

Return type:

UserMembership

class gitlab.v4.objects.UserPersonalAccessToken(manager: RESTManager, attrs: Dict[str, Any], *, created_from_list: bool = False, lazy: bool = False)#

Bases: RESTObject

Parameters:
  • manager (RESTManager) –

  • attrs (Dict[str, Any]) –

  • created_from_list (bool) –

  • lazy (bool) –

class gitlab.v4.objects.UserPersonalAccessTokenManager(gl: Gitlab, parent: RESTObject | None = None)#

Bases: CreateMixin, RESTManager

Object Creation

Required attributes for object create:

  • name

  • scopes

Optional attributes for object create:

  • expires_at

Object update

Parameters:
class gitlab.v4.objects.UserProject(manager: RESTManager, attrs: Dict[str, Any], *, created_from_list: bool = False, lazy: bool = False)#

Bases: RESTObject

Parameters:
  • manager (RESTManager) –

  • attrs (Dict[str, Any]) –

  • created_from_list (bool) –

  • lazy (bool) –

class gitlab.v4.objects.UserProjectManager(gl: Gitlab, parent: RESTObject | None = None)#

Bases: ListMixin, CreateMixin, RESTManager

Object listing filters

  • archived

  • visibility

  • order_by

  • sort

  • search

  • simple

  • owned

  • membership

  • starred

  • statistics

  • with_issues_enabled

  • with_merge_requests_enabled

  • with_custom_attributes

  • with_programming_language

  • wiki_checksum_failed

  • repository_checksum_failed

  • min_access_level

  • id_after

  • id_before

Object Creation

Required attributes for object create:

  • name

Optional attributes for object create:

  • default_branch

  • issues_enabled

  • wall_enabled

  • merge_requests_enabled

  • wiki_enabled

  • snippets_enabled

  • squash_option

  • public

  • visibility

  • description

  • builds_enabled

  • public_builds

  • import_url

  • only_allow_merge_if_build_succeeds

Object update

Parameters:
list(**kwargs: Any) RESTObjectList | List[RESTObject]#

Retrieve a list of objects.

Parameters:
  • all – If True, return all the items, without pagination

  • per_page – Number of items to retrieve per request

  • page – ID of the page to return (starts with page 1)

  • iterator – If set to True and no pagination option is defined, return a generator instead of a list

  • **kwargs (Any) – Extra options to send to the server (e.g. sudo)

Returns:

The list of objects, or a generator if iterator is True

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabListError – If the server cannot perform the request

Return type:

RESTObjectList | List[RESTObject]

class gitlab.v4.objects.UserStatus(manager: RESTManager, attrs: Dict[str, Any], *, created_from_list: bool = False, lazy: bool = False)#

Bases: RESTObject

Parameters:
  • manager (RESTManager) –

  • attrs (Dict[str, Any]) –

  • created_from_list (bool) –

  • lazy (bool) –

class gitlab.v4.objects.UserStatusManager(gl: Gitlab, parent: RESTObject | None = None)#

Bases: GetWithoutIdMixin, RESTManager

Object Creation

Object update

Parameters:
get(**kwargs: Any) UserStatus#

Retrieve a single object.

Parameters:

**kwargs (Any) – Extra options to send to the server (e.g. sudo)

Returns:

The generated RESTObject

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabGetError – If the server cannot perform the request

Return type:

UserStatus

class gitlab.v4.objects.Variable(manager: RESTManager, attrs: Dict[str, Any], *, created_from_list: bool = False, lazy: bool = False)#

Bases: SaveMixin, ObjectDeleteMixin, RESTObject

Parameters:
  • manager (RESTManager) –

  • attrs (Dict[str, Any]) –

  • created_from_list (bool) –

  • lazy (bool) –

class gitlab.v4.objects.VariableManager(gl: Gitlab, parent: RESTObject | None = None)#

Bases: CRUDMixin, RESTManager

Object Creation

Required attributes for object create:

  • key

  • value

Optional attributes for object create:

  • protected

  • variable_type

  • masked

Object update

Required attributes for object update:

  • key

  • value

Optional attributes for object update:

  • protected

  • variable_type

  • masked

Parameters:
get(id: str | int, lazy: bool = False, **kwargs: Any) Variable#

Retrieve a single object.

Parameters:
  • id (str | int) – 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 (Any) – Extra options to send to the server (e.g. sudo)

Returns:

The generated RESTObject.

Raises:
  • GitlabAuthenticationError – If authentication is not correct

  • GitlabGetError – If the server cannot perform the request

Return type:

Variable

Module contents#