¿Hay alguna manera de agregar usuarios automáticamente a gitlab?

Tengo un gitlab ejecutándose en el server. Por ahora, también tengo solo una list de usuarios y correos electrónicos necesarios para agregar a gitlab. ¿Hay alguna manera de hacer esto automáticamente? (es decir, por script / service)

Puede usar la API de GitLab para crear usuarios en una secuencia de commands. Las versiones recientes de curl pueden codificar url datos POST para usted. De lo contrario, los espacios tendrán que ser %20 y --data lugar de --data-urlencode .

 curl --header "PRIVATE-TOKEN: QVy1PB7sTxfy4pqfZM1U" --data-urlencode "email=jon@doe.com&password=defaultpassword&username=jdoe&name=Jon Doe" "http://example.com/api/v3/users" 

Curl es el path de menor resistencia con su lenguaje de shell preferido (en mi caso, Bash). Si no desea utilizar curl para crear sus usuarios, existen numerosas bibliotecas para diferentes idiomas para interactuar con la API de GitLab. Elige tu opción. Las bibliotecas populares incluyen:

  • Java – java-gitlab-api
  • PHP – php-gitlab-api
  • Python – pyapi-gitlab , python-gitlab o python-gitlab3
  • Ruby – envoltorio Gitlab

Estoy seguro de que hay muchas más bibliotecas de API para otros idiomas, solo google para su idioma preferido e incluyen la API de GitLab como parte de la consulta.

Si es posible (aún no probado), podría haberse realizado a través de la biblioteca gitlab-shell , que expone la API de gitlab .
Pero agregar un usuario aún no forma parte de su API (solo agrega las keys ssh).

El número 1942 menciona que hay una API en gitlab.
Puede tomar un ejemplo en el comprobador como spec/features/gitlab_flavonetworking_markdown_spec.rb :

 require 'spec_helper' describe "GitLab Flavonetworking Markdown" do let(:project) { create(:project_with_code) } let(:issue) { create(:issue, project: project) } let(:merge_request) { create(:merge_request, source_project: project, target_project: project) } let(:fnetworking) do u = create(:user, name: "fnetworking") project.team << [u, :master] u end 

cli-gitlab instalado a través de npm funciona muy bien para mí tanto para LDAP (AD) como para usuarios locales. Guarda el token del usuario 'admin', lo que hace que sea mucho más fácil de progtwigr / automatizar cosas.