【问题标题】:Is there a way to add users automatically into gitlab?有没有办法自动将用户添加到 gitlab 中?
【发布时间】:2013-11-20 17:48:36
【问题描述】:

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

【问题讨论】:

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


    【解决方案1】:

    如果可能(尚未测试),它可以通过 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】:

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

      Curl 是您首选的 shell 语言(在我的例子中是 Bash)阻力最小的路径。如果您不想使用 curl 来编写创建用户的脚本,那么有许多不同语言的库可以与 GitLab API 进行交互。任你选。流行的库包括:

      我确信还有更多其他语言的 API 库,只需 google 搜索您的首选语言,并将 GitLab API 作为查询的一部分。

      【讨论】:

      【解决方案3】:

      cli-gitlab 通过 npm 安装对我来说对于 LDAP (AD) 和本地用户都非常有效。它保存了“管理员”用户的令牌,这使得编写脚本/自动化事情变得更加容易。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2018-06-22
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-11-30
        • 1970-01-01
        相关资源
        最近更新 更多