lib/spaceship/tunes/tunes_client.rb in spaceship-0.36.2 vs lib/spaceship/tunes/tunes_client.rb in spaceship-0.37.0

- old
+ new

@@ -85,11 +85,14 @@ raise ITunesConnectError.new, "Could not set team ID to '#{team_id}', only found the following available teams: #{available_teams.join(', ')}" end response = request(:post) do |req| req.url "ra/v1/session/webSession" - req.body = { contentProviderId: team_id, dsId: user_detail_data.ds_id }.to_json + req.body = { + contentProviderId: team_id, + dsId: user_detail_data.ds_id # https://github.com/fastlane/fastlane/issues/6711 + }.to_json req.headers['Content-Type'] = 'application/json' end handle_itc_response(response.body) @@ -536,11 +539,11 @@ # @return [UserDetail] the response def user_detail_data return @cached if @cached r = request(:get, '/WebObjects/iTunesConnect.woa/ra/user/detail') data = parse_response(r, 'data') - @cached ||= Spaceship::Tunes::UserDetail.factory(data) + @cached = Spaceship::Tunes::UserDetail.factory(data) end ##################################################### # @!group CandiateBuilds ##################################################### @@ -783,11 +786,17 @@ url = tester.url(app_id)[:index_by_app] r = request(:get, url) parse_response(r, 'data')['users'] end - def create_tester!(tester: nil, email: nil, first_name: nil, last_name: nil) + def groups + return @cached_groups if @cached_groups + r = request(:get, '/WebObjects/iTunesConnect.woa/ra/users/pre/ext') + @cached_groups = parse_response(r, 'data')['groups'] + end + + def create_tester!(tester: nil, email: nil, first_name: nil, last_name: nil, groups: nil) url = tester.url[:create] raise "Action not provided for this tester type." unless url tester_data = { emailAddress: { @@ -801,9 +810,12 @@ }, testing: { value: true } } + if groups + tester_data[:groups] = groups.map { |x| { "id" => x } } + end data = { testers: [tester_data] } r = request(:post) do |req| req.url url