Sha256: 678eb4a9db02a9f85b447ef33fb50425a23f2005d9b7df7e616430f44af4d523
Contents?: true
Size: 1.95 KB
Versions: 1
Compression:
Stored size: 1.95 KB
Contents
class Repository include API LIMIT=1000.to_s def self.get_all(bb,project) data = bb.request(:get, "rest/api/1.0/projects/#{project}/repos/?limit=#{LIMIT}") data['values'].map {|p| new(bb,p) } end attr_reader :bb, :name, :project def initialize(server,data) @bb = server @name = data['slug'] @project = data['project']['key'] end def branch_permissions bb.request(:get, "rest/branch-permissions/2.0/projects/#{project}/repos/#{name}/restrictions")['values'] end def master_branch_protected? !! branch_permissions.detect do |c| c["type"] == 'fast-forward-only' && c["matcher"]["id"] == 'refs/heads/master' end end def set_master_branch_protected perm = { "type"=>"fast-forward-only", "matcher"=> {"id"=>"refs/heads/master", "displayId"=>"master", "type"=>{"id"=>"BRANCH", "name"=>"Branch"}, "active"=>true}, "users"=>[], "groups"=>[] }.to_json bb.request(:post, "rest/branch-permissions/2.0/projects/#{project}/repos/#{name}/restrictions", perm) end def move_repo_to_project(new_project) bb.request(:post, "/rest/api/1.0/projects/#{project}/repos/#{name}",{project: {key: new_project}}.to_json) bb.request(:delete, "/rest/api/1.0/projects/#{project}/repos/#{name}") end def hooks bb.request(:get, "rest/api/1.0/projects/#{project}/repos/#{name}/settings/hooks") end def set_hook_status(key, status) if status bb.request(:put, "rest/api/1.0/projects/#{project}/repos/#{name}/settings/hooks/#{key}/enabled") else bb.request(:delete, "rest/api/1.0/projects/#{project}/repos/#{name}/settings/hooks/#{key}/enabled") end end def hook_settings(key) bb.request(:get, "rest/api/1.0/projects/#{project}/repos/#{name}/settings/hooks/#{key}/settings") end def set_hook_settings(key, settings) bb.request(:put, "rest/api/1.0/projects/#{project}/repos/#{name}/settings/hooks/#{key}/settings", settings) end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
api_deploy-0.1.0 | lib/bitbucket/repository.rb |