有没有办法自动将用户添加到gitlab?

时间:2013-11-08 16:20:09

标签: ruby-on-rails git bash shell gitlab

我在服务器上运行了一个gitlab。目前,我还只需要添加到gitlab中的用户和电子邮件列表。有没有办法自动执行此操作? (即通过脚本/服务)

3 个答案:

答案 0 :(得分:4)

您可以在脚本中使用GitLab API to create usersRecent versions of curl can url-encode为您提供POST数据。否则,空格必须为%20--data,而不是--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"

使用您首选的shell语言(在我的情况下为Bash),Curl是阻力最小的路径。如果您不想使用curl来创建用户脚本,那么有许多库可供不同语言与GitLab API交互。随便挑选。热门图书馆包括:

我确信还有更多用于其他语言的API库只是谷歌的首选语言,并包含 GitLab API 作为查询的一部分。

答案 1 :(得分:0)

如果可能(尚未测试),可以通过 gitlab-shell 库完成,该库会公开gitlab的API。 但添加用户不是其API的一部分(它只添加ssh密钥)。

Issue 1942确实提到gitlab本身有一个API 你可以在像spec/features/gitlab_flavored_markdown_spec.rb这样的测试人员身上做个例子:

require 'spec_helper'

describe "GitLab Flavored 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(:fred) do
    u = create(:user, name: "fred")
    project.team << [u, :master]
    u
  end

答案 2 :(得分:0)

对于LDAP(AD)和本地用户,通过npm安装的

cli-gitlab对我来说非常好。它保存了“管理员”的令牌。用户可以更轻松地编写脚本/自动化内容。