fastlane-plugin-apptics 1.0.0 → 1.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 517357d48d51ee35d77c5938a30e1103919b4963272ae13770afcf0d7e8fe54d
4
- data.tar.gz: fe5e9933c71ec17492aceecd6bb9311425994fe6cfd2bd302147384a5981f0d0
3
+ metadata.gz: 43a74d0a2389519e0ee30b3bf62cc3af5173b4a685415ab2f513be754c433370
4
+ data.tar.gz: e1603f1d1e0d00e54b8d5a5adcf8a025f2ea68611f4546e60030103d753d9fb7
5
5
  SHA512:
6
- metadata.gz: f01c30cd0fc65e188aeea91f5b43e54caf593b9cd38fbe6fde1a1971662bdcc52e552c4dbf940946efc014a2fb1dd9180e1e647814ca46c52b97dc58e0b2a351
7
- data.tar.gz: abb43153a5a29af8eaffa50bda9d4ee67cada363dc677ed3b6b651822c960b5866f6405efd6403230801966357c660e439810100c55144020d2863888e8a51a9
6
+ metadata.gz: ed606bc65f8aa4784bab0d379ff31a4537ae3f25906e223a68f94a347e7300725313e8c66f8f57529999ac13d75ae8f73d219836e01b530bec2f9f479bb67861
7
+ data.tar.gz: 486d02dee328bda38c83901e54b095f46e915afb3a9685e9ca2691f40d595168b3b8b79a156c4dfb04aaf6504af232ca077737c1f13e2a3dc6fdb906bb22d3fc
@@ -0,0 +1,167 @@
1
+ module Fastlane
2
+ module Actions
3
+ module SharedValues
4
+ UPLOAD_DSYM_TO_APPTICS_CUSTOM_VALUE = :UPLOAD_DSYM_TO_APPTICS_CUSTOM_VALUE
5
+ end
6
+
7
+ class UploadDsymToAppticsAction < Action
8
+
9
+ def self.run(params)
10
+
11
+ if params[:APP_VERSION] && params[:BUILD_VERSION] && params[:DSYM_FILE_PATH] && options_from_info_plist(params[:CONFIG_FILE_PATH]) != nil
12
+
13
+ dsym_zip_file = params[:DSYM_FILE_PATH]
14
+ app_version = params[:APP_VERSION]
15
+ build_version = params[:BUILD_VERSION]
16
+ config_file = options_from_info_plist(params[:CONFIG_FILE_PATH])
17
+ upload(config_file, dsym_zip_file,app_version,build_version)
18
+
19
+ end
20
+ end
21
+ def self.valid_json?(string)
22
+ !!JSON.parse(string)
23
+ rescue JSON::ParserError
24
+ false
25
+ end
26
+
27
+ def self.upload(apptics_config, dsym_zip_file,app_version,build_version)
28
+ api_key = apptics_config[:API_KEY]
29
+ server_url = apptics_config[:SERVER_URL]
30
+ bundle_id = apptics_config[:BUNDLE_ID]
31
+ puts"dsym_zip_file #{dsym_zip_file}"
32
+ puts "api_key #{api_key}"
33
+ server_url = "#{server_url}/api/janalytic/v3/addDsymfile?mode=1&platform=iOS&identifier=#{bundle_id}&appversion=#{app_version}&host=macbuild&remoteaddress=192.168.113.85&buildversion=#{build_version}&minosversion=10.13&frameworkversion=1.2.1"
34
+
35
+
36
+ puts "server_url #{server_url}"
37
+
38
+ url = URI.parse(server_url)
39
+ File.open(dsym_zip_file) do |zip|
40
+ req = Net::HTTP::Post.new(url)
41
+ form_data = [['dsymfile', zip]]
42
+ req.set_form form_data, 'multipart/form-data'
43
+ req['zak']=api_key
44
+ res = Net::HTTP.start(url.host, url.port, use_ssl: true, open_timeout:60, read_timeout: 300) do |http|
45
+ http.request(req)
46
+ end
47
+
48
+ # Status
49
+ puts res.code # => '200'
50
+ puts res.class.name # => 'HTTPOK'
51
+ puts res.body
52
+ # Body
53
+ if valid_json?(res.body)
54
+ data_hash = JSON.parse(res.body)
55
+ puts "dSYM upload status : #{data_hash['result']}"
56
+ if data_hash["result"] == "success"
57
+ puts "data : #{data_hash['data']}"
58
+ else
59
+ puts "error_message : #{data_hash['error_message']}"
60
+ end
61
+ else
62
+ puts res.body
63
+ end
64
+ end
65
+ end
66
+
67
+ #####################################################
68
+ # @!group Documentation
69
+ #####################################################
70
+
71
+ def self.description
72
+ "A short description with <= 80 characters of what this action does"
73
+ end
74
+
75
+ def self.details
76
+ # Optional:
77
+ # this is your chance to provide a more detailed description of this action
78
+ "You can use this action to do cool things..."
79
+ end
80
+
81
+ def self.available_options
82
+ # Define all options your action supports.
83
+
84
+ # Below a few examples
85
+ [
86
+ FastlaneCore::ConfigItem.new(key: :APP_VERSION,
87
+ env_name: "APP_VERSION", # The name of the environment variable
88
+ description: "App Version Token for UploadDsymToAppticsAction", # a short description of this parameter
89
+ verify_block: proc do |value|
90
+ UI.user_error!("No App Version for UploadDsymToAppticsAction given") unless (value and not value.empty?)
91
+ end),
92
+
93
+ FastlaneCore::ConfigItem.new(key: :DSYM_FILE_PATH,
94
+ env_name: "DSYM_FILE_PATH", # The name of the environment variable
95
+ description: "API Token for UploadDsymToAppticsAction", # a short description of this parameter
96
+ verify_block: proc do |value|
97
+ UI.user_error!("No API token for UploadDsymToAppticsAction given, pass using `api_token: 'token'`") unless (value and not value.empty?)
98
+ # UI.user_error!("Couldn't find file at path '#{value}'") unless File.exist?(value)
99
+ end),
100
+
101
+ FastlaneCore::ConfigItem.new(key: :BUILD_VERSION,
102
+ env_name: "BUILD_VERSION]", # The name of the environment variable
103
+ description: "Build version for UploadDsymToAppticsAction", # a short description of this parameter
104
+ verify_block: proc do |value|
105
+ UI.user_error!("No Build version for UploadDsymToAppticsAction given") unless (value and not value.empty?)
106
+ # UI.user_error!("Couldn't find file at path '#{value}'") unless File.exist?(value)
107
+ end),
108
+
109
+ FastlaneCore::ConfigItem.new(key: :CONFIG_FILE_PATH,
110
+ env_name: "CONFIG_FILE_PATH", # The name of the environment variable
111
+ description: "Config File for UploadDsymToAppticsAction", # a short description of this parameter
112
+ verify_block: proc do |value|
113
+ UI.user_error!("No Config File for UploadDsymToAppticsAction given") unless (value and not value.empty?)
114
+ # UI.user_error!("Couldn't find file at path '#{value}'") unless File.exist?(value)
115
+ end)
116
+ ]
117
+ end
118
+
119
+ def self.output
120
+ # Define the shared values you are going to provide
121
+ # Example
122
+ [
123
+ ['UPLOAD_DSYM_TO_APPTICS_CUSTOM_VALUE', 'A description of what this value contains']
124
+ ]
125
+ end
126
+
127
+ def self.options_from_info_plist file_path
128
+
129
+ plist_getter = Fastlane::Actions::GetInfoPlistValueAction
130
+ api_key = plist_getter.run(path: file_path, key: "API_KEY")
131
+ server_url = plist_getter.run(path: file_path, key: "SERVER_URL")
132
+ app_version_meta = plist_getter.run(path: file_path, key: "APP_VERSION_META")
133
+ bundle_id = plist_getter.run(path: file_path, key: "BUNDLE_ID")
134
+
135
+ {
136
+ API_KEY: api_key,
137
+ SERVER_URL:server_url,
138
+ BUNDLE_ID:bundle_id,
139
+ APP_VERSION_META: app_version_meta
140
+ }
141
+
142
+
143
+ end
144
+
145
+
146
+
147
+ def self.return_value
148
+ # If your method provides a return value, you can describe here what it does
149
+ end
150
+
151
+ def self.authors
152
+ # So no one will ever forget your contribution to fastlane :) You are awesome btw!
153
+ ["Your GitHub/Twitter Name"]
154
+ end
155
+
156
+ def self.is_supported?(platform)
157
+ [:ios, :mac, :tvos].include?(platform)
158
+ end
159
+ end
160
+ end
161
+ end
162
+
163
+
164
+
165
+
166
+
167
+
@@ -1,5 +1,5 @@
1
1
  module Fastlane
2
2
  module Apptics
3
- VERSION = "1.0.0"
3
+ VERSION = "1.0.2"
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fastlane-plugin-apptics
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
4
+ version: 1.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jaikarthick R
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-05-12 00:00:00.000000000 Z
11
+ date: 2022-05-16 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -160,6 +160,7 @@ files:
160
160
  - README.md
161
161
  - lib/fastlane/plugin/apptics.rb
162
162
  - lib/fastlane/plugin/apptics/actions/apptics_action.rb
163
+ - lib/fastlane/plugin/apptics/actions/upload_dsym_to_apptics.rb
163
164
  - lib/fastlane/plugin/apptics/helper/apptics_helper.rb
164
165
  - lib/fastlane/plugin/apptics/version.rb
165
166
  homepage: https://github.com/zoho/fastlane-plugin-apptics