Module: Gitlab::Client::ContainerRegistry

Included in:
Gitlab::Client
Defined in:
lib/gitlab/client/container_registry.rb

Overview

Defines methods related to GitLab Container Registry.

Instance Method Summary collapse

Instance Method Details

#bulk_delete_registry_repository_tags(project, repository_id, options = {}) ⇒ void

This method returns an undefined value.

Delete repository tags in bulk based on given criteria.

Examples:

Gitlab.bulk_delete_registry_repository_tags(5, 2, name_regex: '.*')
Gitlab.bulk_delete_registry_repository_tags(5, 2, name_regex: '[0-9a-z]{40}', keep_n: 5, older_than: '1d')

Parameters:

  • project (Integer, String)

    The ID or name of a project.

  • repository_id (Integer)

    The ID of registry repository.

  • options (Hash) (defaults to: {})

    A customizable set of options.

Options Hash (options):

  • :name_regex(required) (String)

    The regex of the name to delete. To delete all tags specify .*.

  • :keep_n(optional) (Integer)

    The amount of latest tags of given name to keep.

  • :older_than(required) (String)

    Tags to delete that are older than the given time, written in human readable form 1h, 1d, 1month.



86
87
88
# File 'lib/gitlab/client/container_registry.rb', line 86

def bulk_delete_registry_repository_tags(project, repository_id, options = {})
  delete("/projects/#{url_encode project}/registry/repositories/#{repository_id}/tags", body: options)
end

#delete_registry_repository(project, id) ⇒ void

This method returns an undefined value.

Delete a repository in registry.

Examples:

Gitlab.delete_registry_repository(5, 2)

Parameters:

  • project (Integer, String)

    The ID or name of a project.

  • id (Integer)

    The ID of registry repository.



31
32
33
# File 'lib/gitlab/client/container_registry.rb', line 31

def delete_registry_repository(project, id)
  delete("/projects/#{url_encode project}/registry/repositories/#{id}")
end

#delete_registry_repository_tag(project, repository_id, tag_name) ⇒ void

This method returns an undefined value.

Delete a registry repository tag.

Examples:

Gitlab.delete_registry_repository_tag(5, 2, 'v10.0.0')

Parameters:

  • project (Integer, String)

    The ID or name of a project.

  • repository_id (Integer)

    The ID of registry repository.

  • tag_name (String)

    The name of tag.



69
70
71
# File 'lib/gitlab/client/container_registry.rb', line 69

def delete_registry_repository_tag(project, repository_id, tag_name)
  delete("/projects/#{url_encode project}/registry/repositories/#{repository_id}/tags/#{tag_name}")
end

#registry_repositories(project, options = {}) ⇒ Array<Gitlab::ObjectifiedHash>

Get a list of registry repositories in a project.

Examples:

Gitlab.registry_repositories(5)

Parameters:

  • project (Integer, String)

    The ID or name of a project.

  • options (Hash) (defaults to: {})

    A customizable set of options.

Options Hash (options):

  • :tags (Boolean)

    Return tags array in the response.

  • :tags_count (Boolean)

    Return tags count in the response.

  • :page (Integer)

    The page number.

  • :per_page (Integer)

    The number of results per page.

Returns:



19
20
21
# File 'lib/gitlab/client/container_registry.rb', line 19

def registry_repositories(project, options = {})
  get("/projects/#{url_encode project}/registry/repositories", query: options)
end

#registry_repository_tag(project, repository_id, tag_name) ⇒ Gitlab::ObjectifiedHash

Get details of a registry repository tag.

Examples:

Gitlab.registry_repository_tag(5, 2, 'v10.0.0')

Parameters:

  • project (Integer, String)

    The ID or name of a project.

  • repository_id (Integer)

    The ID of registry repository.

  • tag_name (String)

    The name of tag.

Returns:



56
57
58
# File 'lib/gitlab/client/container_registry.rb', line 56

def registry_repository_tag(project, repository_id, tag_name)
  get("/projects/#{url_encode project}/registry/repositories/#{repository_id}/tags/#{tag_name}")
end

#registry_repository_tags(project, repository_id) ⇒ Array<Gitlab::ObjectifiedHash>

Get a list of tags for given registry repository.

Examples:

Gitlab.registry_repository_tags(5, 2)

Parameters:

  • project (Integer, String)

    The ID or name of a project.

  • repository_id (Integer)

    The ID of registry repository.

Returns:



43
44
45
# File 'lib/gitlab/client/container_registry.rb', line 43

def registry_repository_tags(project, repository_id)
  get("/projects/#{url_encode project}/registry/repositories/#{repository_id}/tags")
end