Table of Contents
gitlab package)gitlab command)v4 API:
gitlab.v4.objects.SnipptManager
GitLab API:https://docs.gitlab.com/api/snippets
List snippets owned by the current user:
snippets=gl.snippets.list(get_all=True)
List the public snippets:
public_snippets=gl.snippets.list_public()
List all snippets:
all_snippets=gl.snippets.list_all(get_all=True)
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 contentcontent=snippet.content()
Warning
Blobs are entirely stored in memory unless you use the streaming feature.Seethe 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.PUBLICsnippet.save()
To update a snippet code you need to create aProjectSnippet 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_contenteditable_snippet.save()
Delete a snippet:
gl.snippets.delete(snippet_id)# orsnippet.delete()
Get user agent detail (admin only):
detail=snippet.user_agent_detail()