4

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

4

3 回答 3

4

您可以使用GitLab API在脚本 中创建用户。最新版本的 curl 可以为您对 POST 数据进行url 编码。否则空格必须是%20and--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 进行交互。任你选。流行的图书馆包括:

我确信还有更多其他语言的 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 回答