我在服务器上运行了一个gitlab。目前,我还只需要添加到gitlab中的用户和电子邮件列表。有没有办法自动执行此操作? (即通过脚本/服务)
答案 0 :(得分:4)
您可以在脚本中使用GitLab API to create users。 Recent 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)
cli-gitlab对我来说非常好。它保存了“管理员”的令牌。用户可以更轻松地编写脚本/自动化内容。