Snippets¶
Reference¶
v4 API:
gitlab.v4.objects.SnipptManager
GitLab API: https://docs.gitlab.com/ce/api/snippets.html
Examples¶
List snippets owned by the current user:
snippets = gl.snippets.list()
List the public snippets:
public_snippets = gl.snippets.list_public()
List all snippets:
all_snippets = gl.snippets.list_all()
Warning
Only users with the Administrator or Auditor access levels can see all snippets (both personal and project). See the upstream API documentation for more details.
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',
'files': [{
'file_path': 'foo.py',
'content': 'import gitlab'
}],
})
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()