Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func IsEqualUDID ¶
IsEqualUDID compares two UDIDs (stored in the DeviceID field of TestDevice)
Types ¶
type APIKeyConnection ¶
type APIKeyConnection struct {
KeyID string `json:"key_id"`
IssuerID string `json:"issuer_id"`
PrivateKey string `json:"private_key"`
EnterpriseAccount bool `json:"is_enterprise_account"`
}
APIKeyConnection represents a Bitrise.io API key-based Apple Developer connection.
func (*APIKeyConnection) WritePrivateKeyToFile ¶
func (c *APIKeyConnection) WritePrivateKeyToFile() (string, error)
WritePrivateKeyToFile writes the contents of the private key to a temporary file and returns its path
type AppleDeveloperConnection ¶
type AppleDeveloperConnection struct {
AppleIDConnection *AppleIDConnection
APIKeyConnection *APIKeyConnection
TestDevices, DuplicatedTestDevices []TestDevice
}
AppleDeveloperConnection represents a Bitrise.io Apple Developer connection. https://devcenter.bitrise.io/getting-started/configuring-bitrise-steps-that-require-apple-developer-account-data/
type AppleDeveloperConnectionProvider ¶
type AppleDeveloperConnectionProvider interface {
GetAppleDeveloperConnection() (*AppleDeveloperConnection, error)
}
AppleDeveloperConnectionProvider ...
type AppleID ¶
AppleID contains Apple ID auth info
Without 2FA:
Required: username, password
With 2FA:
Required: username, password, appSpecificPassword session (Only for Fastlane, set as FASTLANE_SESSION)
As Fastlane spaceship uses:
- iTMSTransporter: it requires Username + Password (or App-specific password with 2FA)
- TunesAPI: it requires Username + Password (+ 2FA session with 2FA)
type AppleIDConnection ¶
type AppleIDConnection struct {
AppleID string `json:"apple_id"`
Password string `json:"password"`
AppSpecificPassword string `json:"app_specific_password"`
SessionExpiryDate *time.Time `json:"connection_expiry_date"`
SessionCookies map[string][]cookie `json:"session_cookies"`
}
AppleIDConnection represents a Bitrise.io Apple ID-based Apple Developer connection.
func (*AppleIDConnection) FastlaneLoginSession ¶
func (c *AppleIDConnection) FastlaneLoginSession() (string, error)
FastlaneLoginSession returns the Apple ID login session in a ruby/object:HTTP::Cookie format. The session can be used as a value for FASTLANE_SESSION environment variable: https://docs.fastlane.tools/best-practices/continuous-integration/#two-step-or-two-factor-auth.
type BitriseClient ¶
type BitriseClient struct {
// contains filtered or unexported fields
}
BitriseClient implements AppleDeveloperConnectionProvider through the Bitrise.io API.
func NewBitriseClient ¶
func NewBitriseClient(logger log.Logger, filemanager fileutil.FileManager, client httpClient, buildURL, buildAPIToken string) *BitriseClient
NewBitriseClient creates a new instance of BitriseClient.
func (*BitriseClient) GetAppleDeveloperConnection ¶
func (c *BitriseClient) GetAppleDeveloperConnection() (*AppleDeveloperConnection, error)
GetAppleDeveloperConnection fetches the Bitrise.io Apple Developer connection.
type Credentials ¶
type Credentials struct {
AppleID *AppleID
APIKey *APIKeyConnection
}
Credentials contains only one of Apple ID (the session cookies already checked) or APIKey auth info
type NetworkError ¶
type NetworkError struct {
Status int
}
NetworkError represents a networking issue.
func (NetworkError) Error ¶
func (e NetworkError) Error() string
type TestDevice ¶
type TestDevice struct {
ID int `json:"id"`
UserID int `json:"user_id"`
// DeviceID is the Apple device UDID
DeviceID string `json:"device_identifier"`
Title string `json:"title"`
CreatedAt time.Time `json:"created_at"`
UpdatedAt time.Time `json:"updated_at"`
DeviceType string `json:"device_type"`
}
TestDevice ...
func ParseTestDevicesFromFile ¶
func ParseTestDevicesFromFile(path string, currentTime time.Time) ([]TestDevice, error)
ParseTestDevicesFromFile ...