Class: Spaceship::ConnectAPI

Inherits:
Object
  • Object
show all
Extended by:
Forwardable
Defined in:
spaceship/lib/spaceship/connect_api.rb,
spaceship/lib/spaceship/connect_api/model.rb,
spaceship/lib/spaceship/connect_api/token.rb,
spaceship/lib/spaceship/connect_api/client.rb,
spaceship/lib/spaceship/connect_api/response.rb,
spaceship/lib/spaceship/connect_api/spaceship.rb,
spaceship/lib/spaceship/connect_api/api_client.rb,
spaceship/lib/spaceship/connect_api/models/app.rb,
spaceship/lib/spaceship/connect_api/models/user.rb,
spaceship/lib/spaceship/connect_api/tunes/tunes.rb,
spaceship/lib/spaceship/connect_api/users/users.rb,
spaceship/lib/spaceship/connect_api/models/build.rb,
spaceship/lib/spaceship/connect_api/tunes/client.rb,
spaceship/lib/spaceship/connect_api/users/client.rb,
spaceship/lib/spaceship/connect_api/file_uploader.rb,
spaceship/lib/spaceship/connect_api/models/device.rb,
spaceship/lib/spaceship/connect_api/models/profile.rb,
spaceship/lib/spaceship/connect_api/models/app_info.rb,
spaceship/lib/spaceship/connect_api/models/app_price.rb,
spaceship/lib/spaceship/connect_api/models/bundle_id.rb,
spaceship/lib/spaceship/connect_api/models/territory.rb,
spaceship/lib/spaceship/connect_api/models/beta_group.rb,
spaceship/lib/spaceship/connect_api/testflight/client.rb,
spaceship/lib/spaceship/connect_api/models/app_preview.rb,
spaceship/lib/spaceship/connect_api/models/beta_tester.rb,
spaceship/lib/spaceship/connect_api/models/certificate.rb,
spaceship/lib/spaceship/connect_api/models/app_category.rb,
spaceship/lib/spaceship/connect_api/provisioning/client.rb,
spaceship/lib/spaceship/connect_api/models/beta_feedback.rb,
spaceship/lib/spaceship/connect_api/models/app_price_tier.rb,
spaceship/lib/spaceship/connect_api/models/app_screenshot.rb,
spaceship/lib/spaceship/connect_api/models/build_delivery.rb,
spaceship/lib/spaceship/connect_api/models/sandbox_tester.rb,
spaceship/lib/spaceship/connect_api/testflight/testflight.rb,
spaceship/lib/spaceship/connect_api/models/app_preview_set.rb,
spaceship/lib/spaceship/connect_api/models/beta_screenshot.rb,
spaceship/lib/spaceship/connect_api/models/idfa_declaration.rb,
spaceship/lib/spaceship/connect_api/models/app_store_version.rb,
spaceship/lib/spaceship/connect_api/models/beta_build_metric.rb,
spaceship/lib/spaceship/connect_api/models/build_beta_detail.rb,
spaceship/lib/spaceship/connect_api/models/app_screenshot_set.rb,
spaceship/lib/spaceship/connect_api/models/beta_tester_metric.rb,
spaceship/lib/spaceship/connect_api/provisioning/provisioning.rb,
spaceship/lib/spaceship/connect_api/models/pre_release_version.rb,
spaceship/lib/spaceship/connect_api/models/bundle_id_capability.rb,
spaceship/lib/spaceship/connect_api/models/app_info_localization.rb,
spaceship/lib/spaceship/connect_api/models/beta_app_localization.rb,
spaceship/lib/spaceship/connect_api/models/reset_ratings_request.rb,
spaceship/lib/spaceship/connect_api/models/age_rating_declaration.rb,
spaceship/lib/spaceship/connect_api/models/beta_app_review_detail.rb,
spaceship/lib/spaceship/connect_api/models/app_store_review_detail.rb,
spaceship/lib/spaceship/connect_api/models/beta_build_localization.rb,
spaceship/lib/spaceship/connect_api/models/beta_app_review_submission.rb,
spaceship/lib/spaceship/connect_api/models/app_store_review_attachment.rb,
spaceship/lib/spaceship/connect_api/models/app_store_version_submission.rb,
spaceship/lib/spaceship/connect_api/models/app_store_version_localization.rb,
spaceship/lib/spaceship/connect_api/models/app_store_version_phased_release.rb,
spaceship/lib/spaceship/connect_api/models/app_store_version_release_request.rb

Defined Under Namespace

Modules: FileUploader, Model, Models, Platform, Provisioning, TestFlight, Tunes, Users Classes: APIClient, AgeRatingDeclaration, App, AppCategory, AppInfo, AppInfoLocalization, AppPreview, AppPreviewSet, AppPrice, AppPriceTier, AppScreenshot, AppScreenshotSet, AppStoreReviewAttachment, AppStoreReviewDetail, AppStoreVersion, AppStoreVersionLocalization, AppStoreVersionPhasedRelease, AppStoreVersionReleaseRequest, AppStoreVersionSubmission, BetaAppLocalization, BetaAppReviewDetail, BetaAppReviewSubmission, BetaBuildLocalization, BetaBuildMetric, BetaFeedback, BetaGroup, BetaScreenshot, BetaTester, BetaTesterMetric, Build, BuildBetaDetail, BuildDelivery, BundleId, BundleIdCapability, Certificate, Client, Device, IdfaDeclaration, PreReleaseVersion, Profile, ResetRatingsRequest, Response, SandboxTester, Territory, Token, User

Class Attribute Summary collapse

Class Method Summary collapse

Class Attribute Details

.clientObject

This client stores the global client when using the lazy syntax



9
10
11
# File 'spaceship/lib/spaceship/connect_api/spaceship.rb', line 9

def client
  @client
end

Class Method Details

.auth(key_id: nil, issuer_id: nil, filepath: nil) ⇒ Spaceship::ConnectAPI::Client

Initializes client with Apple’s App Store Connect JWT auth key.

This method will automatically use the key id, issuer id, and filepath from environment variables if not given.

All three parameters are needed to authenticate.

Parameters:

  • key_id (String) (defaults to: nil)

    (optional): The key id

  • issuer_id (String) (defaults to: nil)

    (optional): The issuer id

  • filepath (String) (defaults to: nil)

    (optional): The filepath

Returns:

Raises:

  • InvalidUserCredentialsError: raised if authentication failed



59
60
61
# File 'spaceship/lib/spaceship/connect_api/spaceship.rb', line 59

def auth(key_id: nil, issuer_id: nil, filepath: nil)
  @client = ConnectAPI::Client.auth(key_id: key_id, issuer_id: issuer_id, filepath: filepath)
end

.login(user = nil, password = nil, team_id: nil, team_name: nil) ⇒ Spaceship::ConnectAPI::Client

Authenticates with Apple’s web services. This method has to be called once to generate a valid session.

This method will automatically use the username from the Appfile (if available) and fetch the password from the Keychain (if available)

Parameters:

  • user (String) (defaults to: nil)

    (optional): The username (usually the email address)

  • password (String) (defaults to: nil)

    (optional): The password

  • team_id (String) (defaults to: nil)

    (optional): The team id

  • team_name (String) (defaults to: nil)

    (optional): The team name

Returns:

Raises:

  • InvalidUserCredentialsError: raised if authentication failed



77
78
79
# File 'spaceship/lib/spaceship/connect_api/spaceship.rb', line 77

def (user = nil, password = nil, team_id: nil, team_name: nil)
  @client = ConnectAPI::Client.(user, password, team_id: team_id, team_name: team_name)
end

.select_team(team_id: nil, team_name: nil) ⇒ Object

Open up the team selection for the user (if necessary).

If the user is in multiple teams, a team selection is shown. The user can then select a team by entering the number

Parameters:

  • team_id (String) (defaults to: nil)

    (optional): The ID of an App Store Connect team

  • team_name (String) (defaults to: nil)

    (optional): The name of an App Store Connect team



88
89
90
91
# File 'spaceship/lib/spaceship/connect_api/spaceship.rb', line 88

def select_team(team_id: nil, team_name: nil)
  return if client.nil?
  client.select_team(team_id: team_id, team_name: team_name)
end

.tokenObject



36
37
38
39
# File 'spaceship/lib/spaceship/connect_api/spaceship.rb', line 36

def token
  return nil if @client.nil?
  return @client.token
end

.token=(token) ⇒ Object



32
33
34
# File 'spaceship/lib/spaceship/connect_api/spaceship.rb', line 32

def token=(token)
  @client = ConnectAPI::Client.new(token: token)
end

.token?Boolean

Returns:

  • (Boolean)


41
42
43
# File 'spaceship/lib/spaceship/connect_api/spaceship.rb', line 41

def token?
  (@client && @client.token)
end