81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
|
# File 'lib/fastlane/actions/hockey.rb', line 81
def self.available_options
[
FastlaneCore::ConfigItem.new(key: :apk,
env_name: "FL_HOCKEY_APK",
description: "Path to your APK file",
default_value: Actions.lane_context[SharedValues::GRADLE_APK_OUTPUT_PATH],
optional: true,
verify_block: proc do |value|
UI.user_error!("Couldn't find apk file at path '#{value}'") unless File.exist?(value)
end,
conflicting_options: [:ipa],
conflict_block: proc do |value|
UI.user_error!("You can't use 'apk' and '#{value.key}' options in one run")
end),
FastlaneCore::ConfigItem.new(key: :api_token,
env_name: "FL_HOCKEY_API_TOKEN",
description: "API Token for Hockey Access",
verify_block: proc do |value|
UI.user_error!("No API token for Hockey given, pass using `api_token: 'token'`") unless value and !value.empty?
end),
FastlaneCore::ConfigItem.new(key: :ipa,
env_name: "FL_HOCKEY_IPA",
description: "Path to your IPA file. Optional if you use the _gym_ or _xcodebuild_ action. For Mac zip the .app. For Android provide path to .apk file",
default_value: Actions.lane_context[SharedValues::IPA_OUTPUT_PATH],
optional: true,
verify_block: proc do |value|
UI.user_error!("Couldn't find ipa file at path '#{value}'") unless File.exist?(value)
end,
conflicting_options: [:apk],
conflict_block: proc do |value|
UI.user_error!("You can't use 'ipa' and '#{value.key}' options in one run")
end),
FastlaneCore::ConfigItem.new(key: :dsym,
env_name: "FL_HOCKEY_DSYM",
description: "Path to your symbols file. For iOS and Mac provide path to app.dSYM.zip. For Android provide path to mappings.txt file",
default_value: Actions.lane_context[SharedValues::DSYM_OUTPUT_PATH],
optional: true,
verify_block: proc do |value|
end),
FastlaneCore::ConfigItem.new(key: :notes,
env_name: "FL_HOCKEY_NOTES",
description: "Beta Notes",
default_value: Actions.lane_context[SharedValues::FL_CHANGELOG] || "No changelog given"),
FastlaneCore::ConfigItem.new(key: :notify,
env_name: "FL_HOCKEY_NOTIFY",
description: "Notify testers? \"1\" for yes",
default_value: "1"),
FastlaneCore::ConfigItem.new(key: :status,
env_name: "FL_HOCKEY_STATUS",
description: "Download status: \"1\" = No user can download; \"2\" = Available for download",
default_value: "2"),
FastlaneCore::ConfigItem.new(key: :notes_type,
env_name: "FL_HOCKEY_NOTES_TYPE",
description: "Notes type for your :notes, \"0\" = Textile, \"1\" = Markdown (default)",
default_value: "1"),
FastlaneCore::ConfigItem.new(key: :release_type,
env_name: "FL_HOCKEY_RELEASE_TYPE",
description: "Release type of the app: \"0\" = Beta (default), \"1\" = Store, \"2\" = Alpha, \"3\" = Enterprise",
default_value: "0"),
FastlaneCore::ConfigItem.new(key: :mandatory,
env_name: "FL_HOCKEY_MANDATORY",
description: "Set to \"1\" to make this update mandatory",
default_value: "0"),
FastlaneCore::ConfigItem.new(key: :teams,
env_name: "FL_HOCKEY_TEAMS",
description: "Comma separated list of team ID numbers to which this build will be restricted",
optional: true),
FastlaneCore::ConfigItem.new(key: :users,
env_name: "FL_HOCKEY_USERS",
description: "Comma separated list of user ID numbers to which this build will be restricted",
optional: true),
FastlaneCore::ConfigItem.new(key: :tags,
env_name: "FL_HOCKEY_TAGS",
description: "Comma separated list of tags which will receive access to the build",
optional: true),
FastlaneCore::ConfigItem.new(key: :public_identifier,
env_name: "FL_HOCKEY_PUBLIC_IDENTIFIER",
description: "Public identifier of the app you are targeting, usually you won't need this value",
optional: true),
FastlaneCore::ConfigItem.new(key: :commit_sha,
env_name: "FL_HOCKEY_COMMIT_SHA",
description: "The Git commit SHA for this build",
optional: true),
FastlaneCore::ConfigItem.new(key: :repository_url,
env_name: "FL_HOCKEY_REPOSITORY_URL",
description: "The URL of your source repository",
optional: true),
FastlaneCore::ConfigItem.new(key: :build_server_url,
env_name: "FL_HOCKEY_BUILD_SERVER_URL",
description: "The URL of the build job on your build server",
optional: true),
FastlaneCore::ConfigItem.new(key: :upload_dsym_only,
env_name: "FL_HOCKEY_UPLOAD_DSYM_ONLY",
description: "Flag to upload only the dSYM file to hockey app",
is_string: false,
default_value: false),
FastlaneCore::ConfigItem.new(key: :owner_id,
env_name: "FL_HOCKEY_OWNER_ID",
description: "ID for the owner of the app",
optional: true),
FastlaneCore::ConfigItem.new(key: :strategy,
env_name: "FL_HOCKEY_STRATEGY",
description: "Strategy: 'add' = to add the build as a new build even if it has the same build number (default); 'replace' = to replace a build with the same build number",
default_value: "add",
verify_block: proc do |value|
UI.user_error!("Invalid value '#{value}' for key 'strategy'. Allowed values are 'add', 'replace'.") unless ['add', 'replace'].include?(value)
end)
]
end
|