Snippets#

Reference#

Examples#

List snippets owned by the current user:

snippets = gl.snippets.list()

List the public snippets:

public_snippets = gl.snippets.public()

Get a snippet:

snippet = gl.snippets.get(snippet_id)
# get the content
content = snippet.content()

Warning

Blobs are entirely stored in memory unless you use the streaming feature. See the artifacts example.

Create a snippet:

snippet = gl.snippets.create({'title': 'snippet1',
                              'file_name': 'snippet1.py',
                              'content': open('snippet1.py').read()})

Update the snippet attributes:

snippet.visibility_level = gitlab.const.VISIBILITY_PUBLIC
snippet.save()

To update a snippet code you need to create a ProjectSnippet object:

snippet = gl.snippets.get(snippet_id)
project = gl.projects.get(snippet.projec_id, lazy=True)
editable_snippet = project.snippets.get(snippet.id)
editable_snippet.code = new_snippet_content
editable_snippet.save()

Delete a snippet:

gl.snippets.delete(snippet_id)
# or
snippet.delete()

Get user agent detail (admin only):

detail = snippet.user_agent_detail()