gitlab.v4 package

Submodules

gitlab.v4.objects module

class gitlab.v4.objects.ApplicationSettings(manager, attrs)

Bases: gitlab.mixins.SaveMixin, gitlab.base.RESTObject

class gitlab.v4.objects.ApplicationSettingsManager(gl, parent=None)

Bases: gitlab.mixins.GetWithoutIdMixin, gitlab.mixins.UpdateMixin, gitlab.base.RESTManager

Object update

Optional attributes for object update:

  • admin_notification_email

  • after_sign_out_path

  • after_sign_up_text

  • akismet_api_key

  • akismet_enabled

  • circuitbreaker_access_retries

  • circuitbreaker_check_interval

  • circuitbreaker_failure_count_threshold

  • circuitbreaker_failure_reset_time

  • circuitbreaker_storage_timeout

  • clientside_sentry_dsn

  • clientside_sentry_enabled

  • container_registry_token_expire_delay

  • default_artifacts_expire_in

  • default_branch_protection

  • default_group_visibility

  • default_project_visibility

  • default_projects_limit

  • default_snippet_visibility

  • disabled_oauth_sign_in_sources

  • domain_blacklist_enabled

  • domain_blacklist

  • domain_whitelist

  • dsa_key_restriction

  • ecdsa_key_restriction

  • ed25519_key_restriction

  • email_author_in_body

  • enabled_git_access_protocol

  • gravatar_enabled

  • help_page_hide_commercial_content

  • help_page_support_url

  • home_page_url

  • housekeeping_bitmaps_enabled

  • housekeeping_enabled

  • housekeeping_full_repack_period

  • housekeeping_gc_period

  • housekeeping_incremental_repack_period

  • html_emails_enabled

  • import_sources

  • koding_enabled

  • koding_url

  • max_artifacts_size

  • max_attachment_size

  • max_pages_size

  • metrics_enabled

  • metrics_host

  • metrics_method_call_threshold

  • metrics_packet_size

  • metrics_pool_size

  • metrics_port

  • metrics_sample_interval

  • metrics_timeout

  • password_authentication_enabled_for_web

  • password_authentication_enabled_for_git

  • performance_bar_allowed_group_id

  • performance_bar_enabled

  • plantuml_enabled

  • plantuml_url

  • polling_interval_multiplier

  • project_export_enabled

  • prometheus_metrics_enabled

  • recaptcha_enabled

  • recaptcha_private_key

  • recaptcha_site_key

  • repository_checks_enabled

  • repository_storages

  • require_two_factor_authentication

  • restricted_visibility_levels

  • rsa_key_restriction

  • send_user_confirmation_email

  • sentry_dsn

  • sentry_enabled

  • session_expire_delay

  • shared_runners_enabled

  • shared_runners_text

  • sidekiq_throttling_enabled

  • sidekiq_throttling_factor

  • sidekiq_throttling_queues

  • sign_in_text

  • signup_enabled

  • terminal_max_session_time

  • two_factor_grace_period

  • unique_ips_limit_enabled

  • unique_ips_limit_per_user

  • unique_ips_limit_time_window

  • usage_ping_enabled

  • user_default_external

  • user_oauth_applications

  • version_check_enabled

  • enforce_terms

  • terms

update(id=None, new_data={}, **kwargs)

Update an object on the server.

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

  • new_data – the update data for the object

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

Returns

The new object data (not a RESTObject)

Return type

dict

Raises
class gitlab.v4.objects.BroadcastMessage(manager, attrs)

Bases: gitlab.mixins.SaveMixin, gitlab.mixins.ObjectDeleteMixin, gitlab.base.RESTObject

class gitlab.v4.objects.BroadcastMessageManager(gl, parent=None)

Bases: gitlab.mixins.CRUDMixin, gitlab.base.RESTManager

Object Creation

Mandatory attributes:

  • message

Optional attributes:

  • starts_at

  • ends_at

  • color

  • font

Object update

Optional attributes for object update:

  • message

  • starts_at

  • ends_at

  • color

  • font

class gitlab.v4.objects.CurrentUser(manager, attrs)

Bases: gitlab.base.RESTObject

class gitlab.v4.objects.CurrentUserEmail(manager, attrs)

Bases: gitlab.mixins.ObjectDeleteMixin, gitlab.base.RESTObject

class gitlab.v4.objects.CurrentUserEmailManager(gl, parent=None)

Bases: gitlab.mixins.RetrieveMixin, gitlab.mixins.CreateMixin, gitlab.mixins.DeleteMixin, gitlab.base.RESTManager

Object Creation

Mandatory attributes:

  • email

class gitlab.v4.objects.CurrentUserGPGKey(manager, attrs)

Bases: gitlab.mixins.ObjectDeleteMixin, gitlab.base.RESTObject

class gitlab.v4.objects.CurrentUserGPGKeyManager(gl, parent=None)

Bases: gitlab.mixins.RetrieveMixin, gitlab.mixins.CreateMixin, gitlab.mixins.DeleteMixin, gitlab.base.RESTManager

Object Creation

Mandatory attributes:

  • key

class gitlab.v4.objects.CurrentUserKey(manager, attrs)

Bases: gitlab.mixins.ObjectDeleteMixin, gitlab.base.RESTObject

class gitlab.v4.objects.CurrentUserKeyManager(gl, parent=None)

Bases: gitlab.mixins.RetrieveMixin, gitlab.mixins.CreateMixin, gitlab.mixins.DeleteMixin, gitlab.base.RESTManager

Object Creation

Mandatory attributes:

  • title

  • key

class gitlab.v4.objects.CurrentUserManager(gl, parent=None)

Bases: gitlab.mixins.GetWithoutIdMixin, gitlab.base.RESTManager

class gitlab.v4.objects.DeployKey(manager, attrs)

Bases: gitlab.base.RESTObject

class gitlab.v4.objects.DeployKeyManager(gl, parent=None)

Bases: gitlab.mixins.ListMixin, gitlab.base.RESTManager

class gitlab.v4.objects.Dockerfile(manager, attrs)

Bases: gitlab.base.RESTObject

class gitlab.v4.objects.DockerfileManager(gl, parent=None)

Bases: gitlab.mixins.RetrieveMixin, gitlab.base.RESTManager

class gitlab.v4.objects.Event(manager, attrs)

Bases: gitlab.base.RESTObject

class gitlab.v4.objects.EventManager(gl, parent=None)

Bases: gitlab.mixins.ListMixin, gitlab.base.RESTManager

Object listing filters

  • action

  • target_type

  • before

  • after

  • sort

class gitlab.v4.objects.Feature(manager, attrs)

Bases: gitlab.mixins.ObjectDeleteMixin, gitlab.base.RESTObject

class gitlab.v4.objects.FeatureManager(gl, parent=None)

Bases: gitlab.mixins.ListMixin, gitlab.mixins.DeleteMixin, gitlab.base.RESTManager

set(name, value, feature_group=None, user=None, **kwargs)

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) – A feature group name

  • user (str) – A GitLab username

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

Raises
Returns

The created/updated attribute

Return type

obj

class gitlab.v4.objects.GeoNode(manager, attrs)

Bases: gitlab.mixins.SaveMixin, gitlab.mixins.ObjectDeleteMixin, gitlab.base.RESTObject

repair(**kwargs)

Repair the OAuth authentication of the geo node.

Parameters

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

Raises
status(**kwargs)

Get the status of the geo node.

Parameters

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

Raises
Returns

The status of the geo node

Return type

dict

class gitlab.v4.objects.GeoNodeManager(gl, parent=None)

Bases: gitlab.mixins.RetrieveMixin, gitlab.mixins.UpdateMixin, gitlab.mixins.DeleteMixin, gitlab.base.RESTManager

Object update

Optional attributes for object update:

  • enabled

  • url

  • files_max_capacity

  • repos_max_capacity

current_failures(**kwargs)

Get the list of failures on the current geo node.

Parameters

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

Raises
Returns

The list of failures

Return type

list

status(**kwargs)

Get the status of all the geo nodes.

Parameters

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

Raises
Returns

The status of all the geo nodes

Return type

list

class gitlab.v4.objects.Gitignore(manager, attrs)

Bases: gitlab.base.RESTObject

class gitlab.v4.objects.GitignoreManager(gl, parent=None)

Bases: gitlab.mixins.RetrieveMixin, gitlab.base.RESTManager

class gitlab.v4.objects.Gitlabciyml(manager, attrs)

Bases: gitlab.base.RESTObject

class gitlab.v4.objects.GitlabciymlManager(gl, parent=None)

Bases: gitlab.mixins.RetrieveMixin, gitlab.base.RESTManager

class gitlab.v4.objects.Group(manager, attrs)

Bases: gitlab.mixins.SaveMixin, gitlab.mixins.ObjectDeleteMixin, gitlab.base.RESTObject

Add an LDAP group link.

Parameters
  • cn (str) – CN of the LDAP group

  • group_access (int) – Minimum access level for members of the LDAP group

  • provider (str) – LDAP provider for the LDAP group

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

Raises

Delete an LDAP group link.

Parameters
  • cn (str) – CN of the LDAP group

  • provider (str) – LDAP provider for the LDAP group

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

Raises
ldap_sync(**kwargs)

Sync LDAP groups.

Parameters

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

Raises
search(scope, search, **kwargs)

Search the group resources matching the provided string.’

Parameters
  • scope (str) – Scope of the search

  • search (str) – Search string

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

Raises
Returns

A list of dicts describing the resources found.

Return type

GitlabList

transfer_project(to_project_id, **kwargs)

Transfer a project to this group.

Parameters
  • to_project_id (int) – ID of the project to transfer

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

Raises
class gitlab.v4.objects.GroupAccessRequest(manager, attrs)

Bases: gitlab.mixins.AccessRequestMixin, gitlab.mixins.ObjectDeleteMixin, gitlab.base.RESTObject

class gitlab.v4.objects.GroupAccessRequestManager(gl, parent=None)

Bases: gitlab.mixins.ListMixin, gitlab.mixins.CreateMixin, gitlab.mixins.DeleteMixin, gitlab.base.RESTManager

class gitlab.v4.objects.GroupBadge(manager, attrs)

Bases: gitlab.mixins.SaveMixin, gitlab.mixins.ObjectDeleteMixin, gitlab.base.RESTObject

class gitlab.v4.objects.GroupBadgeManager(gl, parent=None)

Bases: gitlab.mixins.BadgeRenderMixin, gitlab.mixins.CRUDMixin, gitlab.base.RESTManager

Object Creation

Mandatory attributes:

  • link_url

  • image_url

Object update

Optional attributes for object update:

  • link_url

  • image_url

class gitlab.v4.objects.GroupBoard(manager, attrs)

Bases: gitlab.mixins.SaveMixin, gitlab.mixins.ObjectDeleteMixin, gitlab.base.RESTObject

class gitlab.v4.objects.GroupBoardList(manager, attrs)

Bases: gitlab.mixins.SaveMixin, gitlab.mixins.ObjectDeleteMixin, gitlab.base.RESTObject

class gitlab.v4.objects.GroupBoardListManager(gl, parent=None)

Bases: gitlab.mixins.CRUDMixin, gitlab.base.RESTManager

Object Creation

Mandatory attributes:

  • label_id

Object update

Mandatory attributes for object update:

  • position

class gitlab.v4.objects.GroupBoardManager(gl, parent=None)

Bases: gitlab.mixins.CRUDMixin, gitlab.base.RESTManager

Object Creation

Mandatory attributes:

  • name

class gitlab.v4.objects.GroupCustomAttribute(manager, attrs)

Bases: gitlab.mixins.ObjectDeleteMixin, gitlab.base.RESTObject

class gitlab.v4.objects.GroupCustomAttributeManager(gl, parent=None)

Bases: gitlab.mixins.RetrieveMixin, gitlab.mixins.SetMixin, gitlab.mixins.DeleteMixin, gitlab.base.RESTManager

class gitlab.v4.objects.GroupEpic(manager, attrs)

Bases: gitlab.mixins.ObjectDeleteMixin, gitlab.mixins.SaveMixin, gitlab.base.RESTObject

class gitlab.v4.objects.GroupEpicIssue(manager, attrs)

Bases: gitlab.mixins.ObjectDeleteMixin, gitlab.mixins.SaveMixin, gitlab.base.RESTObject

save(**kwargs)

Save the changes made to the object to the server.

The object is updated to match what the server returns.

Parameters

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

Raise:

GitlabAuthenticationError: If authentication is not correct GitlabUpdateError: If the server cannot perform the request

class gitlab.v4.objects.GroupEpicIssueManager(gl, parent=None)

Bases: gitlab.mixins.ListMixin, gitlab.mixins.CreateMixin, gitlab.mixins.UpdateMixin, gitlab.mixins.DeleteMixin, gitlab.base.RESTManager

Object Creation

Mandatory attributes:

  • issue_id

Object update

Optional attributes for object update:

  • move_before_id

  • move_after_id

create(data, **kwargs)

Create a new object.

Parameters
  • data (dict) – Parameters to send to the server to create the resource

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

Raises
Returns

A new instance of the manage object class build with

the data sent by the server

Return type

RESTObject

class gitlab.v4.objects.GroupEpicManager(gl, parent=None)

Bases: gitlab.mixins.CRUDMixin, gitlab.base.RESTManager

Object listing filters

  • author_id

  • labels

  • order_by

  • sort

  • search

Object Creation

Mandatory attributes:

  • title

Optional attributes:

  • labels

  • description

  • start_date

  • end_date

Object update

Optional attributes for object update:

  • title

  • labels

  • description

  • start_date

  • end_date

class gitlab.v4.objects.GroupEpicResourceLabelEvent(manager, attrs)

Bases: gitlab.base.RESTObject

class gitlab.v4.objects.GroupEpicResourceLabelEventManager(gl, parent=None)

Bases: gitlab.mixins.RetrieveMixin, gitlab.base.RESTManager

class gitlab.v4.objects.GroupIssue(manager, attrs)

Bases: gitlab.base.RESTObject

class gitlab.v4.objects.GroupIssueManager(gl, parent=None)

Bases: gitlab.mixins.ListMixin, gitlab.base.RESTManager

Object listing filters

  • state

  • labels

  • milestone

  • order_by

  • sort

  • iids

  • author_id

  • assignee_id

  • my_reaction_emoji

  • search

  • created_after

  • created_before

  • updated_after

  • updated_before

class gitlab.v4.objects.GroupManager(gl, parent=None)

Bases: gitlab.mixins.CRUDMixin, gitlab.base.RESTManager

Object listing filters

  • skip_groups

  • all_available

  • search

  • order_by

  • sort

  • statistics

  • owned

  • with_custom_attributes

Object Creation

Mandatory attributes:

  • name

  • path

Optional attributes:

  • description

  • visibility

  • parent_id

  • lfs_enabled

  • request_access_enabled

Object update

Optional attributes for object update:

  • name

  • path

  • description

  • visibility

  • lfs_enabled

  • request_access_enabled

class gitlab.v4.objects.GroupMember(manager, attrs)

Bases: gitlab.mixins.SaveMixin, gitlab.mixins.ObjectDeleteMixin, gitlab.base.RESTObject

class gitlab.v4.objects.GroupMemberManager(gl, parent=None)

Bases: gitlab.mixins.CRUDMixin, gitlab.base.RESTManager

Object Creation

Mandatory attributes:

  • access_level

  • user_id

Optional attributes:

  • expires_at

Object update

Mandatory attributes for object update:

  • access_level

Optional attributes for object update:

  • expires_at

all(**kwargs)

List all the members, included inherited ones.

Parameters
  • all (bool) – If True, return all the items, without pagination

  • per_page (int) – Number of items to retrieve per request

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

  • as_list (bool) – If set to False and no pagination option is defined, return a generator instead of a list

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

Raises
Returns

The list of members

Return type

RESTObjectList

class gitlab.v4.objects.GroupMergeRequest(manager, attrs)

Bases: gitlab.base.RESTObject

class gitlab.v4.objects.GroupMergeRequestManager(gl, parent=None)

Bases: gitlab.mixins.ListMixin, gitlab.base.RESTManager

Object listing filters

  • state

  • order_by

  • sort

  • milestone

  • view

  • labels

  • created_after

  • created_before

  • updated_after

  • updated_before

  • scope

  • author_id

  • assignee_id

  • my_reaction_emoji

  • source_branch

  • target_branch

  • search

class gitlab.v4.objects.GroupMilestone(manager, attrs)

Bases: gitlab.mixins.SaveMixin, gitlab.mixins.ObjectDeleteMixin, gitlab.base.RESTObject

issues(**kwargs)

List issues related to this milestone.

Parameters
  • all (bool) – If True, return all the items, without pagination

  • per_page (int) – Number of items to retrieve per request

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

  • as_list (bool) – If set to False and no pagination option is defined, return a generator instead of a list

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

Raises
Returns

The list of issues

Return type

RESTObjectList

merge_requests(**kwargs)

List the merge requests related to this milestone.

Parameters
  • all (bool) – If True, return all the items, without pagination

  • per_page (int) – Number of items to retrieve per request

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

  • as_list (bool) – If set to False and no pagination option is defined, return a generator instead of a list

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

Raises
Returns

The list of merge requests

Return type

RESTObjectList

class gitlab.v4.objects.GroupMilestoneManager(gl, parent=None)

Bases: gitlab.mixins.CRUDMixin, gitlab.base.RESTManager

Object listing filters

  • iids

  • state

  • search

Object Creation

Mandatory attributes:

  • title

Optional attributes:

  • description

  • due_date

  • start_date

Object update

Optional attributes for object update:

  • title

  • description

  • due_date

  • start_date

  • state_event

class gitlab.v4.objects.GroupNotificationSettings(manager, attrs)

Bases: gitlab.v4.objects.NotificationSettings

class gitlab.v4.objects.GroupNotificationSettingsManager(gl, parent=None)

Bases: gitlab.v4.objects.NotificationSettingsManager

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

class gitlab.v4.objects.GroupProject(manager, attrs)

Bases: gitlab.base.RESTObject

class gitlab.v4.objects.GroupProjectManager(gl, parent=None)

Bases: gitlab.mixins.ListMixin, gitlab.base.RESTManager

Object listing filters

  • archived

  • visibility

  • order_by

  • sort

  • search

  • ci_enabled_first

  • simple

  • owned

  • starred

  • with_custom_attributes

class gitlab.v4.objects.GroupSubgroup(manager, attrs)

Bases: gitlab.base.RESTObject

class gitlab.v4.objects.GroupSubgroupManager(gl, parent=None)

Bases: gitlab.mixins.ListMixin, gitlab.base.RESTManager

Object listing filters

  • skip_groups

  • all_available

  • search

  • order_by

  • sort

  • statistics

  • owned

  • with_custom_attributes

class gitlab.v4.objects.GroupVariable(manager, attrs)

Bases: gitlab.mixins.SaveMixin, gitlab.mixins.ObjectDeleteMixin, gitlab.base.RESTObject

class gitlab.v4.objects.GroupVariableManager(gl, parent=None)

Bases: gitlab.mixins.CRUDMixin, gitlab.base.RESTManager

Object Creation

Mandatory attributes:

  • key

  • value

Optional attributes:

  • protected

Object update

Mandatory attributes for object update:

  • key

  • value

Optional attributes for object update:

  • protected

class gitlab.v4.objects.Hook(manager, attrs)

Bases: gitlab.mixins.ObjectDeleteMixin, gitlab.base.RESTObject

class gitlab.v4.objects.HookManager(gl, parent=None)

Bases: gitlab.mixins.NoUpdateMixin, gitlab.base.RESTManager

Object Creation

Mandatory attributes:

  • url

class gitlab.v4.objects.Issue(manager, attrs)

Bases: gitlab.base.RESTObject

class gitlab.v4.objects.IssueManager(gl, parent=None)

Bases: gitlab.mixins.ListMixin, gitlab.base.RESTManager

Object listing filters

  • state

  • labels

  • milestone

  • scope

  • author_id

  • assignee_id

  • my_reaction_emoji

  • iids

  • order_by

  • sort

  • search

  • created_after

  • created_before

  • updated_after

  • updated_before

class gitlab.v4.objects.LDAPGroup(manager, attrs)

Bases: gitlab.base.RESTObject

class gitlab.v4.objects.LDAPGroupManager(gl, parent=None)

Bases: gitlab.base.RESTManager

Object listing filters

  • search

  • provider

list(**kwargs)

Retrieve a list of objects.

Parameters
  • all (bool) – If True, return all the items, without pagination

  • per_page (int) – Number of items to retrieve per request

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

  • as_list (bool) – If set to False and no pagination option is defined, return a generator instead of a list

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

Returns

The list of objects, or a generator if as_list is False

Return type

list

Raises
class gitlab.v4.objects.License(manager, attrs)

Bases: gitlab.base.RESTObject

class gitlab.v4.objects.LicenseManager(gl, parent=None)

Bases: gitlab.mixins.RetrieveMixin, gitlab.base.RESTManager

Object listing filters

  • popular

class gitlab.v4.objects.MergeRequest(manager, attrs)

Bases: gitlab.base.RESTObject

class gitlab.v4.objects.MergeRequestManager(gl, parent=None)

Bases: gitlab.mixins.ListMixin, gitlab.base.RESTManager

Object listing filters

  • state

  • order_by

  • sort

  • milestone

  • view

  • labels

  • created_after

  • created_before

  • updated_after

  • updated_before

  • scope

  • author_id

  • assignee_id

  • my_reaction_emoji

  • source_branch

  • target_branch

  • search

class gitlab.v4.objects.Namespace(manager, attrs)

Bases: gitlab.base.RESTObject

class gitlab.v4.objects.NamespaceManager(gl, parent=None)

Bases: gitlab.mixins.RetrieveMixin, gitlab.base.RESTManager

Object listing filters

  • search

class gitlab.v4.objects.NotificationSettings(manager, attrs)

Bases: gitlab.mixins.SaveMixin, gitlab.base.RESTObject

class gitlab.v4.objects.NotificationSettingsManager(gl, parent=None)

Bases: gitlab.mixins.GetWithoutIdMixin, gitlab.mixins.UpdateMixin, gitlab.base.RESTManager

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

class gitlab.v4.objects.PagesDomain(manager, attrs)

Bases: gitlab.base.RESTObject

class gitlab.v4.objects.PagesDomainManager(gl, parent=None)

Bases: gitlab.mixins.ListMixin, gitlab.base.RESTManager

class gitlab.v4.objects.Project(manager, attrs)

Bases: gitlab.mixins.SaveMixin, gitlab.mixins.ObjectDeleteMixin, gitlab.base.RESTObject

archive(**kwargs)

Archive a project.

Parameters

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

Raises
artifact(ref_name, artifact_path, job, streamed=False, action=None, chunk_size=1024, **kwargs)

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

  • action (callable) – Callable responsible of dealing with chunk of data

  • chunk_size (int) – Size of each chunk

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

Raises
Returns

The artifacts if streamed is False, None otherwise.

Return type

str

create_fork_relation(forked_from_id, **kwargs)

Create a forked from/to relation between existing projects.

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

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

Raises
delete_fork_relation(**kwargs)

Delete a forked relation between existing projects.

Parameters

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

Raises
delete_merged_branches(**kwargs)

Delete merged branches.

Parameters

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

Raises
housekeeping(**kwargs)

Start the housekeeping task.

Parameters

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

Raises
languages(**kwargs)

Get languages used in the project with percentage value.

Parameters

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

Raises
mirror_pull(**kwargs)

Start the pull mirroring process for the project.

Parameters

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

Raises
repository_archive(sha=None, streamed=False, action=None, chunk_size=1024, **kwargs)

Return a tarball of the repository.

Parameters
  • sha (str) – 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

  • action (callable) – Callable responsible of dealing with chunk of data

  • chunk_size (int) – Size of each chunk

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

Raises
Returns

The binary data of the archive

Return type

str

repository_blob(sha, **kwargs)

Return a file by blob SHA.

Parameters
  • sha (str) – ID of the blob

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

Raises
Returns

The blob content and metadata

Return type

dict

repository_compare(from_, to, **kwargs)

Return a diff between two branches/commits.

Parameters
  • from_ (str) – Source branch/SHA

  • to (str) – Destination branch/SHA

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

Raises
Returns

The diff

Return type

str

repository_contributors(**kwargs)

Return a list of contributors for the project.

Parameters
  • all (bool) – If True, return all the items, without pagination

  • per_page (int) – Number of items to retrieve per request

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

  • as_list (bool) – If set to False and no pagination option is defined, return a generator instead of a list

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

Raises
Returns

The contributors

Return type

list

repository_raw_blob(sha, streamed=False, action=None, chunk_size=1024, **kwargs)

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

  • action (callable) – Callable responsible of dealing with chunk of data

  • chunk_size (int) – Size of each chunk

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

Raises
Returns

The blob content if streamed is False, None otherwise

Return type

str

repository_tree(path='', ref='', recursive=False, **kwargs)

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 (bool) – If True, return all the items, without pagination

  • per_page (int) – Number of items to retrieve per request

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

  • as_list (bool) – If set to False and no pagination option is defined, return a generator instead of a list

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

Raises
Returns

The representation of the tree

Return type

list

search(scope, search, **kwargs)

Search the project resources matching the provided string.’

Parameters
  • scope (str) – Scope of the search

  • search (str) – Search string

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

Raises
Returns

A list of dicts describing the resources found.

Return type

GitlabList

share(group_id, group_access, expires_at=None, **kwargs)

Share the project with a group.

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

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

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

Raises
snapshot(wiki=False, streamed=False, action=None, chunk_size=1024, **kwargs)

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.

  • action (callable) – Callable responsible of dealing with chunk of data

  • chunk_size (int) – Size of each chunk

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

Raises
Returns

The uncompressed tar archive of the repository

Return type

str

star(**kwargs)

Star a project.

Parameters

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

Raises
transfer_project(to_namespace, **kwargs)

Transfer a project to the given namespace ID

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

  • to (project) –

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

Raises
trigger_pipeline(ref, token, variables={}, **kwargs)

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) – Variables passed to the build script

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

Raises
unarchive(**kwargs)

Unarchive a project.

Parameters

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

Raises
unshare(group_id, **kwargs)

Delete a shared project link within a group.

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

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

Raises
unstar(**kwargs)

Unstar a project.

Parameters

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

Raises
upload(filename, filedata=None, filepath=None, **kwargs)

Upload the specified file into the project.

Note

Either filedata or filepath MUST be specified.

Parameters
  • filename (str) – The name of the file being uploaded

  • filedata (bytes) – The raw data of the file being uploaded

  • filepath (str) – The path to a local file to upload (optional)

Raises
Returns

A dict with the keys:
  • alt - The alternate text for the upload

  • url - The direct url to the uploaded file

  • markdown - Markdown for the uploaded file

Return type

dict

class gitlab.v4.objects.ProjectAccessRequest(manager, attrs)

Bases: gitlab.mixins.AccessRequestMixin, gitlab.mixins.ObjectDeleteMixin, gitlab.base.RESTObject

class gitlab.v4.objects.ProjectAccessRequestManager(gl, parent=None)

Bases: gitlab.mixins.ListMixin, gitlab.mixins.CreateMixin, gitlab.mixins.DeleteMixin, gitlab.base.RESTManager

class gitlab.v4.objects.ProjectApproval(manager, attrs)

Bases: gitlab.mixins.SaveMixin, gitlab.base.RESTObject

class gitlab.v4.objects.ProjectApprovalManager(gl, parent=None)

Bases: gitlab.mixins.GetWithoutIdMixin, gitlab.mixins.UpdateMixin, gitlab.base.RESTManager

Object update

Optional attributes for object update:

  • approvals_before_merge

  • reset_approvals_on_push

  • disable_overriding_approvers_per_merge_request

set_approvers(approver_ids=[], approver_group_ids=[], **kwargs)

Change project-level allowed approvers and approver groups.

Parameters
  • approver_ids (list) – User IDs that can approve MRs

  • approver_group_ids (list) – Group IDs whose members can approve MRs

Raises
class gitlab.v4.objects.ProjectBadge(manager, attrs)

Bases: gitlab.mixins.SaveMixin, gitlab.mixins.ObjectDeleteMixin, gitlab.base.RESTObject

class gitlab.v4.objects.ProjectBadgeManager(gl, parent=None)

Bases: gitlab.mixins.BadgeRenderMixin, gitlab.mixins.CRUDMixin, gitlab.base.RESTManager

Object Creation

Mandatory attributes:

  • link_url

  • image_url

Object update

Optional attributes for object update:

  • link_url

  • image_url

class gitlab.v4.objects.ProjectBoard(manager, attrs)

Bases: gitlab.mixins.SaveMixin, gitlab.mixins.ObjectDeleteMixin, gitlab.base.RESTObject

class gitlab.v4.objects.ProjectBoardList(manager, attrs)

Bases: gitlab.mixins.SaveMixin, gitlab.mixins.ObjectDeleteMixin, gitlab.base.RESTObject

class gitlab.v4.objects.ProjectBoardListManager(gl, parent=None)

Bases: gitlab.mixins.CRUDMixin, gitlab.base.RESTManager

Object Creation

Mandatory attributes:

  • label_id

Object update

Mandatory attributes for object update:

  • position

class gitlab.v4.objects.ProjectBoardManager(gl, parent=None)

Bases: gitlab.mixins.CRUDMixin, gitlab.base.RESTManager

Object Creation

Mandatory attributes:

  • name

class gitlab.v4.objects.ProjectBranch(manager, attrs)

Bases: gitlab.mixins.ObjectDeleteMixin, gitlab.base.RESTObject

protect(developers_can_push=False, developers_can_merge=False, **kwargs)

Protect the branch.

Parameters
  • developers_can_push (bool) – Set to True if developers are allowed to push to the branch

  • developers_can_merge (bool) – Set to True if developers are allowed to merge to the branch

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

Raises
unprotect(**kwargs)

Unprotect the branch.

Parameters

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

Raises
class gitlab.v4.objects.ProjectBranchManager(gl, parent=None)

Bases: gitlab.mixins.NoUpdateMixin, gitlab.base.RESTManager

Object Creation

Mandatory attributes:

  • branch

  • ref

class gitlab.v4.objects.ProjectCommit(manager, attrs)

Bases: gitlab.base.RESTObject

cherry_pick(branch, **kwargs)

Cherry-pick a commit into a branch.

Parameters
  • branch (str) – Name of target branch

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

Raises
diff(**kwargs)

Generate the commit diff.

Parameters

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

Raises
Returns

The changes done in this commit

Return type

list

merge_requests(**kwargs)

List the merge requests related to the commit.

Parameters

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

Raises
Returns

The merge requests related to the commit.

Return type

list

refs(type='all', **kwargs)

List the references the commit is pushed to.

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

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

Raises
Returns

The references the commit is pushed to.

Return type

list

class gitlab.v4.objects.ProjectCommitComment(manager, attrs)

Bases: gitlab.base.RESTObject

class gitlab.v4.objects.ProjectCommitCommentManager(gl, parent=None)

Bases: gitlab.mixins.ListMixin, gitlab.mixins.CreateMixin, gitlab.base.RESTManager

Object Creation

Mandatory attributes:

  • note

Optional attributes:

  • path

  • line

  • line_type

class gitlab.v4.objects.ProjectCommitDiscussion(manager, attrs)

Bases: gitlab.base.RESTObject

class gitlab.v4.objects.ProjectCommitDiscussionManager(gl, parent=None)

Bases: gitlab.mixins.RetrieveMixin, gitlab.mixins.CreateMixin, gitlab.base.RESTManager

Object Creation

Mandatory attributes:

  • body

Optional attributes:

  • created_at

class gitlab.v4.objects.ProjectCommitDiscussionNote(manager, attrs)

Bases: gitlab.mixins.SaveMixin, gitlab.mixins.ObjectDeleteMixin, gitlab.base.RESTObject

class gitlab.v4.objects.ProjectCommitDiscussionNoteManager(gl, parent=None)

Bases: gitlab.mixins.GetMixin, gitlab.mixins.CreateMixin, gitlab.mixins.UpdateMixin, gitlab.mixins.DeleteMixin, gitlab.base.RESTManager

Object Creation

Mandatory attributes:

  • body

Optional attributes:

  • created_at

  • position

Object update

Mandatory attributes for object update:

  • body

class gitlab.v4.objects.ProjectCommitManager(gl, parent=None)

Bases: gitlab.mixins.RetrieveMixin, gitlab.mixins.CreateMixin, gitlab.base.RESTManager

Object Creation

Mandatory attributes:

  • branch

  • commit_message

  • actions

Optional attributes:

  • author_email

  • author_name

class gitlab.v4.objects.ProjectCommitStatus(manager, attrs)

Bases: gitlab.base.RESTObject, gitlab.mixins.RefreshMixin

class gitlab.v4.objects.ProjectCommitStatusManager(gl, parent=None)

Bases: gitlab.mixins.ListMixin, gitlab.mixins.CreateMixin, gitlab.base.RESTManager

Object Creation

Mandatory attributes:

  • state

Optional attributes:

  • description

  • name

  • context

  • ref

  • target_url

  • coverage

create(data, **kwargs)

Create a new object.

Parameters
  • data (dict) – Parameters to send to the server to create the resource

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

Raises
Returns

A new instance of the manage object class build with

the data sent by the server

Return type

RESTObject

class gitlab.v4.objects.ProjectCustomAttribute(manager, attrs)

Bases: gitlab.mixins.ObjectDeleteMixin, gitlab.base.RESTObject

class gitlab.v4.objects.ProjectCustomAttributeManager(gl, parent=None)

Bases: gitlab.mixins.RetrieveMixin, gitlab.mixins.SetMixin, gitlab.mixins.DeleteMixin, gitlab.base.RESTManager

class gitlab.v4.objects.ProjectDeployment(manager, attrs)

Bases: gitlab.base.RESTObject

class gitlab.v4.objects.ProjectDeploymentManager(gl, parent=None)

Bases: gitlab.mixins.RetrieveMixin, gitlab.base.RESTManager

Object listing filters

  • order_by

  • sort

class gitlab.v4.objects.ProjectEnvironment(manager, attrs)

Bases: gitlab.mixins.SaveMixin, gitlab.mixins.ObjectDeleteMixin, gitlab.base.RESTObject

stop(**kwargs)

Stop the environment.

Parameters

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

Raises
class gitlab.v4.objects.ProjectEnvironmentManager(gl, parent=None)

Bases: gitlab.mixins.ListMixin, gitlab.mixins.CreateMixin, gitlab.mixins.UpdateMixin, gitlab.mixins.DeleteMixin, gitlab.base.RESTManager

Object Creation

Mandatory attributes:

  • name

Optional attributes:

  • external_url

Object update

Optional attributes for object update:

  • name

  • external_url

class gitlab.v4.objects.ProjectEvent(manager, attrs)

Bases: gitlab.v4.objects.Event

class gitlab.v4.objects.ProjectEventManager(gl, parent=None)

Bases: gitlab.v4.objects.EventManager

Object listing filters

  • action

  • target_type

  • before

  • after

  • sort

class gitlab.v4.objects.ProjectExport(manager, attrs)

Bases: gitlab.mixins.RefreshMixin, gitlab.base.RESTObject

download(streamed=False, action=None, chunk_size=1024, **kwargs)

Download the archive of a project export.

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

  • action (callable) – Callable responsible of dealing with chunk of data

  • chunk_size (int) – Size of each chunk

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

Raises
Returns

The blob content if streamed is False, None otherwise

Return type

str

class gitlab.v4.objects.ProjectExportManager(gl, parent=None)

Bases: gitlab.mixins.GetWithoutIdMixin, gitlab.mixins.CreateMixin, gitlab.base.RESTManager

Object Creation

Optional attributes:

  • description

class gitlab.v4.objects.ProjectFile(manager, attrs)

Bases: gitlab.mixins.SaveMixin, gitlab.mixins.ObjectDeleteMixin, gitlab.base.RESTObject

decode()

Returns the decoded content of the file.

Returns

the decoded content.

Return type

(str)

delete(branch, commit_message, **kwargs)

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 – Extra options to send to the server (e.g. sudo)

Raises
save(branch, commit_message, **kwargs)

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 – Extra options to send to the server (e.g. sudo)

Raises
class gitlab.v4.objects.ProjectFileManager(gl, parent=None)

Bases: gitlab.mixins.GetMixin, gitlab.mixins.CreateMixin, gitlab.mixins.UpdateMixin, gitlab.mixins.DeleteMixin, gitlab.base.RESTManager

Object Creation

Mandatory attributes:

  • file_path

  • branch

  • content

  • commit_message

Optional attributes:

  • encoding

  • author_email

  • author_name

Object update

Mandatory attributes for object update:

  • file_path

  • branch

  • content

  • commit_message

Optional attributes for object update:

  • encoding

  • author_email

  • author_name

create(data, **kwargs)

Create a new object.

Parameters
  • data (dict) – parameters to send to the server to create the resource

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

Returns

a new instance of the managed object class built with

the data sent by the server

Return type

RESTObject

Raises
delete(file_path, branch, commit_message, **kwargs)

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 – Extra options to send to the server (e.g. sudo)

Raises
get(file_path, ref, **kwargs)

Retrieve a single file.

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

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

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

Raises
Returns

The generated RESTObject

Return type

object

raw(file_path, ref, streamed=False, action=None, chunk_size=1024, **kwargs)

Return the content of a file for a commit.

Parameters
  • ref (str) – ID of the commit

  • filepath (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

  • action (callable) – Callable responsible of dealing with chunk of data

  • chunk_size (int) – Size of each chunk

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

Raises
Returns

The file content

Return type

str

update(file_path, new_data={}, **kwargs)

Update an object on the server.

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

  • new_data – the update data for the object

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

Returns

The new object data (not a RESTObject)

Return type

dict

Raises
class gitlab.v4.objects.ProjectFork(manager, attrs)

Bases: gitlab.base.RESTObject

class gitlab.v4.objects.ProjectForkManager(gl, parent=None)

Bases: gitlab.mixins.CreateMixin, gitlab.mixins.ListMixin, gitlab.base.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:

  • namespace

list(**kwargs)

Retrieve a list of objects.

Parameters
  • all (bool) – If True, return all the items, without pagination

  • per_page (int) – Number of items to retrieve per request

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

  • as_list (bool) – If set to False and no pagination option is defined, return a generator instead of a list

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

Returns

The list of objects, or a generator if as_list is False

Return type

list

Raises
class gitlab.v4.objects.ProjectHook(manager, attrs)

Bases: gitlab.mixins.SaveMixin, gitlab.mixins.ObjectDeleteMixin, gitlab.base.RESTObject

class gitlab.v4.objects.ProjectHookManager(gl, parent=None)

Bases: gitlab.mixins.CRUDMixin, gitlab.base.RESTManager

Object Creation

Mandatory attributes:

  • url

Optional attributes:

  • 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

Mandatory 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

class gitlab.v4.objects.ProjectImport(manager, attrs)

Bases: gitlab.mixins.RefreshMixin, gitlab.base.RESTObject

class gitlab.v4.objects.ProjectImportManager(gl, parent=None)

Bases: gitlab.mixins.GetWithoutIdMixin, gitlab.base.RESTManager

class gitlab.v4.objects.ProjectIssue(manager, attrs)

Bases: gitlab.mixins.UserAgentDetailMixin, gitlab.mixins.SubscribableMixin, gitlab.mixins.TodoMixin, gitlab.mixins.TimeTrackingMixin, gitlab.mixins.ParticipantsMixin, gitlab.mixins.SaveMixin, gitlab.mixins.ObjectDeleteMixin, gitlab.base.RESTObject

closed_by(**kwargs)

List merge requests that will close the issue when merged.

Parameters

**kwargs – 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

list

move(to_project_id, **kwargs)

Move the issue to another project.

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

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

Raises
related_merge_requests(**kwargs)

List merge requests related to the issue.

Parameters

**kwargs – 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

list

class gitlab.v4.objects.ProjectIssueAwardEmoji(manager, attrs)

Bases: gitlab.mixins.ObjectDeleteMixin, gitlab.base.RESTObject

class gitlab.v4.objects.ProjectIssueAwardEmojiManager(gl, parent=None)

Bases: gitlab.mixins.NoUpdateMixin, gitlab.base.RESTManager

Object Creation

Mandatory attributes:

  • name

class gitlab.v4.objects.ProjectIssueDiscussion(manager, attrs)

Bases: gitlab.base.RESTObject

class gitlab.v4.objects.ProjectIssueDiscussionManager(gl, parent=None)

Bases: gitlab.mixins.RetrieveMixin, gitlab.mixins.CreateMixin, gitlab.base.RESTManager

Object Creation

Mandatory attributes:

  • body

Optional attributes:

  • created_at

class gitlab.v4.objects.ProjectIssueDiscussionNote(manager, attrs)

Bases: gitlab.mixins.SaveMixin, gitlab.mixins.ObjectDeleteMixin, gitlab.base.RESTObject

class gitlab.v4.objects.ProjectIssueDiscussionNoteManager(gl, parent=None)

Bases: gitlab.mixins.GetMixin, gitlab.mixins.CreateMixin, gitlab.mixins.UpdateMixin, gitlab.mixins.DeleteMixin, gitlab.base.RESTManager

Object Creation

Mandatory attributes:

  • body

Optional attributes:

  • created_at

Object update

Mandatory attributes for object update:

  • body

Bases: gitlab.mixins.ObjectDeleteMixin, gitlab.base.RESTObject

class gitlab.v4.objects.ProjectIssueLinkManager(gl, parent=None)

Bases: gitlab.mixins.ListMixin, gitlab.mixins.CreateMixin, gitlab.mixins.DeleteMixin, gitlab.base.RESTManager

Object Creation

Mandatory attributes:

  • target_project_id

  • target_issue_iid

create(data, **kwargs)

Create a new object.

Parameters
  • data (dict) – parameters to send to the server to create the resource

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

Returns

The source and target issues

Return type

RESTObject, RESTObject

Raises
class gitlab.v4.objects.ProjectIssueManager(gl, parent=None)

Bases: gitlab.mixins.CRUDMixin, gitlab.base.RESTManager

Object listing filters

  • iids

  • state

  • labels

  • milestone

  • scope

  • author_id

  • assignee_id

  • my_reaction_emoji

  • order_by

  • sort

  • search

  • created_after

  • created_before

  • updated_after

  • updated_before

Object Creation

Mandatory attributes:

  • title

Optional attributes:

  • 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

class gitlab.v4.objects.ProjectIssueNote(manager, attrs)

Bases: gitlab.mixins.SaveMixin, gitlab.mixins.ObjectDeleteMixin, gitlab.base.RESTObject

class gitlab.v4.objects.ProjectIssueNoteAwardEmoji(manager, attrs)

Bases: gitlab.mixins.ObjectDeleteMixin, gitlab.base.RESTObject

class gitlab.v4.objects.ProjectIssueNoteAwardEmojiManager(gl, parent=None)

Bases: gitlab.mixins.NoUpdateMixin, gitlab.base.RESTManager

Object Creation

Mandatory attributes:

  • name

class gitlab.v4.objects.ProjectIssueNoteManager(gl, parent=None)

Bases: gitlab.mixins.CRUDMixin, gitlab.base.RESTManager

Object Creation

Mandatory attributes:

  • body

Optional attributes:

  • created_at

Object update

Mandatory attributes for object update:

  • body

class gitlab.v4.objects.ProjectIssueResourceLabelEvent(manager, attrs)

Bases: gitlab.base.RESTObject

class gitlab.v4.objects.ProjectIssueResourceLabelEventManager(gl, parent=None)

Bases: gitlab.mixins.RetrieveMixin, gitlab.base.RESTManager

class gitlab.v4.objects.ProjectJob(manager, attrs)

Bases: gitlab.base.RESTObject, gitlab.mixins.RefreshMixin

artifact(path, streamed=False, action=None, chunk_size=1024, **kwargs)

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

  • action (callable) – Callable responsible of dealing with chunk of data

  • chunk_size (int) – Size of each chunk

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

Raises
Returns

The artifacts if streamed is False, None otherwise.

Return type

str

artifacts(streamed=False, action=None, chunk_size=1024, **kwargs)

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

  • action (callable) – Callable responsible of dealing with chunk of data

  • chunk_size (int) – Size of each chunk

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

Raises
Returns

The artifacts if streamed is False, None otherwise.

Return type

str

cancel(**kwargs)

Cancel the job.

Parameters

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

Raises
delete_artifacts(**kwargs)

Delete artifacts of a job.

Parameters

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

Raises
erase(**kwargs)

Erase the job (remove job artifacts and trace).

Parameters

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

Raises
keep_artifacts(**kwargs)

Prevent artifacts from being deleted when expiration is set.

Parameters

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

Raises
play(**kwargs)

Trigger a job explicitly.

Parameters

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

Raises
retry(**kwargs)

Retry the job.

Parameters

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

Raises
trace(streamed=False, action=None, chunk_size=1024, **kwargs)

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

  • action (callable) – Callable responsible of dealing with chunk of data

  • chunk_size (int) – Size of each chunk

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

Raises
Returns

The trace

Return type

str

class gitlab.v4.objects.ProjectJobManager(gl, parent=None)

Bases: gitlab.mixins.RetrieveMixin, gitlab.base.RESTManager

class gitlab.v4.objects.ProjectKey(manager, attrs)

Bases: gitlab.mixins.SaveMixin, gitlab.mixins.ObjectDeleteMixin, gitlab.base.RESTObject

class gitlab.v4.objects.ProjectKeyManager(gl, parent=None)

Bases: gitlab.mixins.CRUDMixin, gitlab.base.RESTManager

Object Creation

Mandatory attributes:

  • title

  • key

Optional attributes:

  • can_push

Object update

Optional attributes for object update:

  • title

  • can_push

enable(key_id, **kwargs)

Enable a deploy key for a project.

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

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

Raises
class gitlab.v4.objects.ProjectLabel(manager, attrs)

Bases: gitlab.mixins.SubscribableMixin, gitlab.mixins.SaveMixin, gitlab.mixins.ObjectDeleteMixin, gitlab.base.RESTObject

save(**kwargs)

Saves the changes made to the object to the server.

The object is updated to match what the server returns.

Parameters

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

Raises
class gitlab.v4.objects.ProjectLabelManager(gl, parent=None)

Bases: gitlab.mixins.ListMixin, gitlab.mixins.CreateMixin, gitlab.mixins.UpdateMixin, gitlab.mixins.DeleteMixin, gitlab.base.RESTManager

Object Creation

Mandatory attributes:

  • name

  • color

Optional attributes:

  • description

  • priority

Object update

Mandatory attributes for object update:

  • name

Optional attributes for object update:

  • new_name

  • color

  • description

  • priority

delete(name, **kwargs)

Delete a Label on the server.

Parameters
  • name – The name of the label

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

Raises
class gitlab.v4.objects.ProjectManager(gl, parent=None)

Bases: gitlab.mixins.CRUDMixin, gitlab.base.RESTManager

Object listing filters

  • search

  • owned

  • starred

  • archived

  • visibility

  • order_by

  • sort

  • simple

  • membership

  • statistics

  • with_issues_enabled

  • with_merge_requests_enabled

  • with_custom_attributes

Object Creation

Optional attributes:

  • name

  • path

  • namespace_id

  • description

  • issues_enabled

  • merge_requests_enabled

  • jobs_enabled

  • wiki_enabled

  • snippets_enabled

  • resolve_outdated_diff_discussions

  • container_registry_enabled

  • shared_runners_enabled

  • visibility

  • import_url

  • public_jobs

  • only_allow_merge_if_pipeline_succeeds

  • only_allow_merge_if_all_discussions_are_resolved

  • merge_method

  • lfs_enabled

  • request_access_enabled

  • tag_list

  • avatar

  • printing_merge_request_link_enabled

  • ci_config_path

Object update

Optional attributes for object update:

  • name

  • path

  • default_branch

  • description

  • issues_enabled

  • merge_requests_enabled

  • jobs_enabled

  • wiki_enabled

  • snippets_enabled

  • resolve_outdated_diff_discussions

  • container_registry_enabled

  • shared_runners_enabled

  • visibility

  • import_url

  • public_jobs

  • only_allow_merge_if_pipeline_succeeds

  • only_allow_merge_if_all_discussions_are_resolved

  • merge_method

  • lfs_enabled

  • request_access_enabled

  • tag_list

  • avatar

  • ci_config_path

import_project(file, path, namespace=None, overwrite=False, override_params=None, **kwargs)

Import a project from an archive file.

Parameters
  • file – Data or file object containing the project

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

  • namespace (str) – 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) – Set the specific settings for the project

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

Raises
Returns

A representation of the import status.

Return type

dict

class gitlab.v4.objects.ProjectMember(manager, attrs)

Bases: gitlab.mixins.SaveMixin, gitlab.mixins.ObjectDeleteMixin, gitlab.base.RESTObject

class gitlab.v4.objects.ProjectMemberManager(gl, parent=None)

Bases: gitlab.mixins.CRUDMixin, gitlab.base.RESTManager

Object Creation

Mandatory attributes:

  • access_level

  • user_id

Optional attributes:

  • expires_at

Object update

Mandatory attributes for object update:

  • access_level

Optional attributes for object update:

  • expires_at

all(**kwargs)

List all the members, included inherited ones.

Parameters
  • all (bool) – If True, return all the items, without pagination

  • per_page (int) – Number of items to retrieve per request

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

  • as_list (bool) – If set to False and no pagination option is defined, return a generator instead of a list

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

Raises
Returns

The list of members

Return type

RESTObjectList

class gitlab.v4.objects.ProjectMergeRequest(manager, attrs)

Bases: gitlab.mixins.SubscribableMixin, gitlab.mixins.TodoMixin, gitlab.mixins.TimeTrackingMixin, gitlab.mixins.ParticipantsMixin, gitlab.mixins.SaveMixin, gitlab.mixins.ObjectDeleteMixin, gitlab.base.RESTObject

approve(sha=None, **kwargs)

Approve the merge request.

Parameters
  • sha (str) – Head SHA of MR

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

Raises
cancel_merge_when_pipeline_succeeds(**kwargs)

Cancel merge when the pipeline succeeds.

Parameters

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

Raises
changes(**kwargs)

List the merge request changes.

Parameters

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

Raises
Returns

List of changes

Return type

RESTObjectList

closes_issues(**kwargs)

List issues that will close on merge.”

Parameters
  • all (bool) – If True, return all the items, without pagination

  • per_page (int) – Number of items to retrieve per request

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

  • as_list (bool) – If set to False and no pagination option is defined, return a generator instead of a list

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

Raises
Returns

List of issues

Return type

RESTObjectList

commits(**kwargs)

List the merge request commits.

Parameters
  • all (bool) – If True, return all the items, without pagination

  • per_page (int) – Number of items to retrieve per request

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

  • as_list (bool) – If set to False and no pagination option is defined, return a generator instead of a list

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

Raises
Returns

The list of commits

Return type

RESTObjectList

merge(merge_commit_message=None, should_remove_source_branch=False, merge_when_pipeline_succeeds=False, **kwargs)

Accept the merge request.

Parameters
  • merge_commit_message (bool) – Commit message

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

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

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

Raises
pipelines(**kwargs)

List the merge request pipelines.

Parameters

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

Raises
Returns

List of changes

Return type

RESTObjectList

rebase(**kwargs)

Attempt to rebase the source branch onto the target branch

Parameters

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

Raises
unapprove(**kwargs)

Unapprove the merge request.

Parameters

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

Raises
class gitlab.v4.objects.ProjectMergeRequestApproval(manager, attrs)

Bases: gitlab.mixins.SaveMixin, gitlab.base.RESTObject

class gitlab.v4.objects.ProjectMergeRequestApprovalManager(gl, parent=None)

Bases: gitlab.mixins.GetWithoutIdMixin, gitlab.mixins.UpdateMixin, gitlab.base.RESTManager

Object update

Mandatory attributes for object update:

  • approvals_required

set_approvers(approver_ids=[], approver_group_ids=[], **kwargs)

Change MR-level allowed approvers and approver groups.

Parameters
  • approver_ids (list) – User IDs that can approve MRs

  • approver_group_ids (list) – Group IDs whose members can approve MRs

Raises
class gitlab.v4.objects.ProjectMergeRequestAwardEmoji(manager, attrs)

Bases: gitlab.mixins.ObjectDeleteMixin, gitlab.base.RESTObject

class gitlab.v4.objects.ProjectMergeRequestAwardEmojiManager(gl, parent=None)

Bases: gitlab.mixins.NoUpdateMixin, gitlab.base.RESTManager

Object Creation

Mandatory attributes:

  • name

class gitlab.v4.objects.ProjectMergeRequestDiff(manager, attrs)

Bases: gitlab.base.RESTObject

class gitlab.v4.objects.ProjectMergeRequestDiffManager(gl, parent=None)

Bases: gitlab.mixins.RetrieveMixin, gitlab.base.RESTManager

class gitlab.v4.objects.ProjectMergeRequestDiscussion(manager, attrs)

Bases: gitlab.mixins.SaveMixin, gitlab.base.RESTObject

class gitlab.v4.objects.ProjectMergeRequestDiscussionManager(gl, parent=None)

Bases: gitlab.mixins.RetrieveMixin, gitlab.mixins.CreateMixin, gitlab.mixins.UpdateMixin, gitlab.base.RESTManager

Object Creation

Mandatory attributes:

  • body

Optional attributes:

  • created_at

  • position

Object update

Mandatory attributes for object update:

  • resolved

class gitlab.v4.objects.ProjectMergeRequestDiscussionNote(manager, attrs)

Bases: gitlab.mixins.SaveMixin, gitlab.mixins.ObjectDeleteMixin, gitlab.base.RESTObject

class gitlab.v4.objects.ProjectMergeRequestDiscussionNoteManager(gl, parent=None)

Bases: gitlab.mixins.GetMixin, gitlab.mixins.CreateMixin, gitlab.mixins.UpdateMixin, gitlab.mixins.DeleteMixin, gitlab.base.RESTManager

Object Creation

Mandatory attributes:

  • body

Optional attributes:

  • created_at

Object update

Mandatory attributes for object update:

  • body

class gitlab.v4.objects.ProjectMergeRequestManager(gl, parent=None)

Bases: gitlab.mixins.CRUDMixin, gitlab.base.RESTManager

Object listing filters

  • state

  • order_by

  • sort

  • milestone

  • view

  • labels

  • created_after

  • created_before

  • updated_after

  • updated_before

  • scope

  • author_id

  • assignee_id

  • my_reaction_emoji

  • source_branch

  • target_branch

  • search

Object Creation

Mandatory attributes:

  • source_branch

  • target_branch

  • title

Optional attributes:

  • assignee_id

  • description

  • target_project_id

  • labels

  • milestone_id

  • remove_source_branch

  • allow_maintainer_to_push

  • squash

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

class gitlab.v4.objects.ProjectMergeRequestNote(manager, attrs)

Bases: gitlab.mixins.SaveMixin, gitlab.mixins.ObjectDeleteMixin, gitlab.base.RESTObject

class gitlab.v4.objects.ProjectMergeRequestNoteAwardEmoji(manager, attrs)

Bases: gitlab.mixins.ObjectDeleteMixin, gitlab.base.RESTObject

class gitlab.v4.objects.ProjectMergeRequestNoteAwardEmojiManager(gl, parent=None)

Bases: gitlab.mixins.NoUpdateMixin, gitlab.base.RESTManager

Object Creation

Mandatory attributes:

  • name

class gitlab.v4.objects.ProjectMergeRequestNoteManager(gl, parent=None)

Bases: gitlab.mixins.CRUDMixin, gitlab.base.RESTManager

Object Creation

Mandatory attributes:

  • body

Object update

Mandatory attributes for object update:

  • body

class gitlab.v4.objects.ProjectMergeRequestResourceLabelEvent(manager, attrs)

Bases: gitlab.base.RESTObject

class gitlab.v4.objects.ProjectMergeRequestResourceLabelEventManager(gl, parent=None)

Bases: gitlab.mixins.RetrieveMixin, gitlab.base.RESTManager

class gitlab.v4.objects.ProjectMilestone(manager, attrs)

Bases: gitlab.mixins.SaveMixin, gitlab.mixins.ObjectDeleteMixin, gitlab.base.RESTObject

issues(**kwargs)

List issues related to this milestone.

Parameters
  • all (bool) – If True, return all the items, without pagination

  • per_page (int) – Number of items to retrieve per request

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

  • as_list (bool) – If set to False and no pagination option is defined, return a generator instead of a list

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

Raises
Returns

The list of issues

Return type

RESTObjectList

merge_requests(**kwargs)

List the merge requests related to this milestone.

Parameters
  • all (bool) – If True, return all the items, without pagination

  • per_page (int) – Number of items to retrieve per request

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

  • as_list (bool) – If set to False and no pagination option is defined, return a generator instead of a list

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

Raises
Returns

The list of merge requests

Return type

RESTObjectList

class gitlab.v4.objects.ProjectMilestoneManager(gl, parent=None)

Bases: gitlab.mixins.CRUDMixin, gitlab.base.RESTManager

Object listing filters

  • iids

  • state

  • search

Object Creation

Mandatory attributes:

  • title

Optional attributes:

  • description

  • due_date

  • start_date

  • state_event

Object update

Optional attributes for object update:

  • title

  • description

  • due_date

  • start_date

  • state_event

class gitlab.v4.objects.ProjectNote(manager, attrs)

Bases: gitlab.base.RESTObject

class gitlab.v4.objects.ProjectNoteManager(gl, parent=None)

Bases: gitlab.mixins.RetrieveMixin, gitlab.base.RESTManager

Object Creation

Mandatory attributes:

  • body

class gitlab.v4.objects.ProjectNotificationSettings(manager, attrs)

Bases: gitlab.v4.objects.NotificationSettings

class gitlab.v4.objects.ProjectNotificationSettingsManager(gl, parent=None)

Bases: gitlab.v4.objects.NotificationSettingsManager

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

class gitlab.v4.objects.ProjectPagesDomain(manager, attrs)

Bases: gitlab.mixins.SaveMixin, gitlab.mixins.ObjectDeleteMixin, gitlab.base.RESTObject

class gitlab.v4.objects.ProjectPagesDomainManager(gl, parent=None)

Bases: gitlab.mixins.CRUDMixin, gitlab.base.RESTManager

Object Creation

Mandatory attributes:

  • domain

Optional attributes:

  • certificate

  • key

Object update

Optional attributes for object update:

  • certificate

  • key

class gitlab.v4.objects.ProjectPipeline(manager, attrs)

Bases: gitlab.base.RESTObject, gitlab.mixins.RefreshMixin, gitlab.mixins.ObjectDeleteMixin

cancel(**kwargs)

Cancel the job.

Parameters

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

Raises
retry(**kwargs)

Retry the job.

Parameters

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

Raises
class gitlab.v4.objects.ProjectPipelineJob(manager, attrs)

Bases: gitlab.base.RESTObject

class gitlab.v4.objects.ProjectPipelineJobManager(gl, parent=None)

Bases: gitlab.mixins.ListMixin, gitlab.base.RESTManager

Object listing filters

  • scope

class gitlab.v4.objects.ProjectPipelineManager(gl, parent=None)

Bases: gitlab.mixins.RetrieveMixin, gitlab.mixins.CreateMixin, gitlab.mixins.DeleteMixin, gitlab.base.RESTManager

Object listing filters

  • scope

  • status

  • ref

  • sha

  • yaml_errors

  • name

  • username

  • order_by

  • sort

Object Creation

Mandatory attributes:

  • ref

create(data, **kwargs)

Creates a new object.

Parameters
  • data (dict) – Parameters to send to the server to create the resource

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

Raises
Returns

A new instance of the managed object class build with

the data sent by the server

Return type

RESTObject

class gitlab.v4.objects.ProjectPipelineSchedule(manager, attrs)

Bases: gitlab.mixins.SaveMixin, gitlab.mixins.ObjectDeleteMixin, gitlab.base.RESTObject

take_ownership(**kwargs)

Update the owner of a pipeline schedule.

Parameters

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

Raises
class gitlab.v4.objects.ProjectPipelineScheduleManager(gl, parent=None)

Bases: gitlab.mixins.CRUDMixin, gitlab.base.RESTManager

Object Creation

Mandatory attributes:

  • description

  • ref

  • cron

Optional attributes:

  • cron_timezone

  • active

Object update

Optional attributes for object update:

  • description

  • ref

  • cron

  • cron_timezone

  • active

class gitlab.v4.objects.ProjectPipelineScheduleVariable(manager, attrs)

Bases: gitlab.mixins.SaveMixin, gitlab.mixins.ObjectDeleteMixin, gitlab.base.RESTObject

class gitlab.v4.objects.ProjectPipelineScheduleVariableManager(gl, parent=None)

Bases: gitlab.mixins.CreateMixin, gitlab.mixins.UpdateMixin, gitlab.mixins.DeleteMixin, gitlab.base.RESTManager

Object Creation

Mandatory attributes:

  • key

  • value

Object update

Mandatory attributes for object update:

  • key

  • value

class gitlab.v4.objects.ProjectPipelineVariable(manager, attrs)

Bases: gitlab.base.RESTObject

class gitlab.v4.objects.ProjectPipelineVariableManager(gl, parent=None)

Bases: gitlab.mixins.ListMixin, gitlab.base.RESTManager

class gitlab.v4.objects.ProjectProtectedBranch(manager, attrs)

Bases: gitlab.mixins.ObjectDeleteMixin, gitlab.base.RESTObject

class gitlab.v4.objects.ProjectProtectedBranchManager(gl, parent=None)

Bases: gitlab.mixins.NoUpdateMixin, gitlab.base.RESTManager

Object Creation

Mandatory attributes:

  • name

Optional attributes:

  • push_access_level

  • merge_access_level

  • unprotect_access_level

  • allowed_to_push

  • allowed_to_merge

  • allowed_to_unprotect

class gitlab.v4.objects.ProjectProtectedTag(manager, attrs)

Bases: gitlab.mixins.ObjectDeleteMixin, gitlab.base.RESTObject

class gitlab.v4.objects.ProjectProtectedTagManager(gl, parent=None)

Bases: gitlab.mixins.NoUpdateMixin, gitlab.base.RESTManager

Object Creation

Mandatory attributes:

  • name

Optional attributes:

  • create_access_level

class gitlab.v4.objects.ProjectPushRules(manager, attrs)

Bases: gitlab.mixins.SaveMixin, gitlab.mixins.ObjectDeleteMixin, gitlab.base.RESTObject

class gitlab.v4.objects.ProjectPushRulesManager(gl, parent=None)

Bases: gitlab.mixins.GetWithoutIdMixin, gitlab.mixins.CreateMixin, gitlab.mixins.UpdateMixin, gitlab.mixins.DeleteMixin, gitlab.base.RESTManager

Object Creation

Optional attributes:

  • deny_delete_tag

  • member_check

  • prevent_secrets

  • commit_message_regex

  • branch_name_regex

  • author_email_regex

  • file_name_regex

  • max_file_size

Object update

Optional attributes for object update:

  • deny_delete_tag

  • member_check

  • prevent_secrets

  • commit_message_regex

  • branch_name_regex

  • author_email_regex

  • file_name_regex

  • max_file_size

class gitlab.v4.objects.ProjectRegistryRepository(manager, attrs)

Bases: gitlab.mixins.ObjectDeleteMixin, gitlab.base.RESTObject

class gitlab.v4.objects.ProjectRegistryRepositoryManager(gl, parent=None)

Bases: gitlab.mixins.DeleteMixin, gitlab.mixins.ListMixin, gitlab.base.RESTManager

class gitlab.v4.objects.ProjectRegistryTag(manager, attrs)

Bases: gitlab.mixins.ObjectDeleteMixin, gitlab.base.RESTObject

class gitlab.v4.objects.ProjectRegistryTagManager(gl, parent=None)

Bases: gitlab.mixins.DeleteMixin, gitlab.mixins.RetrieveMixin, gitlab.base.RESTManager

delete_in_bulk(name_regex='.*', **kwargs)

Delete Tag in bulk

Parameters
  • name_regex (string) – The regex of the name to delete. To delete all tags specify .*.

  • keep_n (integer) – The amount of latest tags of given name to keep.

  • older_than (string) – Tags to delete that are older than the given time, written in human readable form 1h, 1d, 1month.

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

Raises
class gitlab.v4.objects.ProjectRelease(manager, attrs)

Bases: gitlab.base.RESTObject

class gitlab.v4.objects.ProjectReleaseManager(gl, parent=None)

Bases: gitlab.mixins.NoUpdateMixin, gitlab.base.RESTManager

Object Creation

Mandatory attributes:

  • name

  • tag_name

  • description

Optional attributes:

  • ref

  • assets

class gitlab.v4.objects.ProjectRunner(manager, attrs)

Bases: gitlab.mixins.ObjectDeleteMixin, gitlab.base.RESTObject

class gitlab.v4.objects.ProjectRunnerManager(gl, parent=None)

Bases: gitlab.mixins.NoUpdateMixin, gitlab.base.RESTManager

Object Creation

Mandatory attributes:

  • runner_id

class gitlab.v4.objects.ProjectService(manager, attrs)

Bases: gitlab.mixins.SaveMixin, gitlab.mixins.ObjectDeleteMixin, gitlab.base.RESTObject

class gitlab.v4.objects.ProjectServiceManager(gl, parent=None)

Bases: gitlab.mixins.GetMixin, gitlab.mixins.UpdateMixin, gitlab.mixins.DeleteMixin, gitlab.base.RESTManager

available(**kwargs)

List the services known by python-gitlab.

Returns

The list of service code names.

Return type

list (str)

get(id, **kwargs)

Retrieve a single object.

Parameters
  • id (int or str) – ID of the object to retrieve

  • lazy (bool) – If True, don’t request the server, but create a shallow object giving access to the managers. This is useful if you want to avoid useless calls to the API.

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

Returns

The generated RESTObject.

Return type

object

Raises
update(id=None, new_data={}, **kwargs)

Update an object on the server.

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

  • new_data – the update data for the object

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

Returns

The new object data (not a RESTObject)

Return type

dict

Raises
class gitlab.v4.objects.ProjectSnippet(manager, attrs)

Bases: gitlab.mixins.UserAgentDetailMixin, gitlab.mixins.SaveMixin, gitlab.mixins.ObjectDeleteMixin, gitlab.base.RESTObject

content(streamed=False, action=None, chunk_size=1024, **kwargs)

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.

  • action (callable) – Callable responsible of dealing with chunk of data

  • chunk_size (int) – Size of each chunk

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

Raises
Returns

The snippet content

Return type

str

class gitlab.v4.objects.ProjectSnippetAwardEmoji(manager, attrs)

Bases: gitlab.mixins.ObjectDeleteMixin, gitlab.base.RESTObject

class gitlab.v4.objects.ProjectSnippetAwardEmojiManager(gl, parent=None)

Bases: gitlab.mixins.NoUpdateMixin, gitlab.base.RESTManager

Object Creation

Mandatory attributes:

  • name

class gitlab.v4.objects.ProjectSnippetDiscussion(manager, attrs)

Bases: gitlab.base.RESTObject

class gitlab.v4.objects.ProjectSnippetDiscussionManager(gl, parent=None)

Bases: gitlab.mixins.RetrieveMixin, gitlab.mixins.CreateMixin, gitlab.base.RESTManager

Object Creation

Mandatory attributes:

  • body

Optional attributes:

  • created_at

class gitlab.v4.objects.ProjectSnippetDiscussionNote(manager, attrs)

Bases: gitlab.mixins.SaveMixin, gitlab.mixins.ObjectDeleteMixin, gitlab.base.RESTObject

class gitlab.v4.objects.ProjectSnippetDiscussionNoteManager(gl, parent=None)

Bases: gitlab.mixins.GetMixin, gitlab.mixins.CreateMixin, gitlab.mixins.UpdateMixin, gitlab.mixins.DeleteMixin, gitlab.base.RESTManager

Object Creation

Mandatory attributes:

  • body

Optional attributes:

  • created_at

Object update

Mandatory attributes for object update:

  • body

class gitlab.v4.objects.ProjectSnippetManager(gl, parent=None)

Bases: gitlab.mixins.CRUDMixin, gitlab.base.RESTManager

Object Creation

Mandatory attributes:

  • title

  • file_name

  • code

Optional attributes:

  • lifetime

  • visibility

Object update

Optional attributes for object update:

  • title

  • file_name

  • code

  • visibility

class gitlab.v4.objects.ProjectSnippetNote(manager, attrs)

Bases: gitlab.mixins.SaveMixin, gitlab.mixins.ObjectDeleteMixin, gitlab.base.RESTObject

class gitlab.v4.objects.ProjectSnippetNoteAwardEmoji(manager, attrs)

Bases: gitlab.mixins.ObjectDeleteMixin, gitlab.base.RESTObject

class gitlab.v4.objects.ProjectSnippetNoteAwardEmojiManager(gl, parent=None)

Bases: gitlab.mixins.NoUpdateMixin, gitlab.base.RESTManager

Object Creation

Mandatory attributes:

  • name

class gitlab.v4.objects.ProjectSnippetNoteManager(gl, parent=None)

Bases: gitlab.mixins.CRUDMixin, gitlab.base.RESTManager

Object Creation

Mandatory attributes:

  • body

Object update

Mandatory attributes for object update:

  • body

class gitlab.v4.objects.ProjectTag(manager, attrs)

Bases: gitlab.mixins.ObjectDeleteMixin, gitlab.base.RESTObject

set_release_description(description, **kwargs)

Set the release notes on the tag.

If the release doesn’t exist yet, it will be created. If it already exists, its description will be updated.

Parameters
  • description (str) – Description of the release.

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

Raises
class gitlab.v4.objects.ProjectTagManager(gl, parent=None)

Bases: gitlab.mixins.NoUpdateMixin, gitlab.base.RESTManager

Object Creation

Mandatory attributes:

  • tag_name

  • ref

Optional attributes:

  • message

class gitlab.v4.objects.ProjectTrigger(manager, attrs)

Bases: gitlab.mixins.SaveMixin, gitlab.mixins.ObjectDeleteMixin, gitlab.base.RESTObject

take_ownership(**kwargs)

Update the owner of a trigger.

Parameters

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

Raises
class gitlab.v4.objects.ProjectTriggerManager(gl, parent=None)

Bases: gitlab.mixins.CRUDMixin, gitlab.base.RESTManager

Object Creation

Mandatory attributes:

  • description

Object update

Mandatory attributes for object update:

  • description

class gitlab.v4.objects.ProjectUser(manager, attrs)

Bases: gitlab.base.RESTObject

class gitlab.v4.objects.ProjectUserManager(gl, parent=None)

Bases: gitlab.mixins.ListMixin, gitlab.base.RESTManager

Object listing filters

  • search

class gitlab.v4.objects.ProjectVariable(manager, attrs)

Bases: gitlab.mixins.SaveMixin, gitlab.mixins.ObjectDeleteMixin, gitlab.base.RESTObject

class gitlab.v4.objects.ProjectVariableManager(gl, parent=None)

Bases: gitlab.mixins.CRUDMixin, gitlab.base.RESTManager

Object Creation

Mandatory attributes:

  • key

  • value

Object update

Mandatory attributes for object update:

  • key

  • value

class gitlab.v4.objects.ProjectWiki(manager, attrs)

Bases: gitlab.mixins.SaveMixin, gitlab.mixins.ObjectDeleteMixin, gitlab.base.RESTObject

class gitlab.v4.objects.ProjectWikiManager(gl, parent=None)

Bases: gitlab.mixins.CRUDMixin, gitlab.base.RESTManager

Object listing filters

  • with_content

Object Creation

Mandatory attributes:

  • title

  • content

Optional attributes:

  • format

Object update

Optional attributes for object update:

  • title

  • content

  • format

class gitlab.v4.objects.Runner(manager, attrs)

Bases: gitlab.mixins.SaveMixin, gitlab.mixins.ObjectDeleteMixin, gitlab.base.RESTObject

class gitlab.v4.objects.RunnerJob(manager, attrs)

Bases: gitlab.base.RESTObject

class gitlab.v4.objects.RunnerJobManager(gl, parent=None)

Bases: gitlab.mixins.ListMixin, gitlab.base.RESTManager

Object listing filters

  • status

class gitlab.v4.objects.RunnerManager(gl, parent=None)

Bases: gitlab.mixins.CRUDMixin, gitlab.base.RESTManager

Object listing filters

  • scope

Object Creation

Mandatory attributes:

  • token

Optional attributes:

  • description

  • info

  • active

  • locked

  • run_untagged

  • tag_list

  • maximum_timeout

Object update

Optional attributes for object update:

  • description

  • active

  • tag_list

  • run_untagged

  • locked

  • access_level

  • maximum_timeout

all(scope=None, **kwargs)

List all the runners.

Parameters
  • scope (str) – The scope of runners to show, one of: specific, shared, active, paused, online

  • all (bool) – If True, return all the items, without pagination

  • per_page (int) – Number of items to retrieve per request

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

  • as_list (bool) – If set to False and no pagination option is defined, return a generator instead of a list

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

Raises
Returns

a list of runners matching the scope.

Return type

list(Runner)

verify(token, **kwargs)

Validates authentication credentials for a registered Runner.

Parameters
  • token (str) – The runner’s authentication token

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

Raises
class gitlab.v4.objects.SidekiqManager(gl, parent=None)

Bases: gitlab.base.RESTManager

Manager for the Sidekiq methods.

This manager doesn’t actually manage objects but provides helper fonction for the sidekiq metrics API.

compound_metrics(**kwargs)

Return all available metrics and statistics.

Parameters

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

Raises
Returns

All available Sidekiq metrics and statistics

Return type

dict

job_stats(**kwargs)

Return statistics about the jobs performed.

Parameters

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

Raises
Returns

Statistics about the Sidekiq jobs performed

Return type

dict

process_metrics(**kwargs)

Return the registred sidekiq workers.

Parameters

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

Raises
Returns

Information about the register Sidekiq worker

Return type

dict

queue_metrics(**kwargs)

Return the registred queues information.

Parameters

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

Raises
Returns

Information about the Sidekiq queues

Return type

dict

class gitlab.v4.objects.Snippet(manager, attrs)

Bases: gitlab.mixins.UserAgentDetailMixin, gitlab.mixins.SaveMixin, gitlab.mixins.ObjectDeleteMixin, gitlab.base.RESTObject

content(streamed=False, action=None, chunk_size=1024, **kwargs)

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.

  • action (callable) – Callable responsible of dealing with chunk of data

  • chunk_size (int) – Size of each chunk

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

Raises
Returns

The snippet content

Return type

str

class gitlab.v4.objects.SnippetManager(gl, parent=None)

Bases: gitlab.mixins.CRUDMixin, gitlab.base.RESTManager

Object Creation

Mandatory attributes:

  • title

  • file_name

  • content

Optional attributes:

  • lifetime

  • visibility

Object update

Optional attributes for object update:

  • title

  • file_name

  • content

  • visibility

public(**kwargs)

List all the public snippets.

Parameters
  • all (bool) – If True the returned object will be a list

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

class gitlab.v4.objects.Todo(manager, attrs)

Bases: gitlab.mixins.ObjectDeleteMixin, gitlab.base.RESTObject

mark_as_done(**kwargs)

Mark the todo as done.

Parameters

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

Raises
class gitlab.v4.objects.TodoManager(gl, parent=None)

Bases: gitlab.mixins.ListMixin, gitlab.mixins.DeleteMixin, gitlab.base.RESTManager

Object listing filters

  • action

  • author_id

  • project_id

  • state

  • type

mark_all_as_done(**kwargs)

Mark all the todos as done.

Parameters

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

Raises
Returns

The number of todos maked done

Return type

int

class gitlab.v4.objects.User(manager, attrs)

Bases: gitlab.mixins.SaveMixin, gitlab.mixins.ObjectDeleteMixin, gitlab.base.RESTObject

block(**kwargs)

Block the user.

Parameters

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

Raises
Returns

Whether the user status has been changed

Return type

bool

unblock(**kwargs)

Unblock the user.

Parameters

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

Raises
Returns

Whether the user status has been changed

Return type

bool

class gitlab.v4.objects.UserActivities(manager, attrs)

Bases: gitlab.base.RESTObject

class gitlab.v4.objects.UserActivitiesManager(gl, parent=None)

Bases: gitlab.mixins.ListMixin, gitlab.base.RESTManager

class gitlab.v4.objects.UserCustomAttribute(manager, attrs)

Bases: gitlab.mixins.ObjectDeleteMixin, gitlab.base.RESTObject

class gitlab.v4.objects.UserCustomAttributeManager(gl, parent=None)

Bases: gitlab.mixins.RetrieveMixin, gitlab.mixins.SetMixin, gitlab.mixins.DeleteMixin, gitlab.base.RESTManager

class gitlab.v4.objects.UserEmail(manager, attrs)

Bases: gitlab.mixins.ObjectDeleteMixin, gitlab.base.RESTObject

class gitlab.v4.objects.UserEmailManager(gl, parent=None)

Bases: gitlab.mixins.RetrieveMixin, gitlab.mixins.CreateMixin, gitlab.mixins.DeleteMixin, gitlab.base.RESTManager

Object Creation

Mandatory attributes:

  • email

class gitlab.v4.objects.UserEvent(manager, attrs)

Bases: gitlab.v4.objects.Event

class gitlab.v4.objects.UserEventManager(gl, parent=None)

Bases: gitlab.v4.objects.EventManager

Object listing filters

  • action

  • target_type

  • before

  • after

  • sort

class gitlab.v4.objects.UserGPGKey(manager, attrs)

Bases: gitlab.mixins.ObjectDeleteMixin, gitlab.base.RESTObject

class gitlab.v4.objects.UserGPGKeyManager(gl, parent=None)

Bases: gitlab.mixins.RetrieveMixin, gitlab.mixins.CreateMixin, gitlab.mixins.DeleteMixin, gitlab.base.RESTManager

Object Creation

Mandatory attributes:

  • key

class gitlab.v4.objects.UserImpersonationToken(manager, attrs)

Bases: gitlab.mixins.ObjectDeleteMixin, gitlab.base.RESTObject

class gitlab.v4.objects.UserImpersonationTokenManager(gl, parent=None)

Bases: gitlab.mixins.NoUpdateMixin, gitlab.base.RESTManager

Object listing filters

  • state

Object Creation

Mandatory attributes:

  • name

  • scopes

Optional attributes:

  • expires_at

class gitlab.v4.objects.UserKey(manager, attrs)

Bases: gitlab.mixins.ObjectDeleteMixin, gitlab.base.RESTObject

class gitlab.v4.objects.UserKeyManager(gl, parent=None)

Bases: gitlab.mixins.ListMixin, gitlab.mixins.CreateMixin, gitlab.mixins.DeleteMixin, gitlab.base.RESTManager

Object Creation

Mandatory attributes:

  • title

  • key

class gitlab.v4.objects.UserManager(gl, parent=None)

Bases: gitlab.mixins.CRUDMixin, gitlab.base.RESTManager

Object listing filters

  • active

  • blocked

  • username

  • extern_uid

  • provider

  • external

  • search

  • custom_attributes

Object Creation

Optional attributes:

  • 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

Object update

Mandatory 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_confirmation

  • external

  • organization

  • location

  • avatar

class gitlab.v4.objects.UserProject(manager, attrs)

Bases: gitlab.base.RESTObject

class gitlab.v4.objects.UserProjectManager(gl, parent=None)

Bases: gitlab.mixins.ListMixin, gitlab.mixins.CreateMixin, gitlab.base.RESTManager

Object listing filters

  • archived

  • visibility

  • order_by

  • sort

  • search

  • simple

  • owned

  • membership

  • starred

  • statistics

  • with_issues_enabled

  • with_merge_requests_enabled

Object Creation

Mandatory attributes:

  • name

Optional attributes:

  • default_branch

  • issues_enabled

  • wall_enabled

  • merge_requests_enabled

  • wiki_enabled

  • snippets_enabled

  • public

  • visibility

  • description

  • builds_enabled

  • public_builds

  • import_url

  • only_allow_merge_if_build_succeeds

list(**kwargs)

Retrieve a list of objects.

Parameters
  • all (bool) – If True, return all the items, without pagination

  • per_page (int) – Number of items to retrieve per request

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

  • as_list (bool) – If set to False and no pagination option is defined, return a generator instead of a list

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

Returns

The list of objects, or a generator if as_list is False

Return type

list

Raises

Module contents