python-gitlab is a Python module providing access to the GitLab server API.
It supports the v3 api of GitLab.
Only Python 2 is supported for the moment.
python-gitlab depends on python-requests.
python-gitlab is a work in progress, although already usable. Changes in the API might happen.
- Improve documentation
- Write unit tests
- Write a command line tool to access GitLab servers
# See https://github.com/gitlabhq/gitlabhq/tree/master/doc/api for the source.
# Register a connection to a gitlab instance, using its URL and a user private
# token
gl = Gitlab('http://192.168.123.107', 'JVNSESs8EwWRx5yDxM5q')
# Connect to get the current user
gl.auth()
# Print the user informations
print gl.user
# Get a list of projects
for p in gl.Project():
print (p.name)
# get associated issues
issues = p.Issue()
for issue in issues:
closed = 0 if not issue.closed else 1
print (" %d => %s (closed: %d)" % (issue.id, issue.title, closed))
# and close them all
issue.closed = 1
issue.save()
# Get the first 10 groups (pagination)
for g in gl.Group(page=1, per_page=10):
print (g)
# Create a new project
p = gl.Project({'name': 'myCoolProject', 'wiki_enabled': False})
p.save()
print p