class Fastlane::Helper::AppcenterReleasesHelper
Public Class Methods
connection(upload_url = nil, dsym = false, csv = false)
click to toggle source
create request
# File lib/fastlane/plugin/appcenter_releases/helper/appcenter_releases_helper.rb, line 10 def self.connection(upload_url = nil, dsym = false, csv = false) require 'faraday' require 'faraday_middleware' default_api_url = "https://api.appcenter.ms" options = { url: upload_url || default_api_url } UI.message("DEBUG: BASE URL #{options[:url]}") if ENV['DEBUG'] Faraday.new(options) do |builder| if upload_url builder.request :multipart unless dsym builder.request :url_encoded unless dsym else builder.request :json end builder.response :json, content_type: /\bjson$/ unless csv builder.use FaradayMiddleware::FollowRedirects builder.adapter :net_http end end
fetch_releases(api_token:, owner_name:, app_name:)
click to toggle source
# File lib/fastlane/plugin/appcenter_releases/helper/appcenter_releases_helper.rb, line 35 def self.fetch_releases(api_token:, owner_name:, app_name:) connection = self.connection(nil, false, true) url = "/v0.1/apps/#{owner_name}/#{app_name}/releases" UI.message("DEBUG: GET #{url}") if ENV['DEBUG'] response = connection.get(url) do |req| req.headers['X-API-Token'] = api_token req.headers['internal-request-source'] = "fastlane" end UI.message("DEBUG: #{response.status} #{JSON.pretty_generate(response.body)}\n") if ENV['DEBUG'] case response.status when 200...300 JSON.parse(response.body) when 401 UI.user_error!("Auth Error, provided invalid token") false when 404 UI.error("Not found, invalid owner or application name") false else UI.error("Error #{response.status}: #{response.body}") false end end