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)