|
|
@ -14,6 +14,10 @@ module GitlabHelper
|
|
|
|
#REPO_IP_ADDRESS = "http://" + Setting.repository_domain
|
|
|
|
#REPO_IP_ADDRESS = "http://" + Setting.repository_domain
|
|
|
|
REPO_IP_ADDRESS = "http://192.168.137.100"
|
|
|
|
REPO_IP_ADDRESS = "http://192.168.137.100"
|
|
|
|
GITLAB_API = "/api/v3"
|
|
|
|
GITLAB_API = "/api/v3"
|
|
|
|
|
|
|
|
# gitlab的默认登录用户(需管理员)
|
|
|
|
|
|
|
|
LOGIN_USER = Setting.gitlab_login_user
|
|
|
|
|
|
|
|
# gitlab的默认登录密码
|
|
|
|
|
|
|
|
LOGIN_PASSWORD = Setting.gitlab_login_password
|
|
|
|
|
|
|
|
|
|
|
|
# 用户在项目中的权限级别
|
|
|
|
# 用户在项目中的权限级别
|
|
|
|
GUEST = 10
|
|
|
|
GUEST = 10
|
|
|
@ -33,6 +37,12 @@ module GitlabHelper
|
|
|
|
Thread.current[:gitlab_token] ||= nil
|
|
|
|
Thread.current[:gitlab_token] ||= nil
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def login_check
|
|
|
|
|
|
|
|
if GitlabHelper.gitlab_token.nil?
|
|
|
|
|
|
|
|
login_gitlab(GitlabHelper.LOGIN_USER,GitlabHelper.LOGIN_PASSWORD)
|
|
|
|
|
|
|
|
end
|
|
|
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
# 登录gitlab
|
|
|
|
# 登录gitlab
|
|
|
|
# add by nwb
|
|
|
|
# add by nwb
|
|
|
|
def login_gitlab(email,password)
|
|
|
|
def login_gitlab(email,password)
|
|
|
@ -57,6 +67,7 @@ module GitlabHelper
|
|
|
|
# 创建项目
|
|
|
|
# 创建项目
|
|
|
|
# add by nwb
|
|
|
|
# add by nwb
|
|
|
|
def create_project(project_name,project_id)
|
|
|
|
def create_project(project_name,project_id)
|
|
|
|
|
|
|
|
login_check
|
|
|
|
url = REPO_IP_ADDRESS + GITLAB_API + "/projects"
|
|
|
|
url = REPO_IP_ADDRESS + GITLAB_API + "/projects"
|
|
|
|
uri = URI.parse(url)
|
|
|
|
uri = URI.parse(url)
|
|
|
|
data = {name:project_name, private_token:GitlabHelper.gitlab_token}
|
|
|
|
data = {name:project_name, private_token:GitlabHelper.gitlab_token}
|
|
|
@ -92,6 +103,7 @@ module GitlabHelper
|
|
|
|
# project_id: 项目在trustie中的编号
|
|
|
|
# project_id: 项目在trustie中的编号
|
|
|
|
# add by nwb
|
|
|
|
# add by nwb
|
|
|
|
def create_project_for_user(project_name,project_id,user_id)
|
|
|
|
def create_project_for_user(project_name,project_id,user_id)
|
|
|
|
|
|
|
|
login_check
|
|
|
|
url = REPO_IP_ADDRESS + GITLAB_API + "/projects/user/" + user_id
|
|
|
|
url = REPO_IP_ADDRESS + GITLAB_API + "/projects/user/" + user_id
|
|
|
|
uri = URI.parse(url)
|
|
|
|
uri = URI.parse(url)
|
|
|
|
data = {user_id:user_id, name:project_name,private_token:GitlabHelper.gitlab_token}
|
|
|
|
data = {user_id:user_id, name:project_name,private_token:GitlabHelper.gitlab_token}
|
|
|
@ -126,6 +138,7 @@ module GitlabHelper
|
|
|
|
# loginname:登录名称(版本库路径包含) name:用户姓名
|
|
|
|
# loginname:登录名称(版本库路径包含) name:用户姓名
|
|
|
|
# add by nwb
|
|
|
|
# add by nwb
|
|
|
|
def create_user (loginname,name,password,email,userid)
|
|
|
|
def create_user (loginname,name,password,email,userid)
|
|
|
|
|
|
|
|
login_check
|
|
|
|
url = REPO_IP_ADDRESS + GITLAB_API + "/users"
|
|
|
|
url = REPO_IP_ADDRESS + GITLAB_API + "/users"
|
|
|
|
uri = URI.parse(url)
|
|
|
|
uri = URI.parse(url)
|
|
|
|
data = {email:email,password:password,username:loginname, name:name, private_token:GitlabHelper.gitlab_token}
|
|
|
|
data = {email:email,password:password,username:loginname, name:name, private_token:GitlabHelper.gitlab_token}
|
|
|
@ -156,6 +169,7 @@ module GitlabHelper
|
|
|
|
# user_id:用户在gitlab中的id
|
|
|
|
# user_id:用户在gitlab中的id
|
|
|
|
# add by nwb
|
|
|
|
# add by nwb
|
|
|
|
def delete_user(user_id)
|
|
|
|
def delete_user(user_id)
|
|
|
|
|
|
|
|
login_check
|
|
|
|
url = REPO_IP_ADDRESS + GITLAB_API + "/users/" + user_id
|
|
|
|
url = REPO_IP_ADDRESS + GITLAB_API + "/users/" + user_id
|
|
|
|
uri = URI.parse(url)
|
|
|
|
uri = URI.parse(url)
|
|
|
|
data = {id:user_id,private_token:GitlabHelper.gitlab_token}
|
|
|
|
data = {id:user_id,private_token:GitlabHelper.gitlab_token}
|
|
|
@ -188,6 +202,7 @@ module GitlabHelper
|
|
|
|
#MASTER = 40
|
|
|
|
#MASTER = 40
|
|
|
|
# add by nwb
|
|
|
|
# add by nwb
|
|
|
|
def add_user_to_project(project_id,user_id,access_level)
|
|
|
|
def add_user_to_project(project_id,user_id,access_level)
|
|
|
|
|
|
|
|
login_check
|
|
|
|
url = REPO_IP_ADDRESS + GITLAB_API + "/projects/" + project_id +"/members"
|
|
|
|
url = REPO_IP_ADDRESS + GITLAB_API + "/projects/" + project_id +"/members"
|
|
|
|
uri = URI.parse(url)
|
|
|
|
uri = URI.parse(url)
|
|
|
|
data = {id:project_id,user_id:user_id,access_level:access_level, private_token:GitlabHelper.gitlab_token}
|
|
|
|
data = {id:project_id,user_id:user_id,access_level:access_level, private_token:GitlabHelper.gitlab_token}
|
|
|
@ -208,6 +223,7 @@ module GitlabHelper
|
|
|
|
# project_id:项目在gitlab中的ids user_id:用户在gitlab中的id
|
|
|
|
# project_id:项目在gitlab中的ids user_id:用户在gitlab中的id
|
|
|
|
# add by nwb
|
|
|
|
# add by nwb
|
|
|
|
def delete_user_from_project(project_id,user_id)
|
|
|
|
def delete_user_from_project(project_id,user_id)
|
|
|
|
|
|
|
|
login_check
|
|
|
|
url = REPO_IP_ADDRESS + GITLAB_API + "/projects/" + project_id +"/members/" + user_id
|
|
|
|
url = REPO_IP_ADDRESS + GITLAB_API + "/projects/" + project_id +"/members/" + user_id
|
|
|
|
uri = URI.parse(url)
|
|
|
|
uri = URI.parse(url)
|
|
|
|
data = {id:project_id,user_id:user_id,private_token:GitlabHelper.gitlab_token}
|
|
|
|
data = {id:project_id,user_id:user_id,private_token:GitlabHelper.gitlab_token}
|
|
|
|