2013-10-25 12 views
17

私たちはオフィスにgitlabを設定しています。管理者はreposを作成してチームを割り当てることを望んでいるのに対し、毎週約100〜毎週多くのリポジトリを作成することは誰にとっても非常に難しいことです。CLIを使用してgitlabにレポを作成する

への道はありますかcreate repo on Gitlab using CLI - 私はsshを使用しなければならない場合は気にしません。

答えて

2

gitlab-cliを使用し、シェルスクリプトを使用してプロセスを自動化することができます。私はgitlab 5.xでこれを使用しましたが、gitlab 6では動作しないかもしれません。

+0

gitlab-CLIはもはや積極的に維持されているレポ名bar、実行を作成する - 著者の注を参照してください:「これはGitLab 6.xの+このプロジェクトはもはや維持されていると動作しない場合があります。完全な機能を備えたCLIツールのメンテナンスについては、http://narkoz.github.io/gitlab/ " –

15

gitlab-cliは、もはや維持されていません。代わりにGitlabモジュールが使用されます。CLIツール。 - あなたの特定の要求のために

つまり、コマンドラインでプロジェクトを作成するには、次のコマンドを使用します。

gitlab create_project "YOUR_PROJECT_NAME" "{namespace_id: 'YOUR_NUMERIC_GROUP_ID'}"

をオプションnamespace_idしていないgroup_idを使用してください!あなたはGROUP_IDが何であるかわからない場合、あなたは見つけるために

gitlab groups | grep YOUR_GROUP_NAME

を使用することができます。

各コマンドのパラメータは、API documentationから推測できます。非スカラー値のパラメータは、インラインYAML構文(上記のように)でエンコードする必要があります。

+0

"を参照してください。パブリックリポジトリを作成するには、namespace_idは必要ありませんが、visibility_levelは 'gitlab create_project" {visibility_level:10 } "$ GIT_REPO_NAME'。 – MoOx

9

レポを作成したかったので、サードパーティのアプリケーションは必要ありません。リポジトリを作成するgitlabに投稿要求を直接送ることができます。

あなたのプロフィールのaccount tabにアクセスすると、プライベートトークンが見つかります。了解。

端末を開き、プライベートトークン(たとえばfoo)とあなたのレポ名(たとえばbar)でこのコマンドを実行します。

curl -H "Content-Type:application/json" https://gitlab.com/api/v3/projects?private_token=foo -d "{ \"name\": \"bar\" }" 

便宜上、毎回このコマンドを実行したくない場合は、シェルスクリプトを作成できます。ファイルgcr.sh

#!/bin/sh 

curl -H "Content-Type:application/json" https://gitlab.com/api/v3/projects?private_token=foo -d "{ \"name\": \"$1\" }" 

保存はこれとそれがchmod +x gcr.shを使用して実行可能にします。

は今

$ ./gcr.sh bar 
+0

これはgitlabのデフォルトのhttpを超えて動作させる方法はありますか? – Gerrat

+0

@Gerrat私が得る唯一の事は422 HTTPエラーです。 –

関連する問題