Class: Bitrise::Client

Inherits:
Object
  • Object
show all
Includes:
App, Build, TestDevice
Defined in:
lib/bitrise/client.rb,
lib/bitrise/client/app.rb,
lib/bitrise/client/build.rb,
lib/bitrise/client/version.rb,
lib/bitrise/client/test_device.rb,
lib/bitrise/client/middleware/error_handler.rb

Defined Under Namespace

Modules: App, Build, Middleware, TestDevice

Constant Summary collapse

VERSION =
"0.3.1"

Instance Method Summary collapse

Methods included from TestDevice

#test_devices

Methods included from Build

#trigger_build

Methods included from App

#apps

Constructor Details

#initialize(access_token: nil, options: {}) ⇒ Client

Returns a new instance of Client.

Raises:

  • (ArgumentError)


17
18
19
20
21
22
23
# File 'lib/bitrise/client.rb', line 17

def initialize(access_token: nil, options: {})
  raise ArgumentError.new('You must specify Bitrise access token by `access_token:`.') unless access_token
  @api_host = options[:host] || 'https://api.bitrise.io'
  @timeout = options[:timeout] || 30
  @open_timeout = options[:open_timeout] || 30
  @access_token = access_token
end

Instance Method Details

#abort_build(app_slug: nil, build_slug: nil, options: {}) ⇒ Object

Parameters:

  • app_slug (String) (defaults to: nil)

    Your bitrise app slug

  • build_slug (String) (defaults to: nil)

    Bitrise build slug which you want to abort

  • options (Hash) (defaults to: {})
  • opts (Hash)

    a customizable set of options

Raises:

  • (ArgumentError)


46
47
48
49
50
51
52
53
54
55
# File 'lib/bitrise/client/build.rb', line 46

def abort_build(app_slug: nil, build_slug: nil, options: {})
  raise ArgumentError, 'App slug required. You must specify by \'app_slug:\'' unless app_slug
  raise ArgumentError, 'Build slug required. You must specify by \'build_slug:\'' unless build_slug

  client.post do |request|
    request.url "/v0.1/apps/#{app_slug}/builds/#{build_slug}/abort"
    request.headers['Content-Type'] = 'application/json'
    request.body = options.to_json
  end
end

#clientObject



25
26
27
28
29
30
31
32
33
34
35
36
# File 'lib/bitrise/client.rb', line 25

def client
  @client ||= Faraday.new(url: @api_host) do |faraday|
    faraday.options.timeout        = @timeout
    faraday.options.open_timeout   = @open_timeout
    faraday.options.params_encoder = Faraday::FlatParamsEncoder
    faraday.use Bitrise::Client::Middleware::ErrorHandler
    faraday.response :logger if ENV['DEBUG']
    faraday.headers['Authorization'] = @access_token

    faraday.adapter Faraday.default_adapter
  end
end