class Fastlane::Helper::GsProjectFlowIosHelper
Public Class Methods
get_versions_path()
click to toggle source
class methods that you define here become available in your action as ‘Helper::GsProjectFlowIosHelper.your_method`
# File lib/fastlane/plugin/gs_project_flow_ios/helper/gs_project_flow_ios_helper.rb, line 29 def self.get_versions_path return Dir.pwd+"/../../versions.json" end
send_report(message, buildState, lane, restartBuildURL = nil)
click to toggle source
# File lib/fastlane/plugin/gs_project_flow_ios/helper/gs_project_flow_ios_helper.rb, line 106 def self.send_report(message, buildState, lane, restartBuildURL = nil) # Dir.chdir Dir.pwd+"/../../../../" do UI.message(Dir.pwd) params = Hash.new params["state"] = buildState params["alias"] = ENV["ALIAS"] if buildState == BuildState::FAILURE params["message"] = message end if restartBuildURL != nil params["restart_build_url"] = restartBuildURL end if lane == :beta params["cmd"] = "beta" elsif lane == :rc params["cmd"] = "rc" elsif lane == :release params["cmd"] = "release" end paramsJSON = params.to_json client = Spaceship::GSBotClient.new url = 'jobStates' response = client.request(:post) do |req| req.url url req.body = paramsJSON req.headers['Content-Type'] = 'application/json' end UI.important('body ' + paramsJSON) if response.success? UI.important('status' + response.status.to_s) return response else raise (client.class.hostname + url + ' ' + response.status.to_s + ' ' + response.body['message']) end # Actions::ShAction.run(FastlaneCore::Configuration.create(Actions::ShAction.available_options, # {command:"curl -X POST -H \"Content-Type: application/json\" -d '#{paramsJSON}' http://mobile.geo4.io/bot/releaseBuilder/jobStates"})) # sh "sh build_reporter.sh " + chat_id.to_s + " " + message # end end
show_message()
click to toggle source
# File lib/fastlane/plugin/gs_project_flow_ios/helper/gs_project_flow_ios_helper.rb, line 155 def self.show_message UI.message("Hello from the gs_project_flow_ios plugin helper!") end
version_for_lane(lane, buildState)
click to toggle source
# File lib/fastlane/plugin/gs_project_flow_ios/helper/gs_project_flow_ios_helper.rb, line 67 def self.version_for_lane(lane, buildState) version_name = "" if lane == :beta if buildState == BuildState::FAILURE v = Actions::GsIncrementBetaVersionAction.run(FastlaneCore::Configuration.create(Actions::GsIncrementBetaVersionAction.available_options,{path: GsProjectFlowIosHelper.get_versions_path})) else v = Actions::GsGetBetaVersionAction.run(FastlaneCore::Configuration.create(Actions::GsGetBetaVersionAction.available_options,{path: GsProjectFlowIosHelper.get_versions_path})) end version_name = v.major.to_s+ "." + v.minor.to_s + "." + v.build.to_s elsif lane == :rc if buildState == BuildState::FAILURE if ENV['RC_DID_FAILED'] #Если произошла ошибка до успешной отправки в стор v = Actions::GsIncrementRcVersionAction.run(FastlaneCore::Configuration.create(Actions::GsIncrementBetaVersionAction.available_options,{path: GsProjectFlowIosHelper.get_versions_path})) else v = Actions::GsGetRcVersionAction.run(FastlaneCore::Configuration.create(Actions::GsGetBetaVersionAction.available_options,{path: GsProjectFlowIosHelper.get_versions_path})) end else v = Actions::GsGetRcVersionAction.run(FastlaneCore::Configuration.create(Actions::GsGetBetaVersionAction.available_options,{path: GsProjectFlowIosHelper.get_versions_path})) end # v = gs_get_rc_version(path: GsProjectFlowIosHelper.get_versions_path) version_name = v.major.to_s+ "." + v.minor.to_s elsif lane == :release if buildState == BuildState::FAILURE v = Actions::GsIncrementReleaseVersionAction.run(FastlaneCore::Configuration.create(Actions::GsIncrementBetaVersionAction.available_options,{path: GsProjectFlowIosHelper.get_versions_path})) else v = Actions::GsGetReleaseVersionAction.run(FastlaneCore::Configuration.create(Actions::GsGetBetaVersionAction.available_options,{path: GsProjectFlowIosHelper.get_versions_path})) end # v = gs_get_release_version(path: GsProjectFlowIosHelper.get_versions_path) version_name = v.major.to_s+ "." + v.minor.to_s end return version_name,v end
Public Instance Methods
execute_action(action, parameters, class_ref: nil, custom_dir: '.', from_action: false)
click to toggle source
# File lib/fastlane/plugin/gs_project_flow_ios/helper/gs_project_flow_ios_helper.rb, line 33 def execute_action(action, parameters, class_ref: nil, custom_dir: '.', from_action: false) if class_ref.nil? local_class_ref = Actions.action_class_ref(action) else local_class_ref = class_ref end r = Runner.new r.execute_action(action, local_class_ref, [parameters], custom_dir: custom_dir, from_action: from_action) end
generateReleaseNotes(cmd, aliasServer, version, lang = nil)
click to toggle source
# File lib/fastlane/plugin/gs_project_flow_ios/helper/gs_project_flow_ios_helper.rb, line 43 def generateReleaseNotes(cmd, aliasServer, version, lang = nil) cmnd = cmd if lang != nil cmnd = cmnd+lang else raise "Language is required for release notes generating." end require 'fastlane/plugin/gs_deliver' # params = {cmd:cmnd, # lang: lang, # alias:aliasServer, # displayVersionName:version} # text = execute_action('gs_get_release_notes', params) text = Actions::GsGetReleaseNotesAction.run(FastlaneCore::Configuration.create(Actions::GsGetReleaseNotesAction.available_options,{cmd:cmnd, lang: lang, alias:aliasServer, displayVersionName:version})) # UI.message("Check exist " + Dir.pwd + "/../../../notes/" + aliasServer + "/" + version + "_" + lang + ".txt") # if !File.exist?(Dir.pwd + "/../../../notes/" + aliasServer + "/" + version + "_" + lang + ".txt") # raise "Не удалось сгенерировать ReleaseNotes" # end return text end