class Fastlane::Actions::UnretireAllVersionsAction

Public Class Methods

authors() click to toggle source
# File lib/fastlane/plugin/airwatch_workspaceone/actions/unretire_all_versions.rb, line 62
def self.authors
  ["Ram Awadhesh Sharan"]
end
available_options() click to toggle source
# File lib/fastlane/plugin/airwatch_workspaceone/actions/unretire_all_versions.rb, line 75
def self.available_options
  [
    FastlaneCore::ConfigItem.new(key: :host_url,
                            env_name: "AIRWATCH_HOST_API_URL",
                         description: "Host API URL of the AirWatch/Workspace ONE instance without /API/ at the end",
                            optional: false,
                                type: String,
                        verify_block: proc do |value|
                                        UI.user_error!("No AirWatch/Workspace ONE Host API URl given, pass using `host_url: 'https://yourhost.com'`") unless value and !value.empty?
                                      end),

    FastlaneCore::ConfigItem.new(key: :aw_tenant_code,
                            env_name: "AIRWATCH_API_KEY",
                         description: "API key or the tenant code to access AirWatch/Workspace ONE Rest APIs",
                            optional: false,
                                type: String,
                        verify_block: proc do |value|
                                        UI.user_error!("Api tenant code header is missing, pass using `aw_tenant_code: 'yourapikey'`") unless value and !value.empty?
                                      end),

    FastlaneCore::ConfigItem.new(key: :b64_encoded_auth,
                            env_name: "AIRWATCH_BASE64_ENCODED_BASIC_AUTH_STRING",
                         description: "The base64 encoded Basic Auth string generated by authorizing username and password to the AirWatch/Workspace ONE instance",
                            optional: false,
                                type: String,
                        verify_block: proc do |value|
                                        UI.user_error!("The authorization header is empty or the scheme is not basic, pass using `b64_encoded_auth: 'yourb64encodedauthstring'`") unless value and !value.empty?
                                      end),

    FastlaneCore::ConfigItem.new(key: :org_group_id,
                            env_name: "AIRWATCH_ORGANIZATION_GROUP_ID",
                         description: "Organization Group ID integer identifying the customer or container",
                            optional: false,
                                type: String,
                        verify_block: proc do |value|
                                        UI.user_error!("No Organization Group ID integer given, pass using `org_group_id: 'yourorggrpintid'`") unless value and !value.empty?
                                      end),

    FastlaneCore::ConfigItem.new(key: :app_identifier,
                            env_name: "APP_IDENTIFIER",
                         description: "Bundle identifier of your app",
                            optional: false,
                                type: String,
                        verify_block: proc do |value|
                                        UI.user_error!("No app identifier given, pass using `app_identifier: 'com.example.app'`") unless value and !value.empty?
                                      end),

    FastlaneCore::ConfigItem.new(key: :debug,
                            env_name: "AIRWATCH_DEBUG",
                         description: "Debug flag, set to true to show extended output. default: false",
                            optional: true,
                           is_string: false,
                       default_value: false)
  ]
end
debug() click to toggle source

helpers

# File lib/fastlane/plugin/airwatch_workspaceone/actions/unretire_all_versions.rb, line 141
def self.debug
  $is_debug
end
description() click to toggle source
# File lib/fastlane/plugin/airwatch_workspaceone/actions/unretire_all_versions.rb, line 58
def self.description
  "The main purpose of this action is to unretire all retired versions of an application."
end
details() click to toggle source
# File lib/fastlane/plugin/airwatch_workspaceone/actions/unretire_all_versions.rb, line 70
def self.details
  # Optional:
  "unretire_all_versions - To unretire all retired versions of an application on the AirWatch/Workspace ONE console."
end
is_supported?(platform) click to toggle source
# File lib/fastlane/plugin/airwatch_workspaceone/actions/unretire_all_versions.rb, line 131
def self.is_supported?(platform)
  # Adjust this if your plugin only works for a particular platform (iOS vs. Android, for example)
  # See: https://docs.fastlane.tools/advanced/#control-configuration-by-lane-and-by-platform

  [:ios, :android].include?(platform)
  true
end
return_value() click to toggle source
# File lib/fastlane/plugin/airwatch_workspaceone/actions/unretire_all_versions.rb, line 66
def self.return_value
  # If your method provides a return value, you can describe here what it does
end
run(params) click to toggle source
# File lib/fastlane/plugin/airwatch_workspaceone/actions/unretire_all_versions.rb, line 10
def self.run(params)
  UI.message("The airwatch_workspaceone plugin is working!")

  # check if debug is enabled
  $is_debug = params[:debug]

  if debug
    UI.message("-------------------------------------------")
    UI.message("UnretireAllVersionsAction debug information")
    UI.message("-------------------------------------------")
    UI.message(" host_url: #{params[:host_url]}")
    UI.message(" aw_tenant_code: #{params[:aw_tenant_code]}")
    UI.message(" b64_encoded_auth: #{params[:b64_encoded_auth]}")
    UI.message(" organization_group_id: #{params[:org_group_id]}")
    UI.message(" app_identifier: #{params[:app_identifier]}")
  end

  $host_url         = params[:host_url]
  $aw_tenant_code   = params[:aw_tenant_code]
  $b64_encoded_auth = params[:b64_encoded_auth]
  $org_group_id     = params[:org_group_id]
  app_identifier    = params[:app_identifier]

  # step 1: find app
  UI.message("-------------------------------")
  UI.message("1. Finding retired app versions")
  UI.message("-------------------------------")

  retired_app_versions = Helper::AirwatchWorkspaceoneHelper.find_app_versions(app_identifier, 'Retired', $host_url, $aw_tenant_code, $b64_encoded_auth, $org_group_id, debug)
  if retired_app_versions.count <= 0
    UI.important("No retired app versions found for application with bundle identifier given: %s" % [app_identifier])
    return
  end

  UI.success("Found %d retired app version(s)" % [retired_app_versions.count])
  UI.success("Version number(s): %s" % [retired_app_versions.map {|retired_app_version| retired_app_version.values[1]}])

  # step 2: retire previous versions
  UI.message("----------------------------------")
  UI.message("2. UnRetiring retired app versions")
  UI.message("----------------------------------")

  retired_app_versions.each do |retired_app_version|
    Helper::AirwatchWorkspaceoneHelper.unretire_app(retired_app_version, $host_url, $aw_tenant_code, $b64_encoded_auth, debug)
  end
  UI.success("Version(s) %s successfully unretired." % [retired_app_versions.map {|retired_app_version| retired_app_version.values[1]}])
end