devportalservice

package
v2.0.0-alpha.67 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 11, 2025 License: MIT Imports: 13 Imported by: 4

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func IsEqualUDID

func IsEqualUDID(UDID string, otherUDID string) bool

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

type AppleID struct {
	Username, Password           string
	Session, AppSpecificPassword string
}

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 ...

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL