summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--docs/api-objects.rst1
-rw-r--r--docs/gl_objects/projects.rst2
-rw-r--r--docs/gl_objects/snippets.py26
-rw-r--r--docs/gl_objects/snippets.rst48
4 files changed, 77 insertions, 0 deletions
diff --git a/docs/api-objects.rst b/docs/api-objects.rst
index 129667c..010e9d6 100644
--- a/docs/api-objects.rst
+++ b/docs/api-objects.rst
@@ -23,6 +23,7 @@ API objects manipulation
gl_objects/projects
gl_objects/runners
gl_objects/settings
+ gl_objects/snippets
gl_objects/system_hooks
gl_objects/templates
gl_objects/todos
diff --git a/docs/gl_objects/projects.rst b/docs/gl_objects/projects.rst
index bdbf140..584fa58 100644
--- a/docs/gl_objects/projects.rst
+++ b/docs/gl_objects/projects.rst
@@ -216,6 +216,8 @@ Delete a tag:
:start-after: # tags delete
:end-before: # end tags delete
+.. _project_snippets:
+
Snippets
--------
diff --git a/docs/gl_objects/snippets.py b/docs/gl_objects/snippets.py
new file mode 100644
index 0000000..ca316c2
--- /dev/null
+++ b/docs/gl_objects/snippets.py
@@ -0,0 +1,26 @@
+# list
+snippets = gl.snippets.list()
+# end list
+
+# get
+snippet = gl.snippets.get(snippet_id)
+# get the content
+content = snippet.content()
+# end get
+
+# create
+snippet = gl.snippets.create({'title': 'snippet1',
+ 'file_name': 'snippet1.py',
+ 'content': open('snippet1.py').read()})
+# end create
+
+# update
+snippet.visibility_level = gitlab.VISIBILITY_PUBLIC
+snippet.save()
+# end update
+
+# delete
+gl.snippets.delete(snippet_id)
+# or
+snippet.delete()
+# end delete
diff --git a/docs/gl_objects/snippets.rst b/docs/gl_objects/snippets.rst
new file mode 100644
index 0000000..591bc95
--- /dev/null
+++ b/docs/gl_objects/snippets.rst
@@ -0,0 +1,48 @@
+########
+Snippets
+########
+
+You can store code snippets in Gitlab. Snippets can be attached to projects
+(see :ref:`project_snippets`), but can also be detached.
+
+* Object class: :class:`gitlab.objects.Namespace`
+* Manager object: :attr:`gitlab.Gitlab.snippets`
+
+Examples
+========
+
+List snippets:
+
+.. literalinclude:: snippets.py
+ :start-after: # list
+ :end-before: # end list
+
+Get a snippet:
+
+.. literalinclude:: snippets.py
+ :start-after: # get
+ :end-before: # end get
+
+.. warning::
+
+ Blobs are entirely stored in memory unless you use the streaming feature.
+ See :ref:`the artifacts example <streaming_example>`.
+
+
+Create a snippet:
+
+.. literalinclude:: snippets.py
+ :start-after: # create
+ :end-before: # end create
+
+Update a snippet:
+
+.. literalinclude:: snippets.py
+ :start-after: # update
+ :end-before: # end update
+
+Delete a snippet:
+
+.. literalinclude:: snippets.py
+ :start-after: # delete
+ :end-before: # end delete