1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65
|
########
Topics
########
Topics can be used to categorize projects and find similar new projects.
Reference
---------
* v4 API:
+ :class:`gitlab.v4.objects.Topic`
+ :class:`gitlab.v4.objects.TopicManager`
+ :attr:`gitlab.Gitlab.topics`
* GitLab API: https://docs.gitlab.com/api/topics
This endpoint requires admin access for creating, updating and deleting objects.
Examples
--------
List project topics on the GitLab instance::
topics = gl.topics.list(get_all=True)
Get a specific topic by its ID::
topic = gl.topics.get(topic_id)
Create a new topic::
topic = gl.topics.create({"name": "my-topic", "title": "my title"})
Update a topic::
topic.description = "My new topic"
topic.save()
# or
gl.topics.update(topic_id, {"description": "My new topic"})
Delete a topic::
topic.delete()
# or
gl.topics.delete(topic_id)
Merge a source topic into a target topic::
gl.topics.merge(topic_id, target_topic_id)
Set the avatar image for a topic::
# the avatar image can be passed as data (content of the file) or as a file
# object opened in binary mode
topic.avatar = open('path/to/file.png', 'rb')
topic.save()
Remove the avatar image for a topic::
topic.avatar = ""
topic.save()
|