module QCloudHive::CodeOA

Public Class Methods

branch(project, name) click to toggle source
# File lib/qcloudhive/gitlab.rb, line 22
def CodeOA.branch(project, name)
  begin
     Gitlab.branch(project, name)
  rescue Gitlab::Error::NotFound
    return nil
  end
end
branchs(project) click to toggle source
# File lib/qcloudhive/gitlab.rb, line 57
def CodeOA.branchs(project)
  Gitlab.branches(project.id)
end
createProject(projectName) click to toggle source
# File lib/qcloudhive/gitlab.rb, line 43
def CodeOA.createProject(projectName)
  project = CodeOA.existProjectByName?(projectName)
  if project != nil
    puts ("#{name}已经在CodeOA上存在,将不会在git.code.oa.com上再次新建改项目")
    return project
  else
    Gitlab.create_project(projectName, {
      :description => "#{projectName}的仓库",
      :namespace_id => Config.namespaceID
      })
    CodeOA.existProjectByName?(projectName)
  end
end
empty?(project) click to toggle source
# File lib/qcloudhive/gitlab.rb, line 61
def CodeOA.empty?(project)
  if Gitlab.branches(project.id).count == 0
    true
  else
    false
  end
end
exist?(projectName) click to toggle source
# File lib/qcloudhive/gitlab.rb, line 12
def CodeOA.exist?(projectName)
  project = existProjectByName?(projectName)
  L.debug "project #{project}"
    if  project != nil
      return true
    else
      return false
    end
end
existProjectByName?(projectName) click to toggle source
# File lib/qcloudhive/gitlab.rb, line 29
def CodeOA.existProjectByName?(projectName)
  projects = Gitlab.project_search(projectName)
  L.info "所有项目 #{projects.count}"
  aimProjects = projects.select{ |p|
    L.debug "#{projectName} #{p.name} #{p.namespace.path} #{Config.team}"
    p.name == projectName && p.namespace.path == Config.team
  }
  if aimProjects.count > 0
    return aimProjects.first
  else
    return nil
  end
end
setup(token) click to toggle source
# File lib/qcloudhive/gitlab.rb, line 8
def CodeOA.setup(token)
  Gitlab.endpoint = "http://git.code.oa.com/api/v3"
  Gitlab.private_token = token
end