User Tools

Site Tools


gitlab:tips:api

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Last revisionBoth sides next revision
gitlab:tips:api [2016/01/26 22:45] – [Send an email to the members of a GitLab group] cedricgitlab:tips:api [2016/01/27 07:32] cedric
Line 1: Line 1:
  
-GitLab provides [[http://doc.gitlab.com/ce/api/ | a powerful API]] that lets you interact programmatically with a GitLab instance and automate a lot of things.+GitLab provides [[http://doc.gitlab.com/ce/api/ | a powerful API]] that lets you interact programmatically with a GitLab instance in order to automate a lot of things.
  
-This tutorial presents how to use the API of GitLab with Python.+This tutorial presents how to use the API of GitLab with [[https://www.python.org | Python]]. Of course you can use your favorite language.
  
-For the examples below we will use the instance https://gitlab.example.org. Of course you can use https://gitlab.com. +For the examples below we will use the instance https://gitlab.example.org. Of course you can use https://gitlab.com. 
  
 ====== Get the list of users registered in GitLab ====== ====== Get the list of users registered in GitLab ======
  
-This first example is fairly easy and uses the [[http://doc.gitlab.com/ce/api/users.html | Users resource]].+This first example is fairly easy and takes advantage of the [[http://doc.gitlab.com/ce/api/users.html | Users resource]].
  
 <code python> <code python>
Line 28: Line 28:
         print user["username"], user["email"]         print user["username"], user["email"]
 </code> </code>
 +
 +
  
 ====== Send an email to the members of a GitLab group ====== ====== Send an email to the members of a GitLab group ======
  
-Again, this is pretty easy. We will need to use the resource [[http://doc.gitlab.com/ce/api/groups.html | Groups]] and the resource [[http://doc.gitlab.com/ce/api/users.html | Users]].+Again, this is pretty easy. We will need the [[http://doc.gitlab.com/ce/api/groups.html | Groups]] resource and the [[http://doc.gitlab.com/ce/api/users.html | Users]] resource.
  
-In order to send the email, we will use the [[http://www.mutt.org/ | Mutt] email client.+In order to send the email, we will simply use the [[http://www.mutt.org/ | Mutt]] email client.
  
 The Mutt command will look like this: The Mutt command will look like this:
Line 46: Line 48:
   * the list of recipients (members of the GitLab group). Will be given in parameter as the result of a Python script.   * the list of recipients (members of the GitLab group). Will be given in parameter as the result of a Python script.
  
-As you can expect the Python script will use the API of GitLab in order to get the list of recipients.+As you can expectthe Python script will use the API of GitLab in order to get the list of recipients.
 Below you will find a working script: Below you will find a working script:
  
Line 74: Line 76:
                 EMAILS.append(user["email"])                 EMAILS.append(user["email"])
 </code> </code>
 +
 +A first request to the //Groups// resource returns the list of members in the group. The ''for'' loop iterates through these members in order to get their email.
  
 Only active users (//user["state"] == "active"//) will receive the email. Only active users (//user["state"] == "active"//) will receive the email.
gitlab/tips/api.txt · Last modified: 2016/01/27 07:35 by cedric