我有一个在服务器上运行的 gitlab。目前,我还得到了需要添加到 gitlab 中的用户和电子邮件列表。有没有办法自动做到这一点?(即通过脚本/服务)
问问题
4959 次
3 回答
4
您可以使用GitLab API在脚本 中创建用户。最新版本的 curl 可以为您对 POST 数据进行url 编码。否则空格必须是%20
and--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"
Curl 是您首选的 shell 语言(在我的情况下是 Bash)中阻力最小的路径。如果您不想使用 curl 来编写创建用户的脚本,那么有许多不同语言的库可以与 GitLab API 进行交互。任你选。流行的图书馆包括:
- Java - java-gitlab-api
- PHP - php-gitlab-api
- Python - pyapi-gitlab、python-gitlab或python-gitlab3
- Ruby - Gitlab 包装器
我确信还有更多其他语言的 API 库,只需 google 搜索您的首选语言,并将GitLab API作为查询的一部分。
于 2013-11-12T04:04:41.450 回答
0
如果可能(尚未测试),它可以通过gitlab-shell库完成,该库公开了gitlab的 API 。
但是添加用户还不是其 API 的一部分(它只添加 ssh 密钥)。
问题 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
于 2013-11-08T16:40:34.213 回答
0
通过 npm 安装的 cli-gitlab对于 LDAP (AD) 和本地用户来说都非常适合我。它保存了“管理员”用户的令牌,这使得编写脚本/自动化事情变得更加容易。
于 2015-12-25T03:05:29.990 回答