class UniversalGitClient::Http::Bitbucket

Public Instance Methods

branch(owner:, repo:, branch:) click to toggle source
# File lib/universal-git-client/http/bitbucket.rb, line 79
def branch(owner:, repo:, branch:)
  encoded_branch = URI.encode_www_form_component(branch)
  with_response_validation! do
    self.class.get(
      "/repositories/#{owner}/#{repo}/refs/branches/#{encoded_branch}",
      default_options
    )
  end
end
branches(owner:, repo:, page: 1, per_page: nil) click to toggle source
# File lib/universal-git-client/http/bitbucket.rb, line 65
def branches(owner:, repo:, page: 1, per_page: nil)
  with_response_validation! do
    self.class.get(
      "/repositories/#{owner}/#{repo}/refs/branches",
      default_options.merge(
        query: {
          page: page,
          pagelen: per_page || default_elements_per_page
        }
      )
    )
  end
end
delete_repo_webhook(owner:, repo:, webhook_id:) click to toggle source
# File lib/universal-git-client/http/bitbucket.rb, line 111
def delete_repo_webhook(owner:, repo:, webhook_id:)
  with_response_validation! do
    self.class.delete(
      "/repositories/#{owner}/#{repo}/hooks/#{webhook_id}",
      default_options
    )
  end
end
download_repo_archive(owner:, repo:, branch: nil) click to toggle source
# File lib/universal-git-client/http/bitbucket.rb, line 89
def download_repo_archive(owner:, repo:, branch: nil)
  Down.download("#{download_url}/#{owner}/#{repo}/get/#{branch}.zip", down_default_options)
end
orga_repos(organization:, page: 1, per_page: nil) click to toggle source
# File lib/universal-git-client/http/bitbucket.rb, line 45
def orga_repos(organization:, page: 1, per_page: nil)
  with_response_validation! do
    self.class.get(
      "/repositories/#{organization}",
      default_options.merge(
        query: {
          page: page,
          pagelen: per_page || default_elements_per_page
        }
      )
    )
  end
end
organizations(page: 1, per_page: nil) click to toggle source
# File lib/universal-git-client/http/bitbucket.rb, line 15
def organizations(page: 1, per_page: nil)
  with_response_validation! do
    self.class.get(
      '/workspaces',
      default_options.merge(
        query: {
          page: page,
          pagelen: per_page || default_elements_per_page,
          q: %(uuid!="#{user['uuid']}")
        }
      )
    )
  end
end
repository(owner:, repo:) click to toggle source
# File lib/universal-git-client/http/bitbucket.rb, line 59
def repository(owner:, repo:)
  with_response_validation! do
    self.class.get("/repositories/#{owner}/#{repo}", default_options)
  end
end
setup_repo_webhook(owner:, repo:, webhook_url:, webhook_secret: nil) click to toggle source
# File lib/universal-git-client/http/bitbucket.rb, line 93
def setup_repo_webhook(owner:, repo:, webhook_url:, webhook_secret: nil)
  with_response_validation! do
    self.class.post(
      "/repositories/#{owner}/#{repo}/hooks",
      default_options.merge(
        body: {
          description: 'webhook',
          url: webhook_secret ? "#{webhook_url}?secret=#{webhook_secret}" : webhook_url,
          active: true,
          events: [
            'repo:push'
          ]
        }.to_json
      )
    )
  end
end
user() click to toggle source
# File lib/universal-git-client/http/bitbucket.rb, line 9
def user
  with_response_validation! do
    self.class.get('/user', default_options)
  end
end
user_repos(page: 1, per_page: nil) click to toggle source
# File lib/universal-git-client/http/bitbucket.rb, line 30
def user_repos(page: 1, per_page: nil)
  current_user_uuid = URI.encode_www_form_component(user['uuid'])
  with_response_validation! do
    self.class.get(
      "/repositories/#{current_user_uuid}",
      default_options.merge(
        query: {
          page: page,
          pagelen: per_page || default_elements_per_page
        }
      )
    )
  end
end