2013-10-25 46 views
17

我們在辦公室設置了gitlab設置,我們每週在該處創建約100-150個項目,而管理員想要保留創建回購站和分配團隊的控制權對於每個人來說每個星期都要創建很多回購協議似乎是一件非常艱鉅的任務。使用CLI在gitlab中創建回購庫

有沒有辦法來create repo on Gitlab using CLI - 我不會介意,如果我不得不使用ssh它。

回答

2

您可以使用gitlab-cli並使用shell腳本自動執行該過程。我已經在gitlab 5.x中使用了這個,但根據該網站,它可能無法與gitlab 6一起工作。

+0

gitlab-CLI不再是積極維護 - 見作者注:「這可能不是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,但是可見度級別像這樣:'gitlab create_project」{visibility_level:10 }「$ GIT_REPO_NAME」。 – MoOx

9

由於您只是想創建一個回購,所以不需要第三方應用程序。你可以直接發送一個post請求給gitlab,它會創建repo。

在你的個人資料中轉到account tab,你會發現一個私人令牌。收到。

現在打開終端並使用私人令牌(例如foo)和您的回購商標(例如bar)運行此命令。

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

爲方便起見,如果您不想每次都運行此命令,則可以創建一個shell腳本。

#!/bin/sh 

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

保存這一個文件gcr.sh,並使其可執行使用chmod +x gcr.sh

我們創建一個回購名稱bar,運行

$ ./gcr.sh bar 
+0

有沒有辦法讓這個工作通過gitlab的默認http? – Gerrat

+0

@Gerrat我唯一得到的是一個422 HTTP錯誤。 –