lib/spaceship/tunes/tunes_client.rb in spaceship-0.19.4 vs lib/spaceship/tunes/tunes_client.rb in spaceship-0.20.0
- old
+ new
@@ -279,13 +279,13 @@
data = parse_response(r, 'data')
handle_itc_response(data)
end
- def create_version!(app_id, version_number)
+ def create_version!(app_id, version_number, platform = 'ios')
r = request(:post) do |req|
- req.url "ra/apps/#{app_id}/platforms/ios/versions/create/"
+ req.url "ra/apps/#{app_id}/platforms/#{platform}/versions/create/"
req.body = {
version: {
value: version_number.to_s
}
}.to_json
@@ -524,13 +524,13 @@
end
handle_itc_response(r.body)
end
- def remove_testflight_build_from_review!(app_id: nil, train: nil, build_number: nil)
+ def remove_testflight_build_from_review!(app_id: nil, train: nil, build_number: nil, platform: 'ios')
r = request(:post) do |req|
- req.url "ra/apps/#{app_id}/platforms/ios/trains/#{train}/builds/#{build_number}/reject"
+ req.url "ra/apps/#{app_id}/platforms/#{platform}/trains/#{train}/builds/#{build_number}/reject"
req.body = {}.to_json
req.headers['Content-Type'] = 'application/json'
end
handle_itc_response(r.body)
end
@@ -565,11 +565,11 @@
req.headers['Content-Type'] = 'application/json'
end
handle_itc_response(r.body)
end
- def submit_testflight_build_for_review!(app_id: nil, train: nil, build_number: nil,
+ def submit_testflight_build_for_review!(app_id: nil, train: nil, build_number: nil, platform: 'ios',
# Required Metadata:
changelog: nil,
description: nil,
feedback_email: nil,
marketing_url: nil,
@@ -583,66 +583,70 @@
privacy_policy_url: nil,
review_user_name: nil,
review_password: nil,
encryption: false)
- build_info = get_build_info_for_review(app_id: app_id, train: train, build_number: build_number)
+ build_info = get_build_info_for_review(app_id: app_id, train: train, build_number: build_number, platform: platform)
# Now fill in the values provided by the user
# First the localised values:
build_info['testInfo']['details'].each do |current|
- current['whatsNew']['value'] = changelog
- current['description']['value'] = description
- current['feedbackEmail']['value'] = feedback_email
- current['marketingUrl']['value'] = marketing_url
- current['privacyPolicyUrl']['value'] = privacy_policy_url
+ current['whatsNew']['value'] = changelog if changelog
+ current['description']['value'] = description if description
+ current['feedbackEmail']['value'] = feedback_email if feedback_email
+ current['marketingUrl']['value'] = marketing_url if marketing_url
+ current['privacyPolicyUrl']['value'] = privacy_policy_url if privacy_policy_url
current['pageLanguageValue'] = current['language'] # There is no valid reason why we need this, only iTC being iTC
end
build_info['significantChange'] ||= {}
build_info['significantChange']['value'] = significant_change
- build_info['testInfo']['reviewFirstName']['value'] = first_name
- build_info['testInfo']['reviewLastName']['value'] = last_name
- build_info['testInfo']['reviewPhone']['value'] = phone_number
- build_info['testInfo']['reviewEmail']['value'] = review_email
- build_info['testInfo']['reviewUserName']['value'] = review_user_name
- build_info['testInfo']['reviewPassword']['value'] = review_password
+ build_info['testInfo']['reviewFirstName']['value'] = first_name if first_name
+ build_info['testInfo']['reviewLastName']['value'] = last_name if last_name
+ build_info['testInfo']['reviewPhone']['value'] = phone_number if phone_number
+ build_info['testInfo']['reviewEmail']['value'] = review_email if review_email
+ build_info['testInfo']['reviewUserName']['value'] = review_user_name if review_user_name
+ build_info['testInfo']['reviewPassword']['value'] = review_password if review_password
r = request(:post) do |req| # same URL, but a POST request
- req.url "ra/apps/#{app_id}/platforms/ios/trains/#{train}/builds/#{build_number}/submit/start"
+ req.url "ra/apps/#{app_id}/platforms/#{platform}/trains/#{train}/builds/#{build_number}/submit/start"
req.body = build_info.to_json
req.headers['Content-Type'] = 'application/json'
end
handle_itc_response(r.body)
encryption_info = r.body['data']
update_encryption_compliance(app_id: app_id,
train: train,
build_number: build_number,
+ platform: platform,
encryption_info: encryption_info,
encryption: encryption)
end
- def get_build_info_for_review(app_id: nil, train: nil, build_number: nil)
+ def get_build_info_for_review(app_id: nil, train: nil, build_number: nil, platform: 'ios')
r = request(:get) do |req|
- req.url "ra/apps/#{app_id}/platforms/ios/trains/#{train}/builds/#{build_number}/submit/start"
+ req.url "ra/apps/#{app_id}/platforms/#{platform}/trains/#{train}/builds/#{build_number}/submit/start"
req.headers['Content-Type'] = 'application/json'
end
handle_itc_response(r.body)
r.body['data']
end
- def update_encryption_compliance(app_id: nil, train: nil, build_number: nil, encryption_info: nil, encryption: nil)
+ def update_encryption_compliance(app_id: nil, train: nil, build_number: nil, platform: 'ios', encryption_info: nil, encryption: nil, is_exempt: true, proprietary: false, third_party: false)
return unless encryption_info['exportComplianceRequired']
# only sometimes this is required
encryption_info['usesEncryption']['value'] = encryption
encryption_info['encryptionUpdated'] ||= {}
encryption_info['encryptionUpdated']['value'] = encryption
+ encryption_info['isExempt']['value'] = is_exempt
+ encryption_info['containsProprietaryCryptography']['value'] = proprietary
+ encryption_info['containsThirdPartyCryptography']['value'] = third_party
r = request(:post) do |req|
- req.url "ra/apps/#{app_id}/platforms/ios/trains/#{train}/builds/#{build_number}/submit/complete"
+ req.url "ra/apps/#{app_id}/platforms/#{platform}/trains/#{train}/builds/#{build_number}/submit/complete"
req.body = encryption_info.to_json
req.headers['Content-Type'] = 'application/json'
end
handle_itc_response(r.body)