/*
* Code generated by Microsoft (R) AutoRest Code Generator.
* Changes may cause incorrect behavior and will be lost if the code is
* regenerated.
*/
import * as moment from "moment";
/**
* @class
* Initializes a new instance of the GetInAppUpdateTokenResponse class.
* @constructor
* @member {string} apiToken The api token generated will not be accessible
* again
*/
export interface GetInAppUpdateTokenResponse {
apiToken: string;
}
/**
* @class
* Initializes a new instance of the ApiTokensCreateResponse class.
* @constructor
* @member {string} id The unique id (UUID) of the api token
* @member {string} apiToken The api token generated will not be accessible
* again
* @member {string} [description] The description of the token
* @member {array} [scope] The scope for this token.
* @member {string} createdAt The creation time
*/
export interface ApiTokensCreateResponse {
id: string;
apiToken: string;
description?: string;
scope?: string[];
createdAt: string;
}
/**
* @class
* Initializes a new instance of the ApiTokensCreateRequest class.
* @constructor
* @member {string} [description] The description of the token
* @member {array} [scope] The scope for this token.
*/
export interface ApiTokensCreateRequest {
description?: string;
scope?: string[];
}
/**
* @class
* Initializes a new instance of the ApiTokensGetResponse class.
* @constructor
* @member {string} id The unique id (UUID) of the api token
* @member {string} [description] The description of the token
* @member {array} [scope] The scope for this token.
* @member {string} createdAt The creation time
*/
export interface ApiTokensGetResponse {
id: string;
description?: string;
scope?: string[];
createdAt: string;
}
/**
* @class
* Initializes a new instance of the Status class.
* @constructor
* @member {string} status
*/
export interface Status {
status: string;
}
/**
* @class
* Initializes a new instance of the Failure class.
* @constructor
* @member {string} message
*/
export interface Failure {
message: string;
}
/**
* @class
* Initializes a new instance of the ErrorDetails class.
* @constructor
* @member {string} code Possible values include: 'BadRequest', 'Conflict',
* 'NotAcceptable', 'NotFound', 'InternalServerError', 'Unauthorized',
* 'TooManyRequests'
* @member {string} message
*/
export interface ErrorDetails {
code: string;
message: string;
}
/**
* @class
* Initializes a new instance of the ErrorResponse class.
* @constructor
* @member {object} error
* @member {string} [error.code] Possible values include: 'BadRequest',
* 'Conflict', 'NotAcceptable', 'NotFound', 'InternalServerError',
* 'Unauthorized', 'TooManyRequests'
* @member {string} [error.message]
*/
export interface ErrorResponse {
error: ErrorDetails;
}
/**
* @class
* Initializes a new instance of the SuccessResponse class.
* @constructor
* @member {string} message
*/
export interface SuccessResponse {
message: string;
}
/**
* @class
* Initializes a new instance of the AADTenantAddRequest class.
* @constructor
* @member {string} userId The user wanting to add this tenant to the
* organization, must be an admin of the organization
* @member {string} aadTenantId The AAD tenant id
* @member {string} displayName The name of the AAD Tenant
*/
export interface AADTenantAddRequest {
userId: string;
aadTenantId: string;
displayName: string;
}
/**
* @class
* Initializes a new instance of the AADTenantResponse class.
* @constructor
* @member {string} aadTenantId The AAD tenant id
* @member {string} displayName The name of the AAD Tenant
*/
export interface AADTenantResponse {
aadTenantId: string;
displayName: string;
}
/**
* @class
* Initializes a new instance of the ApiTokensPostRequest class.
* @constructor
* @member {string} [description] The description of the token
* @member {string} [encryptedToken] An encrypted value of the token.
* @member {array} [scope] The scope for this token. An array of supported
* roles.
* @member {string} [tokenHash] The hashed value of api token
* @member {string} [tokenType] The token's type. public:managed by the user;
* in_app_update:special token for in-app update scenario; buid:dedicated for
* CI usage for now; session:for CLI session management; tester_app: used for
* tester mobile app; default is "public".'. Possible values include: 'public',
* 'in_app_update', 'build', 'session', 'tester_app'
*/
export interface ApiTokensPostRequest {
description?: string;
encryptedToken?: string;
scope?: string[];
tokenHash?: string;
tokenType?: string;
}
/**
* @class
* Initializes a new instance of the AppPatchRequest class.
* @constructor
* @member {string} [description] A short text describing the app
* @member {string} [displayName] The display name of the app
* @member {string} [name] The name of the app used in URLs
* @member {string} [iconUrl] The string representation of the URL pointing to
* the app's icon
*/
export interface AppPatchRequest {
description?: string;
displayName?: string;
name?: string;
iconUrl?: string;
}
/**
* @class
* Initializes a new instance of the AppRepoPatchRequest class.
* @constructor
* @member {string} [repoUrl] The absolute URL of the repository
*/
export interface AppRepoPatchRequest {
repoUrl?: string;
}
/**
* @class
* Initializes a new instance of the AppRepoPostRequest class.
* @constructor
* @member {string} repoUrl The absolute URL of the repository
* @member {string} [repoProvider] The provider of the repository. Possible
* values include: 'github', 'bitbucket', 'vsts'
* @member {string} userId The unique id (UUID) of the user who configured the
* repository
*/
export interface AppRepoPostRequest {
repoUrl: string;
repoProvider?: string;
userId: string;
}
/**
* @class
* Initializes a new instance of the AppRequest class.
* @constructor
* @member {string} [description] A short text describing the app
* @member {string} displayName The descriptive name of the app. This can
* contain any characters
* @member {string} [name] The name of the app used in URLs
* @member {string} os The OS the app will be running on. Possible values
* include: 'Android', 'iOS', 'macOS', 'Tizen', 'tvOS', 'Windows'
* @member {string} platform The platform of the app. Possible values include:
* 'Java', 'Objective-C-Swift', 'UWP', 'Cordova', 'React-Native', 'Xamarin'
*/
export interface AppRequest {
description?: string;
displayName: string;
name?: string;
os: string;
platform: string;
}
/**
* @class
* Initializes a new instance of the AppTeamAddRequest class.
* @constructor
* @member {string} name The name of the app to be added to the team
*/
export interface AppTeamAddRequest {
name: string;
}
/**
* @class
* Initializes a new instance of the AzureSubscriptionAddRequest class.
* @constructor
* @member {string} subscriptionId The azure subscription id
* @member {string} tenantId The tenant id of the azure subscription belongs to
* @member {string} subscriptionName The name of the azure subscription
* @member {boolean} [isBilling] If the subscription is used for billing
*/
export interface AzureSubscriptionAddRequest {
subscriptionId: string;
tenantId: string;
subscriptionName: string;
isBilling?: boolean;
}
/**
* @class
* Initializes a new instance of the AzureSubscriptionUpdateBillableRequest class.
* @constructor
* @member {boolean} isBillable Billable status of the subscription
*/
export interface AzureSubscriptionUpdateBillableRequest {
isBillable: boolean;
}
/**
* @class
* Initializes a new instance of the AzureSubscriptionPatchRequest class.
* @constructor
* @member {boolean} isBilling If the subscription is used for billing
*/
export interface AzureSubscriptionPatchRequest {
isBilling: boolean;
}
/**
* @class
* Initializes a new instance of the AzureSubscriptionAddToAppRequest class.
* @constructor
* @member {string} subscriptionId The azure subscription id
*/
export interface AzureSubscriptionAddToAppRequest {
subscriptionId: string;
}
/**
* @class
* Initializes a new instance of the DistributionGroupPatchRequest class.
* @constructor
* @member {string} [name] The name of the distribution group
* @member {boolean} [isPublic] Whether the distribution group is public
*/
export interface DistributionGroupPatchRequest {
name?: string;
isPublic?: boolean;
}
/**
* @class
* Initializes a new instance of the DistributionGroupRequest class.
* @constructor
* @member {string} name The name of the distribution group
*/
export interface DistributionGroupRequest {
name: string;
}
/**
* @class
* Initializes a new instance of the DistributionGroupUserRequest class.
* @constructor
* @member {array} [userEmails] The list of emails of the users
*/
export interface DistributionGroupUserRequest {
userEmails?: string[];
}
/**
* @class
* Initializes a new instance of the EmailVerificationRequest class.
* @constructor
* @member {string} token The verification token that was sent to the user
*/
export interface EmailVerificationRequest {
token: string;
}
/**
* @class
* Initializes a new instance of the ExternalUserRequest class.
* @constructor
* @member {string} [appInvitation] The token of the app invitation which lead
* to signup
* @member {string} [testerInvitation] The token of the test invitation which
* lead to signup
* @member {string} [organizationInvitation] The token of the organization
* invitation which lead to signup
* @member {string} [avatarUrl] The avatar URL of the user
* @member {string} [displayName] The full name of the user. Might for example
* be first and last name
* @member {string} email The email address of the user
* @member {string} [name] The unique name that is used to identify the user.
* If no explicit value is given, a default will be auto-generated from the
* `display_name` value
*/
export interface ExternalUserRequest {
appInvitation?: string;
testerInvitation?: string;
organizationInvitation?: string;
avatarUrl?: string;
displayName?: string;
email: string;
name?: string;
}
/**
* @class
* Initializes a new instance of the FeaturePatchRequest class.
* @constructor
* @member {string} [description] The friendly name of the feature
* @member {string} [displayName] The full (friendly) name of the feature.
* @member {number} [state] The state of the feature
*/
export interface FeaturePatchRequest {
description?: string;
displayName?: string;
state?: number;
}
/**
* @class
* Initializes a new instance of the FeatureCreateRequest class.
* @constructor
* @member {string} name The unique name of the feature
* @member {string} displayName The full (friendly) name of the feature.
* @member {number} [state] The state of the feature
* @member {string} [description] The friendly name of the feature
*/
export interface FeatureCreateRequest {
name: string;
displayName: string;
state?: number;
description?: string;
}
/**
* @class
* Initializes a new instance of the GrantAdminRoleRequest class.
* @constructor
* @member {string} adminRole The new admin_role. Possible values include:
* 'superAdmin', 'admin', 'devOps', 'customerSupport', 'notAdmin'
*/
export interface GrantAdminRoleRequest {
adminRole: string;
}
/**
* @class
* Initializes a new instance of the InternalBulkAppResponse class.
* @constructor
* @member {string} [appName] The name of the app
* @member {string} [ownerDisplayName] The display name of the owner
*/
export interface InternalBulkAppResponse {
appName?: string;
ownerDisplayName?: string;
}
/**
* @class
* Initializes a new instance of the InternalUserRequest class.
* @constructor
* @member {string} [appInvitation] The token of the app invitation which lead
* to signup
* @member {string} [testerInvitation] The token of the test invitation which
* lead to signup
* @member {string} [organizationInvitation] The token of the organization
* invitation which lead to signup
* @member {string} [avatarUrl] The avatar URL of the user
* @member {string} [displayName] The full name of the user. Might for example
* be first and last name
* @member {string} email The email address of the user
* @member {string} name The unique name that is used to identify the user.
* @member {string} password The password of the user. Needs to be at least 8
* characters long and contain at least one lower- and one uppercase letter.
*/
export interface InternalUserRequest {
appInvitation?: string;
testerInvitation?: string;
organizationInvitation?: string;
avatarUrl?: string;
displayName?: string;
email: string;
name: string;
password: string;
}
/**
* @class
* Initializes a new instance of the OrganizationPatchRequest class.
* @constructor
* @member {string} [displayName] The full (friendly) name of the organization.
* @member {string} [name] The name of the organization used in URLs
*/
export interface OrganizationPatchRequest {
displayName?: string;
name?: string;
}
/**
* @class
* Initializes a new instance of the OrganizationRequest class.
* @constructor
* @member {string} [displayName] The display name of the organization
* @member {string} [name] The name of the organization used in URLs
*/
export interface OrganizationRequest {
displayName?: string;
name?: string;
}
/**
* @class
* Initializes a new instance of the OrganizationUserPatchRequest class.
* @constructor
* @member {string} [role] The user's role in the organizatiion. Possible
* values include: 'admin', 'collaborator'
*/
export interface OrganizationUserPatchRequest {
role?: string;
}
/**
* @class
* Initializes a new instance of the PasswordUpdateRequest class.
* @constructor
* @member {string} newPassword The new password that will be set for the user.
* Needs to be at least 8 characters long and contain at least one lower- and
* one uppercase letter.
* @member {string} [oldPassword] The old password, if needed.
*/
export interface PasswordUpdateRequest {
newPassword: string;
oldPassword?: string;
}
/**
* @class
* Initializes a new instance of the ResendVerificationRequest class.
* @constructor
* @member {string} name The email or name of the user to resend verification
*/
export interface ResendVerificationRequest {
name: string;
}
/**
* @class
* Initializes a new instance of the ResetPasswordUsingTokenRequest class.
* @constructor
* @member {string} newPassword The new password. Needs to be at least 8
* characters long and contain at least one lower- and one uppercase letter.
* @member {string} token The reset password token that was sent to the user
*/
export interface ResetPasswordUsingTokenRequest {
newPassword: string;
token: string;
}
/**
* @class
* Initializes a new instance of the UserAppPermissionsUpdateRequest class.
* @constructor
* @member {array} permissions The permissions the user has for the app
*/
export interface UserAppPermissionsUpdateRequest {
permissions: string[];
}
/**
* @class
* Initializes a new instance of the UserInvitationPermissionsUpdateRequest class.
* @constructor
* @member {array} permissions The permissions the user has for the app in the
* invitation
*/
export interface UserInvitationPermissionsUpdateRequest {
permissions: string[];
}
/**
* @class
* Initializes a new instance of the UserEmailRequest class.
* @constructor
* @member {string} userEmail The user's email address'
*/
export interface UserEmailRequest {
userEmail: string;
}
/**
* @class
* Initializes a new instance of the UserNameUpdateRequest class.
* @constructor
* @member {string} [name] The new, unique name that is used to identify.
*/
export interface UserNameUpdateRequest {
name?: string;
}
/**
* @class
* Initializes a new instance of the UserUpdateRequest class.
* @constructor
* @member {string} [displayName] The full name of the user. Might for example
* be first and last name
*/
export interface UserUpdateRequest {
displayName?: string;
}
/**
* @class
* Initializes a new instance of the UserUpdateRequestInternal class.
* @constructor
* @member {string} [displayName] The full name of the user. Might for example
* be first and last name
* @member {string} [name] The new, unique name that is used to identify.
* @member {string} [nextNpsSurveyDate] The date in the future when the user
* should be checked again for NPS eligibility
* @member {string} [email] The email address for this user
*/
export interface UserUpdateRequestInternal {
displayName?: string;
name?: string;
nextNpsSurveyDate?: string;
email?: string;
}
/**
* @class
* Initializes a new instance of the UserSettingRequest class.
* @constructor
* @member {string} value The setting value
*/
export interface UserSettingRequest {
value: string;
}
/**
* @class
* Initializes a new instance of the AccountResponse class.
* @constructor
* @member {string} id The internal unique id (UUID) of the account.
* @member {string} displayName The display name of the account
* @member {string} name The slug name of the account
* @member {string} origin The creation origin of this account. Possible values
* include: 'appcenter', 'hockeyapp'
* @member {string} type The type of this account. Possible values include:
* 'user', 'org'
*/
export interface AccountResponse {
id: string;
displayName: string;
name: string;
origin: string;
type: string;
}
/**
* @class
* Initializes a new instance of the ApiTokenDeleteResponse class.
* @constructor
* @member {string} id The unique id (UUID) of the api token
* @member {string} tokenHash The hashed value of api token
*/
export interface ApiTokenDeleteResponse {
id: string;
tokenHash: string;
}
/**
* @class
* Initializes a new instance of the ApiTokenGetUserResponse class.
* @constructor
* @member {string} tokenId The token's unique id (UUID)
* @member {array} tokenScope The token's scope. A list of allowed roles.
* @member {string} userEmail The user email
* @member {string} userId The unique id (UUID) of the user
* @member {string} userOrigin The creation origin of the user who created this
* api token. Possible values include: 'appcenter', 'hockeyapp', 'codepush'
*/
export interface ApiTokenGetUserResponse {
tokenId: string;
tokenScope: string[];
userEmail: string;
userId: string;
userOrigin: string;
}
/**
* @class
* Initializes a new instance of the ApiTokenResponse class.
* @constructor
* @member {string} id The unique id (UUID) of the api token
* @member {string} createdAt The creation time
* @member {array} [scope] The token's scope. A list of allowed roles.
* @member {object} [encryptedToken] The encrypted value of a token. This value
* will only be returned for token of type in_app_update.
* @member {string} [description] The description of the token
*/
export interface ApiTokenResponse {
id: string;
createdAt: string;
scope?: string[];
encryptedToken?: any;
description?: string;
}
/**
* @class
* Initializes a new instance of the AppGroupResponse class.
* @constructor
* @member {string} id The unique ID (UUID) of the app
* @member {string} groupId The unique ID (UUID) of the group that the app
* belongs to
* @member {string} [displayName] The display name of the app
* @member {string} name The name of the app used in URLs
* @member {string} os The OS the app will be running on. Possible values
* include: 'Android', 'iOS', 'macOS', 'Tizen', 'tvOS', 'Windows', 'Custom'
* @member {string} platform The platform of the app. Possible values include:
* 'Java', 'Objective-C-Swift', 'UWP', 'Cordova', 'React-Native', 'Unity',
* 'Xamarin', 'Unknown'
*/
export interface AppGroupResponse {
id: string;
groupId: string;
displayName?: string;
name: string;
os: string;
platform: string;
}
/**
* @class
* Initializes a new instance of the AzureSubscriptionResponse class.
* @constructor
* @member {string} subscriptionId The azure subscription id
* @member {string} tenantId The tenant id of the azure subscription belongs to
* @member {string} subscriptionName The name of the azure subscription
* @member {boolean} [isBilling] If the subscription is used for billing
* @member {boolean} [isBillable] If the subscription can be used for billing
*/
export interface AzureSubscriptionResponse {
subscriptionId: string;
tenantId: string;
subscriptionName: string;
isBilling?: boolean;
isBillable?: boolean;
}
/**
* @class
* Initializes a new instance of the BasicAppResponse class.
* @constructor
* @member {string} id The unique ID (UUID) of the app
* @member {string} [description] The description of the app
* @member {string} displayName The display name of the app
* @member {string} [iconUrl] The string representation of the URL pointing to
* the app's icon
* @member {string} name The name of the app used in URLs
* @member {string} os The OS the app will be running on. Possible values
* include: 'Android', 'iOS', 'macOS', 'Tizen', 'tvOS', 'Windows', 'Custom'
* @member {object} owner
* @member {string} [owner.id] The unique id (UUID) of the owner
* @member {string} [owner.avatarUrl] The avatar URL of the owner
* @member {string} [owner.displayName] The owner's display name
* @member {string} [owner.email] The owner's email address
* @member {string} [owner.name] The unique name that used to identify the
* owner
* @member {string} [owner.type] The owner type. Can either be 'org' or 'user'.
* Possible values include: 'org', 'user'
*/
export interface BasicAppResponse {
id: string;
description?: string;
displayName: string;
iconUrl?: string;
name: string;
os: string;
owner: Owner;
}
/**
* @class
* Initializes a new instance of the AppResponse class.
* @constructor
* @member {string} appSecret A unique and secret key used to identify the app
* in communication with the ingestion endpoint for crash reporting and
* analytics
* @member {object} [azureSubscription]
* @member {string} [azureSubscription.subscriptionId] The azure subscription
* id
* @member {string} [azureSubscription.tenantId] The tenant id of the azure
* subscription belongs to
* @member {string} [azureSubscription.subscriptionName] The name of the azure
* subscription
* @member {boolean} [azureSubscription.isBilling] If the subscription is used
* for billing
* @member {boolean} [azureSubscription.isBillable] If the subscription can be
* used for billing
* @member {string} platform The platform of the app. Possible values include:
* 'Java', 'Objective-C-Swift', 'UWP', 'Cordova', 'React-Native', 'Unity',
* 'Xamarin', 'Unknown'
* @member {string} origin The creation origin of this app. Possible values
* include: 'appcenter', 'hockeyapp', 'codepush'
* @member {string} [createdAt] The created date of this app
* @member {string} [updatedAt] The last updated date of this app
* @member {array} [memberPermissions] The permissions of the calling user
*/
export interface AppResponse extends BasicAppResponse {
appSecret: string;
azureSubscription?: AzureSubscriptionResponse;
platform: string;
origin: string;
createdAt?: string;
updatedAt?: string;
memberPermissions?: string[];
}
/**
* @class
* Initializes a new instance of the UserProfileResponse class.
* @constructor
* @member {string} id The unique id (UUID) of the user
* @member {string} [avatarUrl] The avatar URL of the user
* @member {boolean} [canChangePassword] User is required to send an old
* password in order to change the password.
* @member {string} displayName The full name of the user. Might for example be
* first and last name
* @member {string} email The email address of the user
* @member {string} name The unique name that is used to identify the user.
* @member {array} [permissions] The permissions the user has for the app
* @member {string} origin The creation origin of this user. Possible values
* include: 'appcenter', 'hockeyapp', 'codepush'
*/
export interface UserProfileResponse {
id: string;
avatarUrl?: string;
canChangePassword?: boolean;
displayName: string;
email: string;
name: string;
permissions?: string[];
origin: string;
}
/**
* @class
* Initializes a new instance of the AppInvitationDetailResponse class.
* @constructor
* @member {string} id The unique ID (UUID) of the invitation
* @member {object} app
* @member {string} [app.appSecret] A unique and secret key used to identify
* the app in communication with the ingestion endpoint for crash reporting and
* analytics
* @member {object} [app.azureSubscription]
* @member {string} [app.azureSubscription.subscriptionId] The azure
* subscription id
* @member {string} [app.azureSubscription.tenantId] The tenant id of the azure
* subscription belongs to
* @member {string} [app.azureSubscription.subscriptionName] The name of the
* azure subscription
* @member {boolean} [app.azureSubscription.isBilling] If the subscription is
* used for billing
* @member {boolean} [app.azureSubscription.isBillable] If the subscription can
* be used for billing
* @member {string} [app.platform] The platform of the app. Possible values
* include: 'Java', 'Objective-C-Swift', 'UWP', 'Cordova', 'React-Native',
* 'Unity', 'Xamarin', 'Unknown'
* @member {string} [app.origin] The creation origin of this app. Possible
* values include: 'appcenter', 'hockeyapp', 'codepush'
* @member {string} [app.createdAt] The created date of this app
* @member {string} [app.updatedAt] The last updated date of this app
* @member {array} [app.memberPermissions] The permissions of the calling user
* @member {string} email The email address of the invited user
* @member {string} inviteType The invitation type. Possible values include:
* 'developer', 'tester'
* @member {object} invitedBy
* @member {string} [invitedBy.id] The unique id (UUID) of the user
* @member {string} [invitedBy.avatarUrl] The avatar URL of the user
* @member {boolean} [invitedBy.canChangePassword] User is required to send an
* old password in order to change the password.
* @member {string} [invitedBy.displayName] The full name of the user. Might
* for example be first and last name
* @member {string} [invitedBy.email] The email address of the user
* @member {string} [invitedBy.name] The unique name that is used to identify
* the user.
* @member {array} [invitedBy.permissions] The permissions the user has for the
* app
* @member {string} [invitedBy.origin] The creation origin of this user.
* Possible values include: 'appcenter', 'hockeyapp', 'codepush'
* @member {boolean} isExistingUser Indicates whether the invited user already
* exists
* @member {array} [permissions] The permissions the user has for the app
*/
export interface AppInvitationDetailResponse {
id: string;
app: AppResponse;
email: string;
inviteType: string;
invitedBy: UserProfileResponse;
isExistingUser: boolean;
permissions?: string[];
}
/**
* @class
* Initializes a new instance of the AppRepoResponse class.
* @constructor
* @member {string} id The unique id (UUID) of the repository integration
* @member {string} appId The unique id (UUID) of the app that this repository
* integration belongs to
* @member {string} repoUrl The absolute URL of the repository
* @member {string} [repoProvider] The provider of the repository. Possible
* values include: 'github', 'bitbucket', 'vsts'
* @member {string} userId The unique id (UUID) of the user who configured the
* repository
*/
export interface AppRepoResponse {
id: string;
appId: string;
repoUrl: string;
repoProvider?: string;
userId: string;
}
/**
* @class
* Initializes a new instance of the Owner class.
* @constructor
* The information about the app's owner
*
* @member {string} id The unique id (UUID) of the owner
* @member {string} [avatarUrl] The avatar URL of the owner
* @member {string} displayName The owner's display name
* @member {string} [email] The owner's email address
* @member {string} name The unique name that used to identify the owner
* @member {string} type The owner type. Can either be 'org' or 'user'.
* Possible values include: 'org', 'user'
*/
export interface Owner {
id: string;
avatarUrl?: string;
displayName: string;
email?: string;
name: string;
type: string;
}
/**
* @class
* Initializes a new instance of the DistributionGroupResponse class.
* @constructor
* @member {string} id The unique ID of the distribution group
* @member {string} name The name of the distribution group used in URLs
* @member {string} origin The creation origin of this distribution group.
* Possible values include: 'appcenter', 'hockeyapp'
* @member {boolean} isPublic Whether the distribution group is public
*/
export interface DistributionGroupResponse {
id: string;
name: string;
origin: string;
isPublic: boolean;
}
/**
* @class
* Initializes a new instance of the TesterAppResponse class.
* @constructor
* @member {array} distributionGroups The IDs of the distribution groups the
* current user is member of.
*/
export interface TesterAppResponse extends BasicAppResponse {
distributionGroups: DistributionGroupResponse[];
}
/**
* @class
* Initializes a new instance of the AppResponseInternalRepositoriesItem class.
* @constructor
* @member {string} [repoProvider]
* @member {string} [repoUrl]
*/
export interface AppResponseInternalRepositoriesItem {
repoProvider?: string;
repoUrl?: string;
}
/**
* @class
* Initializes a new instance of the AppResponseInternal class.
* @constructor
* @member {array} [featureFlags] The feature flags that are enabled for this
* app
* @member {array} [repositories] The repositories associated with this app
*/
export interface AppResponseInternal extends AppResponse {
featureFlags?: string[];
repositories?: AppResponseInternalRepositoriesItem[];
}
/**
* @class
* Initializes a new instance of the AppUserPermissionResponse class.
* @constructor
* @member {string} appId The unique id (UUID) of the app
* @member {array} permissions The permissions the user has for the app
* @member {string} userEmail The email of the user
* @member {string} userId The unique id (UUID) of the user
* @member {string} appOrigin The creation origin of this app. Possible values
* include: 'appcenter', 'hockeyapp', 'codepush'
* @member {string} appSecret A unique and secret key used to identify the app
* in communication with the ingestion endpoint for crash reporting and
* analytics
*/
export interface AppUserPermissionResponse {
appId: string;
permissions: string[];
userEmail: string;
userId: string;
appOrigin: string;
appSecret: string;
}
/**
* @class
* Initializes a new instance of the AppWithTeamPermissionsResponse class.
* @constructor
* @member {array} [teamPermissions] The permissions the team has for the app
*/
export interface AppWithTeamPermissionsResponse extends AppResponse {
teamPermissions?: string[];
}
/**
* @class
* Initializes a new instance of the OrgUserPermissionResponse class.
* @constructor
* @member {string} orgId The unique id (UUID) of the org
* @member {string} userRole The user role for the org. Possible values
* include: 'admin', 'collaborator'
*/
export interface OrgUserPermissionResponse {
orgId: string;
userRole: string;
}
/**
* @class
* Initializes a new instance of the DistributionGroupUserDeleteResponse class.
* @constructor
* @member {string} [code] The code of the result
* @member {number} [message] The message of the result
* @member {number} status The status code of the result
* @member {string} [userEmail] The email of the user
*/
export interface DistributionGroupUserDeleteResponse {
code?: string;
message?: number;
status: number;
userEmail?: string;
}
/**
* @class
* Initializes a new instance of the DistributionGroupUserGetResponse class.
* @constructor
* @member {string} [id] The unique id (UUID) of the user
* @member {string} [avatarUrl] The avatar URL of the user
* @member {boolean} [canChangePassword] User is required to send an old
* password in order to change the password.
* @member {string} [displayName] The full name of the user. Might for example
* be first and last name
* @member {string} email The email address of the user
* @member {boolean} [invitePending] Whether the has accepted the invite.
* Available when an invite is pending, and the value will be "true".
* @member {string} [name] The unique name that is used to identify the user.
*/
export interface DistributionGroupUserGetResponse {
id?: string;
avatarUrl?: string;
canChangePassword?: boolean;
displayName?: string;
email: string;
invitePending?: boolean;
name?: string;
}
/**
* @class
* Initializes a new instance of the DistributionGroupUserPostResponse class.
* @constructor
* @member {string} [code] The code of the result
* @member {boolean} [invitePending] Whether the has accepted the invite.
* Available when an invite is pending, and the value will be "true".
* @member {number} [message] The message of the result
* @member {number} status The status code of the result
* @member {string} [userEmail] The email of the user
*/
export interface DistributionGroupUserPostResponse {
code?: string;
invitePending?: boolean;
message?: number;
status: number;
userEmail?: string;
}
/**
* @class
* Initializes a new instance of the DistributionGroupWithUsersResponse class.
* @constructor
* @member {string} id The unique ID of the distribution group
* @member {string} name The name of the distribution group used in URLs
* @member {number} totalUserCount The count of users in the distribution group
* @member {number} notifiedUserCount The count of non-pending users in the
* distribution group who will be notified by new releases
* @member {boolean} [isPublic] Whether the distribution group is public
* @member {array} users The distribution group users
*/
export interface DistributionGroupWithUsersResponse {
id: string;
name: string;
totalUserCount: number;
notifiedUserCount: number;
isPublic?: boolean;
users: DistributionGroupUserGetResponse[];
}
/**
* @class
* Initializes a new instance of the FeatureFlagsResponse class.
* @constructor
* @member {array} featureFlags
*/
export interface FeatureFlagsResponse {
featureFlags: string[];
}
/**
* @class
* Initializes a new instance of the FeatureResponse class.
* @constructor
* @member {string} [description] The description of the feature
* @member {string} displayName The friendly name of the feature
* @member {string} name The unique name of the feature
* @member {number} state The state (unset, enabled, disabled) of the feature
*/
export interface FeatureResponse {
description?: string;
displayName: string;
name: string;
state: number;
}
/**
* @class
* Initializes a new instance of the InternalUserSignupResponse class.
* @constructor
* @member {string} id The unique id (UUID) of the user
* @member {string} displayName The full name of the user. Might for example be
* first and last name
* @member {string} email The email address of the user
* @member {string} [externalProvider] The name of the external auth provider
* @member {string} [externalUserId] The user ID given by the external provider
* @member {string} name The unique name that is used to identify the user.
* @member {string} [status] The current status of the user record after
* signup. Possible values include: 'Complete', 'NeedsVerification'
*/
export interface InternalUserSignupResponse {
id: string;
displayName: string;
email: string;
externalProvider?: string;
externalUserId?: string;
name: string;
status?: string;
}
/**
* @class
* Initializes a new instance of the OrganizationResponse class.
* @constructor
* @member {string} id The internal unique id (UUID) of the organization.
* @member {string} displayName The display name of the organization
* @member {string} name The slug name of the organization
* @member {string} origin The creation origin of this organization. Possible
* values include: 'appcenter', 'hockeyapp'
* @member {string} createdAt The creation date of this organization
* @member {string} updatedAt The date the organization was last updated at
*/
export interface OrganizationResponse {
id: string;
displayName: string;
name: string;
origin: string;
createdAt: string;
updatedAt: string;
}
/**
* @class
* Initializes a new instance of the InvitationDetailResponse class.
* @constructor
* @member {string} invitationId The id of the invitation
* @member {object} invitedBy
* @member {string} [invitedBy.id] The unique id (UUID) of the user
* @member {string} [invitedBy.avatarUrl] The avatar URL of the user
* @member {boolean} [invitedBy.canChangePassword] User is required to send an
* old password in order to change the password.
* @member {string} [invitedBy.displayName] The full name of the user. Might
* for example be first and last name
* @member {string} [invitedBy.email] The email address of the user
* @member {string} [invitedBy.name] The unique name that is used to identify
* the user.
* @member {array} [invitedBy.permissions] The permissions the user has for the
* app
* @member {string} [invitedBy.origin] The creation origin of this user.
* Possible values include: 'appcenter', 'hockeyapp', 'codepush'
* @member {object} [organization]
* @member {string} [organization.id] The internal unique id (UUID) of the
* organization.
* @member {string} [organization.displayName] The display name of the
* organization
* @member {string} [organization.name] The slug name of the organization
* @member {string} [organization.origin] The creation origin of this
* organization. Possible values include: 'appcenter', 'hockeyapp'
* @member {string} [organization.createdAt] The creation date of this
* organization
* @member {string} [organization.updatedAt] The date the organization was last
* updated at
* @member {object} [app]
* @member {string} [app.appSecret] A unique and secret key used to identify
* the app in communication with the ingestion endpoint for crash reporting and
* analytics
* @member {object} [app.azureSubscription]
* @member {string} [app.azureSubscription.subscriptionId] The azure
* subscription id
* @member {string} [app.azureSubscription.tenantId] The tenant id of the azure
* subscription belongs to
* @member {string} [app.azureSubscription.subscriptionName] The name of the
* azure subscription
* @member {boolean} [app.azureSubscription.isBilling] If the subscription is
* used for billing
* @member {boolean} [app.azureSubscription.isBillable] If the subscription can
* be used for billing
* @member {string} [app.platform] The platform of the app. Possible values
* include: 'Java', 'Objective-C-Swift', 'UWP', 'Cordova', 'React-Native',
* 'Unity', 'Xamarin', 'Unknown'
* @member {string} [app.origin] The creation origin of this app. Possible
* values include: 'appcenter', 'hockeyapp', 'codepush'
* @member {string} [app.createdAt] The created date of this app
* @member {string} [app.updatedAt] The last updated date of this app
* @member {array} [app.memberPermissions] The permissions of the calling user
*/
export interface InvitationDetailResponse {
invitationId: string;
invitedBy: UserProfileResponse;
organization?: OrganizationResponse;
app?: AppResponse;
}
/**
* @class
* Initializes a new instance of the OrgNameAvailabilityResponse class.
* @constructor
* @member {boolean} available The availability status of the requested org
* name
* @member {string} name The generated org name
*/
export interface OrgNameAvailabilityResponse {
available: boolean;
name: string;
}
/**
* @class
* Initializes a new instance of the OrganizationInvitationDetailResponse class.
* @constructor
* @member {string} id The unique ID (UUID) of the invitation
* @member {object} organization
* @member {string} [organization.id] The internal unique id (UUID) of the
* organization.
* @member {string} [organization.displayName] The display name of the
* organization
* @member {string} [organization.name] The slug name of the organization
* @member {string} [organization.origin] The creation origin of this
* organization. Possible values include: 'appcenter', 'hockeyapp'
* @member {string} [organization.createdAt] The creation date of this
* organization
* @member {string} [organization.updatedAt] The date the organization was last
* updated at
* @member {string} email The email address of the invited user
* @member {object} invitedBy
* @member {string} [invitedBy.id] The unique id (UUID) of the user
* @member {string} [invitedBy.avatarUrl] The avatar URL of the user
* @member {boolean} [invitedBy.canChangePassword] User is required to send an
* old password in order to change the password.
* @member {string} [invitedBy.displayName] The full name of the user. Might
* for example be first and last name
* @member {string} [invitedBy.email] The email address of the user
* @member {string} [invitedBy.name] The unique name that is used to identify
* the user.
* @member {array} [invitedBy.permissions] The permissions the user has for the
* app
* @member {string} [invitedBy.origin] The creation origin of this user.
* Possible values include: 'appcenter', 'hockeyapp', 'codepush'
* @member {boolean} isExistingUser Indicates whether the invited user already
* exists
* @member {string} [role] The role assigned to the invited user
*/
export interface OrganizationInvitationDetailResponse {
id: string;
organization: OrganizationResponse;
email: string;
invitedBy: UserProfileResponse;
isExistingUser: boolean;
role?: string;
}
/**
* @class
* Initializes a new instance of the OrganizationInvitationSimpleDetailResponse class.
* @constructor
* @member {string} id The unique ID (UUID) of the invitation
* @member {string} email The email address of the invited user
* @member {object} role The role assigned to the invited user
*/
export interface OrganizationInvitationSimpleDetailResponse {
id: string;
email: string;
role: any;
}
/**
* @class
* Initializes a new instance of the OrganizationResponseInternal class.
* @constructor
* @member {array} [featureFlags] The feature flags that are enabled for this
* organization
*/
export interface OrganizationResponseInternal extends OrganizationResponse {
featureFlags?: string[];
}
/**
* @class
* Initializes a new instance of the OrganizationResponseManagement class.
* @constructor
* @member {string} [email] The organization email, if the app was synced from
* HockeyApp
*/
export interface OrganizationResponseManagement extends OrganizationResponseInternal {
email?: string;
}
/**
* @class
* Initializes a new instance of the OrganizationUserResponse class.
* @constructor
* @member {string} email The email address of the user
* @member {string} displayName The full name of the user. Might for example be
* first and last name
* @member {string} joinedAt The date when the user joined the organization
* @member {string} name The unique name that is used to identify the user.
* @member {string} role The role the user has within the organization
*/
export interface OrganizationUserResponse {
email: string;
displayName: string;
joinedAt: string;
name: string;
role: string;
}
/**
* @class
* Initializes a new instance of the TeamAppUpdateRequest class.
* @constructor
* @member {array} permissions The permissions all members of the team have on
* the app
*/
export interface TeamAppUpdateRequest {
permissions: string[];
}
/**
* @class
* Initializes a new instance of the TeamRequest class.
* @constructor
* @member {string} displayName The display name of the team
* @member {string} [name] The name of the team
* @member {string} [description] The description of the team
*/
export interface TeamRequest {
displayName: string;
name?: string;
description?: string;
}
/**
* @class
* Initializes a new instance of the TeamResponse class.
* @constructor
* @member {string} id The internal unique id (UUID) of the team.
* @member {string} name The name of the team
* @member {string} displayName The display name of the team
* @member {string} [description] The description of the team
*/
export interface TeamResponse {
id: string;
name: string;
displayName: string;
description?: string;
}
/**
* @class
* Initializes a new instance of the TeamAppResponse class.
* @constructor
* @member {array} [permissions] The permissions the team has for the app
*/
export interface TeamAppResponse extends TeamResponse {
permissions?: string[];
}
/**
* @class
* Initializes a new instance of the StatusResponse class.
* @constructor
* @member {string} status
*/
export interface StatusResponse {
status: string;
}
/**
* @class
* Initializes a new instance of the SubscriptionMetrics class.
* @constructor
* @member {string} name The name of the subsciption (prefixed with the topic
* name)
* @member {number} messageCount The number of messages in the subscription
*/
export interface SubscriptionMetrics {
name: string;
messageCount: number;
}
/**
* @class
* Initializes a new instance of the ServiceBusStatusResponse class.
* @constructor
* @member {string} status
* @member {array} [subscriptions]
*/
export interface ServiceBusStatusResponse {
status: string;
subscriptions?: SubscriptionMetrics[];
}
/**
* @class
* Initializes a new instance of the TeamUserResponse class.
* @constructor
* @member {string} email The email address of the user
* @member {string} displayName The full name of the user. Might for example be
* first and last name
* @member {string} name The unique name that is used to identify the user.
* @member {object} role The role of the user has within the team
*/
export interface TeamUserResponse {
email: string;
displayName: string;
name: string;
role: any;
}
/**
* @class
* Initializes a new instance of the UserAuthResponse class.
* @constructor
* @member {string} id The unique id (UUID) of the user
* @member {string} displayName The full name of the user. Might for example be
* first and last name
* @member {string} email The email address of the user
* @member {string} [externalProvider] The name of the external auth provider
* @member {string} [externalUserId] The user ID given by the external provider
* @member {string} name The unique name that is used to identify the user
* @member {string} origin The creation origin of this user. Possible values
* include: 'appcenter', 'hockeyapp', 'codepush'
*/
export interface UserAuthResponse {
id: string;
displayName: string;
email: string;
externalProvider?: string;
externalUserId?: string;
name: string;
origin: string;
}
/**
* @class
* Initializes a new instance of the UserNameAvailabilityResponse class.
* @constructor
* @member {boolean} available The availability status of the requested user
* name
* @member {string} name The requested user name
*/
export interface UserNameAvailabilityResponse {
available: boolean;
name: string;
}
/**
* @class
* Initializes a new instance of the UserProfileResponseInternalSettings class.
* @constructor
* The user's settings
*
* @member {string} [marketingOptIn] The marketing opt-in setting
*/
export interface UserProfileResponseInternalSettings {
marketingOptIn?: string;
}
/**
* @class
* Initializes a new instance of the UserProfileResponseInternal class.
* @constructor
* @member {array} [featureFlags] The feature flags that are enabled for this
* app
* @member {string} [adminRole] The new admin_role. Possible values include:
* 'superAdmin', 'admin', 'devOps', 'customerSupport', 'notAdmin'
* @member {object} [settings] The user's settings
* @member {string} [settings.marketingOptIn] The marketing opt-in setting
*/
export interface UserProfileResponseInternal extends UserProfileResponse {
featureFlags?: string[];
adminRole?: string;
settings?: UserProfileResponseInternalSettings;
}
/**
* @class
* Initializes a new instance of the UserProfileResponseManagement class.
* @constructor
* @member {string} [updatedAt] The date when the app was last updated
* @member {boolean} [verified] A boolean flag that indicates if the user is
* already verified
*/
export interface UserProfileResponseManagement extends UserProfileResponseInternal {
updatedAt?: string;
verified?: boolean;
}
/**
* @class
* Initializes a new instance of the UserSettingResponse class.
* @constructor
* A user's setting
*
* @member {string} [marketingOptIn] The marketing opt-in setting
*/
export interface UserSettingResponse {
marketingOptIn?: string;
}
/**
* @class
* Initializes a new instance of the FileAsset class.
* @constructor
* @member {string} [id]
* @member {string} [location]
* @member {string} [token]
* @member {string} [uploadDomain]
* @member {string} [uploadWindowLocation]
* @member {string} [urlEncodedToken]
*/
export interface FileAsset {
id?: string;
location?: string;
token?: string;
uploadDomain?: string;
uploadWindowLocation?: string;
urlEncodedToken?: string;
}
/**
* @class
* Initializes a new instance of the SourceRepository class.
* @constructor
* The source repository
*
* @member {string} [name] The repository name
* @member {object} [cloneUrl] URL used to clone the repository
*/
export interface SourceRepository {
name?: string;
cloneUrl?: any;
}
/**
* @class
* Initializes a new instance of the VSTSProfile class.
* @constructor
* VSTS user profile
*
* @member {string} [id] Profile id
* @member {string} [displayName] Profile display name
* @member {string} [publicAlias] Profile alias
* @member {string} [emailAddress] Profile email
*/
export interface VSTSProfile {
id?: string;
displayName?: string;
publicAlias?: string;
emailAddress?: string;
}
/**
* @class
* Initializes a new instance of the VSTSProject class.
* @constructor
* VSTS project
*
* @member {string} [id] Project id
* @member {string} [name] Project name
* @member {string} [description] Project description
* @member {string} [url] Project URL
* @member {string} [state] Project state
* @member {string} [visibility] Project visibility
*/
export interface VSTSProject {
id?: string;
name?: string;
description?: string;
url?: string;
state?: string;
visibility?: string;
}
/**
* @class
* Initializes a new instance of the VSTSAccount class.
* @constructor
* VSTS account with projects list and user info
*
* @member {string} [accountId] Account id
* @member {string} [accountUri] Account uri
* @member {string} [accountName] Account name
* @member {string} [accountType] Account type
* @member {string} [accountStatus] Account status
* @member {object} [user]
* @member {string} [user.id] Profile id
* @member {string} [user.displayName] Profile display name
* @member {string} [user.publicAlias] Profile alias
* @member {string} [user.emailAddress] Profile email
* @member {array} [projects] Account projects
*/
export interface VSTSAccount {
accountId?: string;
accountUri?: string;
accountName?: string;
accountType?: string;
accountStatus?: string;
user?: VSTSProfile;
projects?: VSTSProject[];
}
/**
* @class
* Initializes a new instance of the DownloadContainer class.
* @constructor
* A download reference
*
* @member {string} uri Download URI
*/
export interface DownloadContainer {
uri: string;
}
/**
* @class
* Initializes a new instance of the WebSocketContainer class.
* @constructor
* A websocket reference
*
* @member {string} url WebSocket URL
*/
export interface WebSocketContainer {
url: string;
}
/**
* @class
* Initializes a new instance of the XcodeArchiveProject class.
* @constructor
* @member {string} archiveTargetId The Id of the target to archive
* @member {string} projectName The project to archive container name
* @member {string} [projectPath] Full path of the target project
*/
export interface XcodeArchiveProject {
archiveTargetId: string;
projectName: string;
projectPath?: string;
}
/**
* @class
* Initializes a new instance of the XcodeScheme class.
* @constructor
* @member {string} name Scheme name
* @member {boolean} hasTestAction Does scheme have a test action?
* @member {string} [archiveConfiguration] Build configuration set in Archive
* action
* @member {object} [archiveProject]
* @member {string} [archiveProject.archiveTargetId] The Id of the target to
* archive
* @member {string} [archiveProject.projectName] The project to archive
* container name
* @member {string} [archiveProject.projectPath] Full path of the target
* project
*/
export interface XcodeScheme {
name: string;
hasTestAction: boolean;
archiveConfiguration?: string;
archiveProject?: XcodeArchiveProject;
}
/**
* @class
* Initializes a new instance of the XcodeSchemeContainer class.
* @constructor
* @member {string} path Path to project
* @member {array} sharedSchemes Project schemes
* @member {string} [podfilePath] Path to CocoaPods file, if present
* @member {object} [cartfilePath] Path to Carthage file, if present
* @member {string} [xcodeProjectSha] repo object Id of the pbxproject
* @member {string} [workspaceProjectPaths] Related projects paths for
* xcworkspace
*/
export interface XcodeSchemeContainer {
path: string;
sharedSchemes: XcodeScheme[];
podfilePath?: string;
cartfilePath?: any;
xcodeProjectSha?: string;
workspaceProjectPaths?: string;
}
/**
* @class
* Initializes a new instance of the XcodeToolset class.
* @constructor
* @member {array} xcodeSchemeContainers The Xcode scheme containers
*/
export interface XcodeToolset {
xcodeSchemeContainers: XcodeSchemeContainer[];
}
/**
* @class
* Initializes a new instance of the XamarinSolution class.
* @constructor
* @member {string} path Path to solution
* @member {array} configurations Solution configurations
* @member {string} [defaultConfiguration] Solution default configuration
*/
export interface XamarinSolution {
path: string;
configurations: string[];
defaultConfiguration?: string;
}
/**
* @class
* Initializes a new instance of the XamarinToolset class.
* @constructor
* @member {array} xamarinSolutions Xamarin solutions for the toolset
*/
export interface XamarinToolset {
xamarinSolutions: XamarinSolution[];
}
/**
* @class
* Initializes a new instance of the AndroidModule class.
* @constructor
* @member {string} name Name of the Android module
* @member {array} [productFlavors] The product flavors of the Android module
* @member {array} [buildVariants] The detected build variants of the Android
* module (matrix of product flavor + build type (debug|release))
* @member {array} [buildTypes] The detected build types fo the Android module
* @member {boolean} [isRoot] Whether the module is at the root level of the
* project
*/
export interface AndroidModule {
name: string;
productFlavors?: string[];
buildVariants?: string[];
buildTypes?: string[];
isRoot?: boolean;
}
/**
* @class
* Initializes a new instance of the AndroidProject class.
* @constructor
* @member {array} androidModules Android Gradle modules
* @member {string} [gradleWrapperPath] The path of the Gradle wrapper
*/
export interface AndroidProject {
androidModules: AndroidModule[];
gradleWrapperPath?: string;
}
/**
* @class
* Initializes a new instance of the JavaScriptSolution class.
* @constructor
* @member {string} packageJsonPath The path to the detected package.json
* @member {string} [reactNativeVersion] Version of React Native from
* package.json files
*/
export interface JavaScriptSolution {
packageJsonPath: string;
reactNativeVersion?: string;
}
/**
* @class
* Initializes a new instance of the JavaScriptToolset class.
* @constructor
* @member {array} packageJsonPaths Paths for detected package.json files
* @member {array} [javascriptSolutions] The React Native solutions detected
*/
export interface JavaScriptToolset {
packageJsonPaths: string[];
javascriptSolutions?: JavaScriptSolution[];
}
/**
* @class
* Initializes a new instance of the UWPSolution class.
* @constructor
* @member {string} path The path to the UWP solution
* @member {array} configurations The possible configurations detected for the
* UWP solution
*/
export interface UWPSolution {
path: string;
configurations: string[];
}
/**
* @class
* Initializes a new instance of the UWPToolset class.
* @constructor
* @member {array} uwpSolutions The UWP solutions detected
*/
export interface UWPToolset {
uwpSolutions: UWPSolution[];
}
/**
* @class
* Initializes a new instance of the TestCloudProjectFrameworkProperties class.
* @constructor
* @member {array} [configurations]
*/
export interface TestCloudProjectFrameworkProperties {
configurations?: string[];
}
/**
* @class
* Initializes a new instance of the TestCloudProject class.
* @constructor
* @member {string} path The path to the TestCloud project
* @member {string} frameworkType Possible values include: 'Appium',
* 'Calabash', 'Espresso', 'UITest', 'Generated'
* @member {object} [frameworkProperties]
* @member {array} [frameworkProperties.configurations]
*/
export interface TestCloudProject {
path: string;
frameworkType: string;
frameworkProperties?: TestCloudProjectFrameworkProperties;
}
/**
* @class
* Initializes a new instance of the TestCloudToolset class.
* @constructor
* @member {array} projects The TestCloud projects detected
*/
export interface TestCloudToolset {
projects: TestCloudProject[];
}
/**
* @class
* Initializes a new instance of the ToolsetProject class.
* @constructor
* Abstract platform project
*
* @member {string} [name]
* @member {string} [path]
*/
export interface ToolsetProject {
name?: string;
path?: string;
}
/**
* @class
* Initializes a new instance of the ToolsetProjects class.
* @constructor
* A collection of projects for each type of toolset
*
* @member {string} [commit] The commit hash of the analyzed commit
* @member {object} [xcode]
* @member {array} [xcode.xcodeSchemeContainers] The Xcode scheme containers
* @member {object} [javascript]
* @member {array} [javascript.packageJsonPaths] Paths for detected
* package.json files
* @member {array} [javascript.javascriptSolutions] The React Native solutions
* detected
* @member {object} [xamarin]
* @member {array} [xamarin.xamarinSolutions] Xamarin solutions for the toolset
* @member {object} [android]
* @member {array} [android.androidModules] Android Gradle modules
* @member {string} [android.gradleWrapperPath] The path of the Gradle wrapper
* @member {object} [buildscripts]
* @member {object} [uwp]
* @member {array} [uwp.uwpSolutions] The UWP solutions detected
* @member {object} [testcloud]
* @member {array} [testcloud.projects] The TestCloud projects detected
*/
export interface ToolsetProjects {
commit?: string;
xcode?: XcodeToolset;
javascript?: JavaScriptToolset;
xamarin?: XamarinToolset;
android?: AndroidProject;
buildscripts?: { [propertyName: string]: ToolsetProject };
uwp?: UWPToolset;
testcloud?: TestCloudToolset;
}
/**
* @class
* Initializes a new instance of the Commit class.
* @constructor
* @member {string} [sha] The commit SHA
* @member {string} [url] The URL to the commit
*/
export interface Commit {
sha?: string;
url?: string;
}
/**
* @class
* Initializes a new instance of the Branch class.
* @constructor
* @member {string} name The branch name
* @member {object} commit
* @member {string} [commit.sha] The commit SHA
* @member {string} [commit.url] The URL to the commit
*/
export interface Branch {
name: string;
commit: Commit;
}
/**
* @class
* Initializes a new instance of the BranchProperties class.
* @constructor
* The branch build core properties
*
* @member {object} [branch]
* @member {string} [branch.name] The branch name
* @member {object} [branch.commit]
* @member {string} [branch.commit.sha] The commit SHA
* @member {string} [branch.commit.url] The URL to the commit
* @member {boolean} [enabled]
*/
export interface BranchProperties {
branch?: Branch;
enabled?: boolean;
}
/**
* @class
* Initializes a new instance of the Build class.
* @constructor
* @member {number} id The build ID
* @member {string} buildNumber The build number
* @member {string} queueTime The time the build was queued
* @member {string} [startTime] The time the build was started
* @member {string} [finishTime] The time the build was finished
* @member {string} [lastChangedDate] The time the build status was last
* changed
* @member {string} status The build status
* @member {string} result The build result
* @member {string} sourceBranch The source branch name
* @member {string} sourceVersion The source SHA
*/
export interface Build {
id: number;
buildNumber: string;
queueTime: string;
startTime?: string;
finishTime?: string;
lastChangedDate?: string;
status: string;
result: string;
sourceBranch: string;
sourceVersion: string;
}
/**
* @class
* Initializes a new instance of the BranchStatus class.
* @constructor
* The branch build status
*
* @member {boolean} configured
* @member {object} [lastBuild]
* @member {number} [lastBuild.id] The build ID
* @member {string} [lastBuild.buildNumber] The build number
* @member {string} [lastBuild.queueTime] The time the build was queued
* @member {string} [lastBuild.startTime] The time the build was started
* @member {string} [lastBuild.finishTime] The time the build was finished
* @member {string} [lastBuild.lastChangedDate] The time the build status was
* last changed
* @member {string} [lastBuild.status] The build status
* @member {string} [lastBuild.result] The build result
* @member {string} [lastBuild.sourceBranch] The source branch name
* @member {string} [lastBuild.sourceVersion] The source SHA
*/
export interface BranchStatus {
configured: boolean;
lastBuild?: Build;
/**
* @property Describes unknown properties. The value of an unknown property
* MUST be of type "BranchProperties". Due to valid TS constraints we have
* modeled this as a union of `BranchProperties | any`.
*/
[property: string]: BranchProperties | any;
}
/**
* @class
* Initializes a new instance of the XcodeBranchConfigurationProperties class.
* @constructor
* Build configuration when Xcode is part of the build steps
*
* @member {string} projectOrWorkspacePath Xcode project/workspace path
* @member {string} [podfilePath] Path to CococaPods file, if present
* @member {string} [cartfilePath] Path to Carthage file, if present
* @member {string} [provisioningProfileEncoded]
* @member {string} [certificateEncoded]
* @member {string} [provisioningProfileFileId]
* @member {string} [certificateFileId]
* @member {string} [provisioningProfileUploadId]
* @member {string} [certificateUploadId]
* @member {string} [certificatePassword]
* @member {string} scheme
* @member {string} xcodeVersion
* @member {string} [provisioningProfileFilename]
* @member {string} [certificateFilename]
* @member {string} [teamId]
* @member {boolean} [automaticSigning]
* @member {string} [xcodeProjectSha] The selected pbxproject hash to the
* repositroy
* @member {string} [archiveConfiguration] The build configuration of the
* target to archive
* @member {string} [targetToArchive] The target id of the selected scheme to
* archive
*/
export interface XcodeBranchConfigurationProperties {
projectOrWorkspacePath: string;
podfilePath?: string;
cartfilePath?: string;
provisioningProfileEncoded?: string;
certificateEncoded?: string;
provisioningProfileFileId?: string;
certificateFileId?: string;
provisioningProfileUploadId?: string;
certificateUploadId?: string;
certificatePassword?: string;
scheme: string;
xcodeVersion: string;
provisioningProfileFilename?: string;
certificateFilename?: string;
teamId?: string;
automaticSigning?: boolean;
xcodeProjectSha?: string;
archiveConfiguration?: string;
targetToArchive?: string;
}
/**
* @class
* Initializes a new instance of the JavaScriptBranchConfigurationProperties class.
* @constructor
* Build configuration when React Native, or other JavaScript tech, is part of
* the build steps
*
* @member {string} packageJsonPath Path to package.json file for the main
* project, e.g. "package.json" or "myapp/package.json"
* @member {boolean} [runTests] Whether to run Jest unit tests, via npm test,
* during the build. Default value: true .
* @member {string} [reactNativeVersion] Version of React Native from
* package.json files
*/
export interface JavaScriptBranchConfigurationProperties {
packageJsonPath: string;
runTests?: boolean;
reactNativeVersion?: string;
}
/**
* @class
* Initializes a new instance of the XamarinBranchConfigurationProperties class.
* @constructor
* Build configuration for Xamarin projects
*
* @member {string} slnPath
* @member {string} isSimBuild
* @member {string} args
* @member {string} configuration
* @member {string} p12File
* @member {string} p12Pwd
* @member {string} provProfile
* @member {string} [monoVersion]
* @member {string} [sdkBundle]
*/
export interface XamarinBranchConfigurationProperties {
slnPath: string;
isSimBuild: string;
args: string;
configuration: string;
p12File: string;
p12Pwd: string;
provProfile: string;
monoVersion?: string;
sdkBundle?: string;
}
/**
* @class
* Initializes a new instance of the AndroidBranchConfigurationProperties class.
* @constructor
* Build configuration for Android projects
*
* @member {string} [gradleWrapperPath] Path to the Gradle wrapper script
* @member {string} module The Gradle module to build
* @member {string} variant The Android build variant to build
* @member {boolean} [runTests] Whether to run unit tests during the build
* (default). Default value: true .
* @member {boolean} [runLint] Whether to run lint checks during the build
* (default). Default value: true .
*/
export interface AndroidBranchConfigurationProperties {
gradleWrapperPath?: string;
module: string;
variant: string;
runTests?: boolean;
runLint?: boolean;
}
/**
* @class
* Initializes a new instance of the BranchConfigurationToolsets class.
* @constructor
* The branch build configuration for each toolset
*
* @member {object} [xcode]
* @member {string} [xcode.projectOrWorkspacePath] Xcode project/workspace path
* @member {string} [xcode.podfilePath] Path to CococaPods file, if present
* @member {string} [xcode.cartfilePath] Path to Carthage file, if present
* @member {string} [xcode.provisioningProfileEncoded]
* @member {string} [xcode.certificateEncoded]
* @member {string} [xcode.provisioningProfileFileId]
* @member {string} [xcode.certificateFileId]
* @member {string} [xcode.provisioningProfileUploadId]
* @member {string} [xcode.certificateUploadId]
* @member {string} [xcode.certificatePassword]
* @member {string} [xcode.scheme]
* @member {string} [xcode.xcodeVersion]
* @member {string} [xcode.provisioningProfileFilename]
* @member {string} [xcode.certificateFilename]
* @member {string} [xcode.teamId]
* @member {boolean} [xcode.automaticSigning]
* @member {string} [xcode.xcodeProjectSha] The selected pbxproject hash to the
* repositroy
* @member {string} [xcode.archiveConfiguration] The build configuration of the
* target to archive
* @member {string} [xcode.targetToArchive] The target id of the selected
* scheme to archive
* @member {object} [javascript]
* @member {string} [javascript.packageJsonPath] Path to package.json file for
* the main project, e.g. "package.json" or "myapp/package.json"
* @member {boolean} [javascript.runTests] Whether to run Jest unit tests, via
* npm test, during the build
* @member {string} [javascript.reactNativeVersion] Version of React Native
* from package.json files
* @member {object} [xamarin]
* @member {string} [xamarin.slnPath]
* @member {string} [xamarin.isSimBuild]
* @member {string} [xamarin.args]
* @member {string} [xamarin.configuration]
* @member {string} [xamarin.p12File]
* @member {string} [xamarin.p12Pwd]
* @member {string} [xamarin.provProfile]
* @member {string} [xamarin.monoVersion]
* @member {string} [xamarin.sdkBundle]
* @member {object} [android]
* @member {string} [android.gradleWrapperPath] Path to the Gradle wrapper
* script
* @member {string} [android.module] The Gradle module to build
* @member {string} [android.variant] The Android build variant to build
* @member {boolean} [android.runTests] Whether to run unit tests during the
* build (default)
* @member {boolean} [android.runLint] Whether to run lint checks during the
* build (default)
*/
export interface BranchConfigurationToolsets {
xcode?: XcodeBranchConfigurationProperties;
javascript?: JavaScriptBranchConfigurationProperties;
xamarin?: XamarinBranchConfigurationProperties;
android?: AndroidBranchConfigurationProperties;
}
/**
* @class
* Initializes a new instance of the BranchConfigurationArtifactVersioning class.
* @constructor
* The versioning configuration for artifacts built for this branch
*
* @member {string} [buildNumberFormat] Possible values include: 'buildId',
* 'timestamp'
*/
export interface BranchConfigurationArtifactVersioning {
buildNumberFormat?: string;
}
/**
* @class
* Initializes a new instance of the BranchConfiguration class.
* @constructor
* The branch build configuration
*
* @member {number} id
* @member {string} [trigger] Possible values include: 'continous',
* 'continuous', 'manual'
* @member {boolean} [testsEnabled]
* @member {boolean} [badgeIsEnabled]
* @member {boolean} [signed]
* @member {object} [toolsets]
* @member {object} [toolsets.xcode]
* @member {string} [toolsets.xcode.projectOrWorkspacePath] Xcode
* project/workspace path
* @member {string} [toolsets.xcode.podfilePath] Path to CococaPods file, if
* present
* @member {string} [toolsets.xcode.cartfilePath] Path to Carthage file, if
* present
* @member {string} [toolsets.xcode.provisioningProfileEncoded]
* @member {string} [toolsets.xcode.certificateEncoded]
* @member {string} [toolsets.xcode.provisioningProfileFileId]
* @member {string} [toolsets.xcode.certificateFileId]
* @member {string} [toolsets.xcode.provisioningProfileUploadId]
* @member {string} [toolsets.xcode.certificateUploadId]
* @member {string} [toolsets.xcode.certificatePassword]
* @member {string} [toolsets.xcode.scheme]
* @member {string} [toolsets.xcode.xcodeVersion]
* @member {string} [toolsets.xcode.provisioningProfileFilename]
* @member {string} [toolsets.xcode.certificateFilename]
* @member {string} [toolsets.xcode.teamId]
* @member {boolean} [toolsets.xcode.automaticSigning]
* @member {string} [toolsets.xcode.xcodeProjectSha] The selected pbxproject
* hash to the repositroy
* @member {string} [toolsets.xcode.archiveConfiguration] The build
* configuration of the target to archive
* @member {string} [toolsets.xcode.targetToArchive] The target id of the
* selected scheme to archive
* @member {object} [toolsets.javascript]
* @member {string} [toolsets.javascript.packageJsonPath] Path to package.json
* file for the main project, e.g. "package.json" or "myapp/package.json"
* @member {boolean} [toolsets.javascript.runTests] Whether to run Jest unit
* tests, via npm test, during the build
* @member {string} [toolsets.javascript.reactNativeVersion] Version of React
* Native from package.json files
* @member {object} [toolsets.xamarin]
* @member {string} [toolsets.xamarin.slnPath]
* @member {string} [toolsets.xamarin.isSimBuild]
* @member {string} [toolsets.xamarin.args]
* @member {string} [toolsets.xamarin.configuration]
* @member {string} [toolsets.xamarin.p12File]
* @member {string} [toolsets.xamarin.p12Pwd]
* @member {string} [toolsets.xamarin.provProfile]
* @member {string} [toolsets.xamarin.monoVersion]
* @member {string} [toolsets.xamarin.sdkBundle]
* @member {object} [toolsets.android]
* @member {string} [toolsets.android.gradleWrapperPath] Path to the Gradle
* wrapper script
* @member {string} [toolsets.android.module] The Gradle module to build
* @member {string} [toolsets.android.variant] The Android build variant to
* build
* @member {boolean} [toolsets.android.runTests] Whether to run unit tests
* during the build (default)
* @member {boolean} [toolsets.android.runLint] Whether to run lint checks
* during the build (default)
* @member {object} [artifactVersioning]
* @member {string} [artifactVersioning.buildNumberFormat] Possible values
* include: 'buildId', 'timestamp'
*/
export interface BranchConfiguration {
id: number;
trigger?: string;
testsEnabled?: boolean;
badgeIsEnabled?: boolean;
signed?: boolean;
toolsets?: BranchConfigurationToolsets;
artifactVersioning?: BranchConfigurationArtifactVersioning;
/**
* @property Describes unknown properties. The value of an unknown property
* MUST be of type "BranchProperties". Due to valid TS constraints we have
* modeled this as a union of `BranchProperties | any`.
*/
[property: string]: BranchProperties | any;
}
/**
* @class
* Initializes a new instance of the CommitDetailsCommitAuthor class.
* @constructor
* @member {string} [date] Date and time of the commit
* @member {string} [name] Author name
* @member {string} [email] Author's email
*/
export interface CommitDetailsCommitAuthor {
date?: string;
name?: string;
email?: string;
}
/**
* @class
* Initializes a new instance of the CommitDetailsCommit class.
* @constructor
* @member {string} [message] Commit message
* @member {object} [author]
* @member {string} [author.date] Date and time of the commit
* @member {string} [author.name] Author name
* @member {string} [author.email] Author's email
*/
export interface CommitDetailsCommit {
message?: string;
author?: CommitDetailsCommitAuthor;
}
/**
* @class
* Initializes a new instance of the CommitDetails class.
* @constructor
* @member {object} [commit]
* @member {string} [commit.message] Commit message
* @member {object} [commit.author]
* @member {string} [commit.author.date] Date and time of the commit
* @member {string} [commit.author.name] Author name
* @member {string} [commit.author.email] Author's email
*/
export interface CommitDetails extends Commit {
commit?: CommitDetailsCommit;
}
/**
* @class
* Initializes a new instance of the RepoConfig class.
* @constructor
* @member {string} type Type of repository
* @member {string} state State of the configuration. Possible values include:
* 'unauthorized', 'inactive', 'active'
* @member {string} [repoUrl] URL of the repository
* @member {string} [id] Repository identifier
*/
export interface RepoConfig {
type: string;
state: string;
repoUrl?: string;
id?: string;
}
/**
* @class
* Initializes a new instance of the RepoInfo class.
* @constructor
* @member {string} repoUrl The repository url
*/
export interface RepoInfo {
repoUrl: string;
}
/**
* @class
* Initializes a new instance of the XcodeVersion class.
* @constructor
* The Xcode version
*
* @member {string} [name] The version name
* @member {boolean} [current] If the Xcode is latest stable
*/
export interface XcodeVersion {
name?: string;
current?: boolean;
}
/**
* @class
* Initializes a new instance of the MonoVersion class.
* @constructor
* The Mono version
*
* @member {string} [name] The version name
* @member {boolean} [current] If the Mono is latest stable
*/
export interface MonoVersion {
name?: string;
current?: boolean;
}
/**
* @class
* Initializes a new instance of the XamarinSDKBundle class.
* @constructor
* The Xamarin SDK bundle
*
* @member {string} [monoVersion] The Mono version
* @member {string} [sdkBundle] The Xamarin SDK version
* @member {boolean} [current] If the SDK is latest stable
*/
export interface XamarinSDKBundle {
monoVersion?: string;
sdkBundle?: string;
current?: boolean;
}
/**
* @class
* Initializes a new instance of the BuildParams class.
* @constructor
* @member {string} [sourceVersion] Version to build which represents the full
* Git commit reference
* @member {boolean} [debug] Run build in debug mode
*/
export interface BuildParams {
sourceVersion?: string;
debug?: boolean;
}
/**
* @class
* Initializes a new instance of the BuildPatch class.
* @constructor
* @member {string} [status] The build status; used to cancel builds. Possible
* values include: 'cancelling'
*/
export interface BuildPatch {
status?: string;
}
/**
* @class
* Initializes a new instance of the BuildLog class.
* @constructor
* @member {array} [value]
*/
export interface BuildLog {
value?: string[];
}
/**
* @class
* Initializes a new instance of the DistributionRequest class.
* @constructor
* @member {string} distributionGroupId A distribution group ID or a store
* group ID
* @member {string} [releaseNotes] The release notes
*/
export interface DistributionRequest {
distributionGroupId: string;
releaseNotes?: string;
}
/**
* @class
* Initializes a new instance of the DistributionResponse class.
* @constructor
* @member {string} [status] Status of the Request
* @member {string} [uploadId] A unique ID of the upload
*/
export interface DistributionResponse {
status?: string;
uploadId?: string;
}
/**
* @class
* Initializes a new instance of the BuildServiceStatus class.
* @constructor
* @member {string} [status]
* @member {string} [service]
* @member {string} [message]
* @member {string} [url]
* @member {number} [validUntil]
* @member {string} [os]
*/
export interface BuildServiceStatus {
status?: string;
service?: string;
message?: string;
url?: string;
validUntil?: number;
os?: string;
}
/**
* @class
* Initializes a new instance of the BuildAgentQueue class.
* @constructor
* @member {string} queue
*/
export interface BuildAgentQueue {
queue: string;
}
/**
* @class
* Initializes a new instance of the ValidationErrorResponse class.
* @constructor
* @member {string} id
* @member {string} code
* @member {string} message
*/
export interface ValidationErrorResponse {
id: string;
code: string;
message: string;
}
/**
* @class
* Initializes a new instance of the BuildAgentQueueResponse class.
* @constructor
* Queue configured in build definition
*
* @member {string} [buildDefinition] Name of the build definition
* @member {string} [name] Name of the queue
*/
export interface BuildAgentQueueResponse {
buildDefinition?: string;
name?: string;
}
/**
* @class
* Initializes a new instance of the AgentQueueResponse class.
* @constructor
* Agent queue
*
* @member {number} [id]
* @member {string} [name]
*/
export interface AgentQueueResponse {
id?: number;
name?: string;
}
/**
* @class
* Initializes a new instance of the AppBuildFeature class.
* @constructor
* supported feature
*
* @member {string} [name]
* @member {boolean} [value]
*/
export interface AppBuildFeature {
name?: string;
value?: boolean;
}
/**
* @class
* Initializes a new instance of the FileValidationDetails class.
* @constructor
* Additional details required for file validation
*
* @member {string} p12password
* @member {string} [certificateUploadId]
*/
export interface FileValidationDetails {
p12password: string;
certificateUploadId?: string;
}
/**
* @class
* Initializes a new instance of the BuildConcurrencyResponse class.
* @constructor
* Number of pipelines
*
* @member {number} [quantity] The number of pipelines set by the billing plan
* @member {number} [committedQuantity] The number of pipelines committed,
* which can be equal or greater than the number from the billing plan
*/
export interface BuildConcurrencyResponse {
quantity?: number;
committedQuantity?: number;
}
/**
* @class
* Initializes a new instance of the DistributionGroupRelease class.
* @constructor
* Response for getting a list of releases in a distribution group
*
* @member {number} [id] ID identifying this unique release.
* @member {string} [version] The release's version.
* For iOS: CFBundleVersion from info.plist.
* For Android: android:versionCode from AppManifest.xml.
* @member {string} [shortVersion] The release's short version.
* For iOS: CFBundleShortVersionString from info.plist.
* For Android: android:versionName from AppManifest.xml.
* @member {string} [uploadedAt] UTC time in ISO 8601 format of the uploaded
* time.
*/
export interface DistributionGroupRelease {
id?: number;
version?: string;
shortVersion?: string;
uploadedAt?: string;
}
/**
* @class
* Initializes a new instance of the TesterAppRelease class.
* @constructor
* @member {number} size The release's size in bytes.
* @member {string} [installUrl] The href required to install a release on a
* mobile device. On iOS devices will be prefixed with
* `itms-services://?action=download-manifest&url=`
* @member {string} [releaseNotes] The release's release notes.
*/
export interface TesterAppRelease extends DistributionGroupRelease {
size: number;
installUrl?: string;
releaseNotes?: string;
}
/**
* @class
* Initializes a new instance of the TesterAppWithReleaseResponseOwner class.
* @constructor
* The information about the app's owner
*
* @member {string} [id] The unique id (UUID) of the owner
* @member {string} [avatarUrl] The avatar URL of the owner
* @member {string} [displayName] The owner's display name
* @member {string} [email] The owner's email address
* @member {string} [name] The unique name that used to identify the owner
* @member {string} [type] The owner type. Can either be 'org' or 'user'.
* Possible values include: 'org', 'user'
*/
export interface TesterAppWithReleaseResponseOwner {
id?: string;
avatarUrl?: string;
displayName?: string;
email?: string;
name?: string;
type?: string;
}
/**
* @class
* Initializes a new instance of the TesterAppWithReleaseResponse class.
* @constructor
* @member {string} [id] The unique ID (UUID) of the app
* @member {object} [release]
* @member {number} [release.size] The release's size in bytes.
* @member {string} [release.installUrl] The href required to install a release
* on a mobile device. On iOS devices will be prefixed with
* `itms-services://?action=download-manifest&url=`
* @member {string} [release.releaseNotes] The release's release notes.
* @member {string} [name] The app's name.
* @member {string} [displayName] The app's display name.
* @member {string} [description] The description of the app
* @member {string} [iconUrl] A URL to the app's icon.
* @member {string} [os] The app's os.
* @member {object} [owner] The information about the app's owner
* @member {string} [owner.id] The unique id (UUID) of the owner
* @member {string} [owner.avatarUrl] The avatar URL of the owner
* @member {string} [owner.displayName] The owner's display name
* @member {string} [owner.email] The owner's email address
* @member {string} [owner.name] The unique name that used to identify the
* owner
* @member {string} [owner.type] The owner type. Can either be 'org' or 'user'.
* Possible values include: 'org', 'user'
*/
export interface TesterAppWithReleaseResponse {
id?: string;
release?: TesterAppRelease;
name?: string;
displayName?: string;
description?: string;
iconUrl?: string;
os?: string;
owner?: TesterAppWithReleaseResponseOwner;
}
/**
* @class
* Initializes a new instance of the SendNotificationRequestEmailContents class.
* @constructor
* latest email content
*
* @member {string} [releaseId]
* @member {string} [appName]
* @member {string} [platform]
* @member {string} [build]
* @member {string} [version]
* @member {string} installLink
*/
export interface SendNotificationRequestEmailContents {
releaseId?: string;
appName?: string;
platform?: string;
build?: string;
version?: string;
installLink: string;
}
/**
* @class
* Initializes a new instance of the SendNotificationRequest class.
* @constructor
* @member {array} userIds user list to send email notification
* @member {object} emailContents latest email content
* @member {string} [emailContents.releaseId]
* @member {string} [emailContents.appName]
* @member {string} [emailContents.platform]
* @member {string} [emailContents.build]
* @member {string} [emailContents.version]
* @member {string} [emailContents.installLink]
*/
export interface SendNotificationRequest {
userIds: string[];
emailContents: SendNotificationRequestEmailContents;
}
/**
* @class
* Initializes a new instance of the UserInteractionMetricsResponse class.
* @constructor
* Response for retrieving user interaction metrics.
*
* @member {boolean} [lessThan100Apps] check if the user has less than 100
* apps.
* @member {boolean} [hasMoreThan1Release] check if the user's whole apps has
* more than 1 releases.
*/
export interface UserInteractionMetricsResponse {
lessThan100Apps?: boolean;
hasMoreThan1Release?: boolean;
}
/**
* @class
* Initializes a new instance of the ReleaseUpdateResponseDestinationsItem class.
* @constructor
* @member {string} [id]
* @member {string} [name]
*/
export interface ReleaseUpdateResponseDestinationsItem {
id?: string;
name?: string;
}
/**
* @class
* Initializes a new instance of the ReleaseUpdateResponse class.
* @constructor
* Response for updating a release
*
* @member {boolean} [mandatoryUpdate]
* @member {string} [releaseNotes]
* @member {array} [destinations]
*/
export interface ReleaseUpdateResponse {
mandatoryUpdate?: boolean;
releaseNotes?: string;
destinations?: ReleaseUpdateResponseDestinationsItem[];
}
/**
* @class
* Initializes a new instance of the PrivateReleaseDetailsResponse class.
* @constructor
* Details of an uploaded release
*
* @member {number} [id] ID identifying this unique release.
* @member {string} [status] OBSOLETE. Will be removed in next version. The
* availability concept is now replaced with distributed. Any 'available'
* release will be associated with the default distribution group of an
* app.
* The release state.
* available: The uploaded release has been distributed.
* unavailable: The uploaded release is not visible to the user.
* . Possible values include: 'available', 'unavailable'
* @member {string} [appName] The app's name (extracted from the uploaded
* release).
* @member {string} [appDisplayName] The app's display name.
* @member {string} [version] The release's version.
* For iOS: CFBundleVersion from info.plist.
* For Android: android:versionCode from AppManifest.xml.
* @member {string} [shortVersion] The release's short version.
* For iOS: CFBundleShortVersionString from info.plist.
* For Android: android:versionName from AppManifest.xml.
* @member {string} [releaseNotes] The release's release notes.
* @member {string} [provisioningProfileName] The release's provisioning
* profile name.
* @member {string} [provisioningProfileType] The type of the provisioning
* profile for the requested app version. Possible values include: 'adhoc',
* 'enterprise', 'other'
* @member {boolean} [isProvisioningProfileSyncing] A flag that determines
* whether the release's provisioning profile is still extracted or not.
* @member {number} [size] The release's size in bytes.
* @member {string} [minOs] The release's minimum required operating system.
* @member {string} [deviceFamily] The release's device family.
* @member {string} [androidMinApiLevel] The release's minimum required Android
* API level.
* @member {string} [bundleIdentifier] The identifier of the apps bundle.
* @member {string} [fingerprint] MD5 checksum of the release binary.
* @member {string} [uploadedAt] UTC time in ISO 8601 format of the uploaded
* time.
* @member {string} [downloadUrl] The URL that hosts the binary for this
* release.
* @member {string} [appIconUrl] A URL to the app's icon.
* @member {string} [installUrl] The href required to install a release on a
* mobile device. On iOS devices will be prefixed with
* `itms-services://?action=download-manifest&url=`
* @member {string} [distributionGroupId] the destination where release is
* distributed
* @member {string} [publishingStatus] the publishing status of distributed
* release
* @member {string} [destinationType] The destination type.
* group: The release distributed to internal groups and
* distribution_groups details will be returned.
* store: The release distributed to external stores and
* distribution_stores details will be returned.
* . Possible values include: 'group', 'store'
*/
export interface PrivateReleaseDetailsResponse {
id?: number;
status?: string;
appName?: string;
appDisplayName?: string;
version?: string;
shortVersion?: string;
releaseNotes?: string;
provisioningProfileName?: string;
provisioningProfileType?: string;
isProvisioningProfileSyncing?: boolean;
size?: number;
minOs?: string;
deviceFamily?: string;
androidMinApiLevel?: string;
bundleIdentifier?: string;
fingerprint?: string;
uploadedAt?: string;
downloadUrl?: string;
appIconUrl?: string;
installUrl?: string;
distributionGroupId?: string;
publishingStatus?: string;
destinationType?: string;
}
/**
* @class
* Initializes a new instance of the PrivateBasicReleaseDetailsResponse class.
* @constructor
* Basic information on a release for private apis
*
* @member {number} [id] ID identifying this unique release.
* @member {string} [version] The release's version.
* For iOS: CFBundleVersion from info.plist.
* For Android: android:versionCode from AppManifest.xml.
* @member {string} [shortVersion] The release's short version.
* For iOS: CFBundleShortVersionString from info.plist.
* For Android: android:versionName from AppManifest.xml.
* @member {string} [uploadedAt] UTC time in ISO 8601 format of the uploaded
* time.
* @member {string} [distributionGroupId] the destination id of release where
* it is distributed.
* @member {string} [destinationType] The destination type.
* group: The release distributed to internal groups and
* distribution_groups details will be returned.
* store: The release distributed to external stores and
* distribution_stores details will be returned.
* . Possible values include: 'group', 'store'
* @member {boolean} [isLatest] Indicates if this is the latest release in the
* group.
*/
export interface PrivateBasicReleaseDetailsResponse {
id?: number;
version?: string;
shortVersion?: string;
uploadedAt?: string;
distributionGroupId?: string;
destinationType?: string;
isLatest?: boolean;
}
/**
* @class
* Initializes a new instance of the DestinationId class.
* @constructor
* A unique identifier for a destination. A destination can be identified by an
* ID (guid) or by a name. DestinationId encapsulates both options. A
* destination can be either a distribution group or a store.
*
* @member {string} [name] Name of a distribution group / distribution store.
* The release will be associated with this distribution group or store. If the
* distribution group / store doesn't exist a 400 is returned. If both
* distribution group / store name and id are passed, the id is taking
* precedence.
* @member {string} [id] Id of a distribution group / store. The release will
* be associated with this distribution group / store. If the distribution
* group / store doesn't exist a 400 is returned. If both distribution group /
* store name and id are passed, the id is taking precedence.
*/
export interface DestinationId {
name?: string;
id?: string;
}
/**
* @class
* Initializes a new instance of the DistributionGroup class.
* @constructor
* @member {boolean} [isLatest] Is the containing release the latest one in
* this distribution group.
*/
export interface DistributionGroup extends DestinationId {
isLatest?: boolean;
}
/**
* @class
* Initializes a new instance of the DistributionStore class.
* @constructor
* @member {boolean} [isLatest] Is the containing release the latest one in
* this distribution store.
* @member {string} [type] type of the distribution store currently stores type
* can be intune, googleplay or windows. Possible values include: 'intune',
* 'googleplay', 'windows'
* @member {string} [publishingStatus] publishing status of the release in the
* store.
*/
export interface DistributionStore extends DestinationId {
isLatest?: boolean;
type?: string;
publishingStatus?: string;
}
/**
* @class
* Initializes a new instance of the Destination class.
* @constructor
* @member {boolean} [isLatest] Is the containing release the latest one in
* this distribution group.
* @member {string} [type] type of the distribution store currently stores type
* can be intune, googleplay or windows. Possible values include: 'intune',
* 'googleplay', 'windows'
* @member {string} [publishingStatus] publishing status of the release in the
* store.
* @member {string} [destinationType] Destination can be either store or group.
* Possible values include: 'group', 'store'
*/
export interface Destination {
isLatest?: boolean;
type?: string;
publishingStatus?: string;
destinationType?: string;
}
/**
* @class
* Initializes a new instance of the BasicReleaseDetailsResponse class.
* @constructor
* Basic information on a release
*
* @member {number} [id] ID identifying this unique release.
* @member {string} [version] The release's version.
* For iOS: CFBundleVersion from info.plist.
* For Android: android:versionCode from AppManifest.xml.
* @member {string} [shortVersion] The release's short version.
* For iOS: CFBundleShortVersionString from info.plist.
* For Android: android:versionName from AppManifest.xml.
* @member {string} [uploadedAt] UTC time in ISO 8601 format of the uploaded
* time.
* @member {string} [destinationType] OBSOLETE. Will be removed in next
* version. The destination type.
* group: The release distributed to internal groups and
* distribution_groups details will be returned.
* store: The release distributed to external stores and
* distribution_stores details will be returned.
* . Possible values include: 'group', 'store'
* @member {array} [distributionGroups] OBSOLETE. Will be removed in next
* version. A list of distribution groups that are associated with this
* release.
* @member {array} [distributionStores] OBSOLETE. Will be removed in next
* version. A list of distribution stores that are associated with this
* release.
* @member {array} [destinations] A list of distribution groups or stores.
*/
export interface BasicReleaseDetailsResponse {
id?: number;
version?: string;
shortVersion?: string;
uploadedAt?: string;
destinationType?: string;
distributionGroups?: DistributionGroup[];
distributionStores?: DistributionStore[];
destinations?: Destination[];
}
/**
* @class
* Initializes a new instance of the DistributionGroupWithoutIsLatest class.
* @constructor
* @member {string} [id] ID identifying a unique distribution group.
* @member {string} [name] A name identifying a unique distribution group.
*/
export interface DistributionGroupWithoutIsLatest {
id?: string;
name?: string;
}
/**
* @class
* Initializes a new instance of the DistributionStoreWithoutIsLatest class.
* @constructor
* @member {string} [id] ID identifying a unique distribution store.
* @member {string} [name] A name identifying a unique distribution store.
* @member {string} [type] type of the distribution store currently stores type
* can be intune, googleplay or windows. Possible values include: 'intune',
* 'googleplay', 'windows'
* @member {string} [publishingStatus] publishing status of the release in the
* store.
*/
export interface DistributionStoreWithoutIsLatest {
id?: string;
name?: string;
type?: string;
publishingStatus?: string;
}
/**
* @class
* Initializes a new instance of the ReleaseDetailsResponse class.
* @constructor
* Details of an uploaded release
*
* @member {number} [id] ID identifying this unique release.
* @member {string} [appName] The app's name (extracted from the uploaded
* release).
* @member {string} [appDisplayName] The app's display name.
* @member {string} [version] The release's version.
* For iOS: CFBundleVersion from info.plist.
* For Android: android:versionCode from AppManifest.xml.
* @member {string} [shortVersion] The release's short version.
* For iOS: CFBundleShortVersionString from info.plist.
* For Android: android:versionName from AppManifest.xml.
* @member {string} [releaseNotes] The release's release notes.
* @member {string} [provisioningProfileName] The release's provisioning
* profile name.
* @member {string} [provisioningProfileType] The type of the provisioning
* profile for the requested app version. Possible values include: 'adhoc',
* 'enterprise', 'other'
* @member {boolean} [isProvisioningProfileSyncing] A flag that determines
* whether the release's provisioning profile is still extracted or not.
* @member {number} [size] The release's size in bytes.
* @member {string} [minOs] The release's minimum required operating system.
* @member {string} [deviceFamily] The release's device family.
* @member {string} [androidMinApiLevel] The release's minimum required Android
* API level.
* @member {string} [bundleIdentifier] The identifier of the apps bundle.
* @member {string} [fingerprint] MD5 checksum of the release binary.
* @member {string} [uploadedAt] UTC time in ISO 8601 format of the uploaded
* time.
* @member {string} [downloadUrl] The URL that hosts the binary for this
* release.
* @member {string} [appIconUrl] A URL to the app's icon.
* @member {string} [installUrl] The href required to install a release on a
* mobile device. On iOS devices will be prefixed with
* `itms-services://?action=download-manifest&url=`
* @member {string} [destinationType] OBSOLETE. Will be removed in next
* version. The destination type.
* group: The release distributed to internal groups and
* distribution_groups details will be returned.
* store: The release distributed to external stores and
* distribution_stores details will be returned.
* . Possible values include: 'group', 'store'
* @member {array} [distributionGroups] OBSOLETE. Will be removed in next
* version. A list of distribution groups that are associated with this
* release.
* @member {array} [distributionStores] OBSOLETE. Will be removed in next
* version. A list of distribution stores that are associated with this
* release.
* @member {array} [destinations] A list of distribution groups or stores.
* @member {boolean} [isUdidProvisioned] In calls that allow passing `udid` in
* the query string, this value will hold the provisioning status of that UDID
* in this release. Will be ignored for non-iOS platforms.
*/
export interface ReleaseDetailsResponse {
id?: number;
appName?: string;
appDisplayName?: string;
version?: string;
shortVersion?: string;
releaseNotes?: string;
provisioningProfileName?: string;
provisioningProfileType?: string;
isProvisioningProfileSyncing?: boolean;
size?: number;
minOs?: string;
deviceFamily?: string;
androidMinApiLevel?: string;
bundleIdentifier?: string;
fingerprint?: string;
uploadedAt?: string;
downloadUrl?: string;
appIconUrl?: string;
installUrl?: string;
destinationType?: string;
distributionGroups?: DistributionGroupWithoutIsLatest[];
distributionStores?: DistributionStoreWithoutIsLatest[];
destinations?: Destination[];
isUdidProvisioned?: boolean;
}
/**
* @class
* Initializes a new instance of the ReleaseUploadBeginResponse class.
* @constructor
* A response containing information pertaining to starting a release upload
* process
*
* @member {string} uploadId The ID for the current upload
* @member {string} uploadUrl The URL where the client needs to upload the
* release to
* @member {string} [assetId] In preview, the ID for the current upload
* @member {string} [assetDomain] In preview, the URL for the current upload
* @member {string} [assetToken] In preview, the token for the current upload
*/
export interface ReleaseUploadBeginResponse {
uploadId: string;
uploadUrl: string;
assetId?: string;
assetDomain?: string;
assetToken?: string;
}
/**
* @class
* Initializes a new instance of the ReleaseUploadEndRequest class.
* @constructor
* A request containing information pertaining to complete a release upload
* process
*
* @member {string} status The desired operation for the upload. Possible
* values include: 'committed', 'aborted'
*/
export interface ReleaseUploadEndRequest {
status: string;
}
/**
* @class
* Initializes a new instance of the ReleaseUploadEndResponse class.
* @constructor
* A response containing information about the uploaded release.
*
* @member {number} [releaseId] The ID of the release.
* @member {string} [releaseUrl] A URL to the new release. If upload was
* aborted will be null.
*/
export interface ReleaseUploadEndResponse {
releaseId?: number;
releaseUrl?: string;
}
/**
* @class
* Initializes a new instance of the ArchIdentifier class.
* @constructor
* An object containing a UUID for an architecture for an iOS app.
*
* @member {string} architecture The architecture that the UUID belongs to,
* i.e. armv7 or arm64.
* @member {uuid} uuid The unique identifier.
*/
export interface ArchIdentifier {
architecture: string;
uuid: string;
}
/**
* @class
* Initializes a new instance of the ProvisioningProfile class.
* @constructor
* An object containing information about an iOS provisioning profile.
*
* @member {string} name The name of the provisioning profile.
* @member {string} applicationIdentifier The application identifier.
* @member {string} teamIdentifier The team identifier.
* @member {string} profileType Possible values include: 'adhoc', 'enterprise',
* 'other'
* @member {date} expiredAt The profile's expiration date in RFC 3339 format,
* i.e. 2017-07-21T17:32:28Z
* @member {array} [udids]
*/
export interface ProvisioningProfile {
name: string;
applicationIdentifier: string;
teamIdentifier: string;
profileType: string;
expiredAt: Date;
udids?: string[];
}
/**
* @class
* Initializes a new instance of the ReleaseCreateRequest class.
* @constructor
* A request containing information for creating a release.
*
* @member {string} [uploadedBy] The user that uploaded the build.
* @member {string} name The display name of the app, extracted from the build.
* @member {string} version The release's version.
* For iOS: CFBundleVersion from info.plist.
* For Android: android:versionCode from AppManifest.xml.
* @member {string} buildVersion The release's short version.
* For iOS: CFBundleShortVersionString from info.plist.
* For Android: android:versionName from AppManifest.xml.
* @member {string} uniqueIdentifier The identifier of the app's bundle.
* @member {string} minimumOsVersion The release's minimum required operating
* system.
* @member {string} [deviceFamily] The release's device family.
* @member {array} [languages] The languages supported by the release.
* @member {string} fingerprint MD5 checksum of the release binary.
* @member {number} size The release's size in bytes.
* @member {string} packageUrl The URL to the release's binary.
* @member {string} [iconUrl] The URL to the release's icon.
* @member {array} [ipaUuids] A list of UUIDs for architectures for an iOS app.
* @member {object} [provision]
* @member {string} [provision.name] The name of the provisioning profile.
* @member {string} [provision.applicationIdentifier] The application
* identifier.
* @member {string} [provision.teamIdentifier] The team identifier.
* @member {string} [provision.profileType] Possible values include: 'adhoc',
* 'enterprise', 'other'
* @member {date} [provision.expiredAt] The profile's expiration date in RFC
* 3339 format, i.e. 2017-07-21T17:32:28Z
* @member {array} [provision.udids]
* @member {array} [appexProvisioningProfiles] iOS app extension provisioning
* profiles included in the release.
*/
export interface ReleaseCreateRequest {
uploadedBy?: string;
name: string;
version: string;
buildVersion: string;
uniqueIdentifier: string;
minimumOsVersion: string;
deviceFamily?: string;
languages?: string[];
fingerprint: string;
size: number;
packageUrl: string;
iconUrl?: string;
ipaUuids?: ArchIdentifier[];
provision?: ProvisioningProfile;
appexProvisioningProfiles?: ProvisioningProfile[];
}
/**
* @class
* Initializes a new instance of the ReleaseCreateResponse class.
* @constructor
* The response from the release creation API that just contains the created
* release's distinct id.
*
* @member {number} releaseDistinctId The distinct ID of the release.
*/
export interface ReleaseCreateResponse {
releaseDistinctId: number;
}
/**
* @class
* Initializes a new instance of the ReleaseUpdateRequest class.
* @constructor
* A request containing information for updating a release.
*
* @member {string} [distributionGroupName] OBSOLETE. Will be removed in future
* releases - use destinations instead. Name of a distribution group. The
* release will be associated with this distribution group. If the distribution
* group doesn't exist a 400 is returned. If both distribution group name and
* id are passed, the id is taking precedence.
* @member {string} [distributionGroupId] OBSOLETE. Will be removed in future
* releases - use destinations instead. Id of a distribution group. The release
* will be associated with this distribution group. If the distribution group
* doesn't exist a 400 is returned. If both distribution group name and id are
* passed, the id is taking precedence.
* @member {string} [destinationName] OBSOLETE. Will be removed in future
* releases - use destinations instead. Name of a destination. The release will
* be associated with this destination. If the destination doesn't exist a 400
* is returned. If both distribution group name and id are passed, the id is
* taking precedence.
* @member {string} [destinationId] OBSOLETE. Will be removed in future
* releases - use destinations instead. Id of a destination. The release will
* be associated with this destination. If the destination doesn't exist a 400
* is returned. If both destination name and id are passed, the id is taking
* precedence.
* @member {string} [destinationType] Not used anymore.
* @member {string} [releaseNotes] Release notes for this release.
* @member {boolean} [mandatoryUpdate] A boolean which determines whether this
* version should be a mandatory update or not.
* @member {array} [destinations] Distribute this release under the following
* list of destinations (store groups or distribution groups).
*/
export interface ReleaseUpdateRequest {
distributionGroupName?: string;
distributionGroupId?: string;
destinationName?: string;
destinationId?: string;
destinationType?: string;
releaseNotes?: string;
mandatoryUpdate?: boolean;
destinations?: DestinationId[];
}
/**
* @class
* Initializes a new instance of the PrivateReleaseUpdateRequest class.
* @constructor
* A request containing information for updating a release.
*
* @member {string} [publishingStatus] The store publishing status. Possible
* values include: 'failed', 'processing', 'submitted'
*/
export interface PrivateReleaseUpdateRequest {
publishingStatus?: string;
}
/**
* @class
* Initializes a new instance of the ProvisioningProfileResponse class.
* @constructor
* A response containing information about an iOS provisioning profile.
*
* @member {string} provisioningProfileType Possible values include: 'adhoc',
* 'enterprise', 'other'
* @member {array} [udids]
* @member {string} [provisioningProfileName] The name of the provisioning
* profile.
* @member {string} [teamIdentifier] The team identifier.
* @member {string} [provisioningBundleId] The bundle identifier associated
* with the profile.
* @member {array} [appexProfiles] Array of provisioning profiles for any app
* extensions
*/
export interface ProvisioningProfileResponse {
provisioningProfileType: string;
udids?: string[];
provisioningProfileName?: string;
teamIdentifier?: string;
provisioningBundleId?: string;
appexProfiles?: ProvisioningProfileResponse[];
}
/**
* @class
* Initializes a new instance of the DestinationError class.
* @constructor
* @member {string} [code] Error Codes:
* invalid_store_secrets: While distributing to store, secrets provided
* for store are not valid.
* store_release_bad_request: Proper package release details for the
* store is not provided.
* store_release_unauthorized: User is not authorized to publish to
* store due to invalid developer credentials.
* store_release_forbidden: Publish to store is forbidden due to
* conflicts/errors in the release version and already existing version in the
* store.
* store_release_not_found: App with the given package name is not found
* in the store.
* store_release_not_available: The release is not available.
* internal_server_error: Failed to distribute to a destination due to
* an internal server error.
* @member {string} [message]
* @member {string} [id]
* @member {string} [name]
*/
export interface DestinationError {
code?: string;
message?: string;
id?: string;
name?: string;
}
/**
* @class
* Initializes a new instance of the ReleaseUpdateError class.
* @constructor
* @member {string} [releaseNotes]
* @member {boolean} [mandatoryUpdate]
* @member {array} [destinations]
*/
export interface ReleaseUpdateError extends ErrorDetails {
releaseNotes?: string;
mandatoryUpdate?: boolean;
destinations?: DestinationError[];
}
/**
* @class
* Initializes a new instance of the AutoProvisioningConfigRequest class.
* @constructor
* A request containing information for creating a Auto Provisioning Config.
*
* @member {string} appleDeveloperAccountKey A key to a secret in
* customer-credential-store. apple_developer_account refers to the user's
* developer account that is used to log into https://developer.apple.com.
* Normally the user's email.
* @member {string} appleDistributionCertificateKey A key to a secret in
* customer-credential-store. distribution_certificate refers to the cusomer's
* certificate (that holds the private key) that will be used to sign the app.
* @member {boolean} allowAutoProvisioning When *true* enables auto
* provisioning
*/
export interface AutoProvisioningConfigRequest {
appleDeveloperAccountKey: string;
appleDistributionCertificateKey: string;
allowAutoProvisioning: boolean;
}
/**
* @class
* Initializes a new instance of the AutoProvisioningConfigResponse class.
* @constructor
* A response from API containing information for a Auto Provisioning Config.
*
* @member {number} [id] The identifier of the config.
* @member {string} [appId] The identifier of the App.
* @member {string} [destinationId] The identifier of the destination.
* @member {string} [appleDeveloperAccountKey] A key to a secret in
* customer-credential-store. apple_developer_account refers to the user's
* developer account that is used to log into https://developer.apple.com.
* Normally the user's email.
* @member {string} [appleDistributionCertificateKey] A key to a secret in
* customer-credential-store. distribution_certificate refers to the cusomer's
* certificate (that holds the private key) that will be used to sign the app.
* @member {boolean} [allowAutoProvisioning] When *true* enables auto
* provisioning
*/
export interface AutoProvisioningConfigResponse {
id?: number;
appId?: string;
destinationId?: string;
appleDeveloperAccountKey?: string;
appleDistributionCertificateKey?: string;
allowAutoProvisioning?: boolean;
}
/**
* @class
* Initializes a new instance of the AnalyticsReleasesParameter class.
* @constructor
* @member {number} releaseId release id
* @member {string} distributionGroupId distribution group id
* @member {uuid} userId user id
*/
export interface AnalyticsReleasesParameter {
releaseId: number;
distributionGroupId: string;
userId: string;
}
/**
* @class
* Initializes a new instance of the AnalyticsReleasesResponse class.
* @constructor
* @member {array} [releases]
*/
export interface AnalyticsReleasesResponse {
releases?: AnalyticsReleasesParameter[];
}
/**
* @class
* Initializes a new instance of the DeviceConfigurationResponse class.
* @constructor
* A response containing the fully encoded binary blob for a mobileconfig
*
* @member {string} dataUrl A data URL containing a signed mobileconfig profile
*/
export interface DeviceConfigurationResponse {
dataUrl: string;
}
/**
* @class
* Initializes a new instance of the DeviceInfoRequest class.
* @constructor
* The information for a single iOS device
*
* @member {string} udid The Unique Device IDentifier of the device
* @member {string} model The model identifier of the device, in the format
* iDeviceM,N
* @member {string} [osBuild] The build number of the last known OS version
* running on the device
* @member {string} [osVersion] The last known OS version running on the device
* @member {string} [serial] The device's serial number. Always empty or
* undefined at present.
* @member {string} [imei] The device's International Mobile Equipment Identity
* number. Always empty or undefined at present.
* @member {string} [ownerId] The user ID of the device owner.
*/
export interface DeviceInfoRequest {
udid: string;
model: string;
osBuild?: string;
osVersion?: string;
serial?: string;
imei?: string;
ownerId?: string;
}
/**
* @class
* Initializes a new instance of the DeviceInfoResponse class.
* @constructor
* The information for a single iOS device
*
* @member {string} udid The Unique Device IDentifier of the device
* @member {string} model The model identifier of the device, in the format
* iDeviceM,N
* @member {string} deviceName The device description, in the format "iPhone 7
* Plus (A1784)"
* @member {string} [fullDeviceName] A combination of the device model name and
* the owner name.
* @member {string} osBuild The last known OS version running on the device
* @member {string} osVersion The last known OS version running on the device
* @member {string} [serial] The device's serial number. Always empty or
* undefined at present.
* @member {string} [imei] The device's International Mobile Equipment Identity
* number. Always empty or undefined at present.
* @member {string} [ownerId] The user ID of the device owner.
* @member {string} status The provisioning status of the device.
* @member {string} [registeredAt] Timestamp of when the device was registered
* in ISO format.
*/
export interface DeviceInfoResponse {
udid: string;
model: string;
deviceName: string;
fullDeviceName?: string;
osBuild: string;
osVersion: string;
serial?: string;
imei?: string;
ownerId?: string;
status: string;
registeredAt?: string;
}
/**
* @class
* Initializes a new instance of the ResignStatus class.
* @constructor
* The status of the resign operation.
*
* @member {string} status The status of the resign
* @member {string} [errorCode] Error code for any error that occured during
* the resigning operation.
* @member {string} [errorMessage] Error message for any error that occured
* during the resigning operation.
*/
export interface ResignStatus {
status: string;
errorCode?: string;
errorMessage?: string;
}
/**
* @class
* Initializes a new instance of the PublishDevicesRequest class.
* @constructor
* The publising information.
*
* @member {string} [username] The username for the Apple Developer account to
* publish the devices to.
* @member {string} [password] The password for the Apple Developer account to
* publish the devices to.
* @member {string} [accountServiceConnectionId] The service_connection_id of
* the stored Apple credentials instead of username, password.
* @member {boolean} [publishAllDevices] When set to true, all unprovisioned
* devices will be published to the Apple Developer account. When false, only
* the provided devices will be published to the Apple Developer account.
* @member {array} [devices] Array of device UDID's to be published to the
* Apple Developer account.
*/
export interface PublishDevicesRequest {
username?: string;
password?: string;
accountServiceConnectionId?: string;
publishAllDevices?: boolean;
devices?: string[];
}
/**
* @class
* Initializes a new instance of the PublishDevicesResponse class.
* @constructor
* The information for a single iOS device
*
* @member {string} [profileFileName] The file name for the provisioning
* profile.
* @member {string} profilesZipBase64 The updated provisioning profiles zip
* base64 encoded.
*/
export interface PublishDevicesResponse {
profileFileName?: string;
profilesZipBase64: string;
}
/**
* @class
* Initializes a new instance of the AppleLoginRequest class.
* @constructor
* Apple credentials needed to log into the Apple Developer Portal
*
* @member {string} username The username for the Apple Developer account.
* @member {string} password The password for the Apple Developer account.
* @member {string} [teamIdentifier] Identifier of the team to use when logged
* in.
*/
export interface AppleLoginRequest {
username: string;
password: string;
teamIdentifier?: string;
}
/**
* @class
* Initializes a new instance of the AppleLoginResponse class.
* @constructor
* Indicates if login was successful.
*
* @member {boolean} [successful] True when login was successful.
*/
export interface AppleLoginResponse {
successful?: boolean;
}
/**
* @class
* Initializes a new instance of the ApplicationStatusRequest class.
* @constructor
* The information needed to fetch the status of an application
*
* @member {string} username The username for the Apple Developer account.
* @member {string} password The password for the Apple Developer account.
* @member {string} bundleIdentifier Bundle Identifier of application in Apple
* Itunes portal.
* @member {string} trackIdentifier Track Identifier for which the status is to
* be fetched.
* @member {string} [buildVersion] The version of build for which real time
* status is to be fetched.
* @member {string} [teamIdentifier] Identifier of the team to use when logged
* in.
* @member {string} [trainVersion] The Train version for which the status is to
* be fetched.
*/
export interface ApplicationStatusRequest {
username: string;
password: string;
bundleIdentifier: string;
trackIdentifier: string;
buildVersion?: string;
teamIdentifier?: string;
trainVersion?: string;
}
/**
* @class
* Initializes a new instance of the ApplicationStatusResponse class.
* @constructor
* The status information from Itunes portal
*
* @member {string} versionType The type of version being returned
* (production/edit/test flight).
* @member {string} [version] The version of the application
*/
export interface ApplicationStatusResponse {
versionType: string;
version?: string;
}
/**
* @class
* Initializes a new instance of the ItunesAppsRequest class.
* @constructor
* Apple credentials with username, password or service_connection_id of the
* stored credentials is needed along with team_identifier.
*
* @member {string} [username] The username for the Apple Developer account.
* @member {string} [password] The password for the Apple Developer account.
* @member {string} [serviceConnectionId] The service_connection_id of the
* stored Apple credentials instead of username, password.
* @member {string} [teamIdentifier] Identifier of the team to use when logged
* in.
*/
export interface ItunesAppsRequest {
username?: string;
password?: string;
serviceConnectionId?: string;
teamIdentifier?: string;
}
/**
* @class
* Initializes a new instance of the ItunesTeamsRequest class.
* @constructor
* Apple credentials with username, password or service_connection_id of the
* stored credentials is needed.
*
* @member {string} [username] The username for the Apple Developer account.
* @member {string} [password] The password for the Apple Developer account.
* @member {string} [serviceConnectionId] The service_connection_id of the
* stored Apple credentials instead of username, password.
*/
export interface ItunesTeamsRequest {
username?: string;
password?: string;
serviceConnectionId?: string;
}
/**
* @class
* Initializes a new instance of the ItunesTeamsResponse class.
* @constructor
* Itunes teams details .
*
* @member {string} [teamId] Itunes team id.
* @member {string} [teamName] Itunes Team Name
*/
export interface ItunesTeamsResponse {
teamId?: string;
teamName?: string;
}
/**
* @class
* Initializes a new instance of the AllItunesAppsResponse class.
* @constructor
* Itunes teams details .
*
* @member {string} [appleId] apple id for app team id.
* @member {string} [bundleId] bundle identifier of app
* @member {string} [name] App Name
* @member {string} [iconUrl] url for the app icon from app store
*/
export interface AllItunesAppsResponse {
appleId?: string;
bundleId?: string;
name?: string;
iconUrl?: string;
}
/**
* @class
* Initializes a new instance of the AppleTestFlightGroupRequest class.
* @constructor
* Apple details for fetching test flight groups from Apple Developer Portal.
* pass either apple_id or bundle_identifier to get the test flight groups. if
* both are passed than apple_id will take preference
*
* @member {string} username The username for the Apple Developer account.
* @member {string} password The password for the Apple Developer account.
* @member {string} [appleId] apple_id of the app for which test flight groups
* need to be fetched.
* @member {string} [bundleIdentifier] apple_id of the app for which test
* flight groups need to be fetched.
* @member {string} [teamIdentifier] Identifier of the team to use when logged
* in.
*/
export interface AppleTestFlightGroupRequest {
username: string;
password: string;
appleId?: string;
bundleIdentifier?: string;
teamIdentifier?: string;
}
/**
* @class
* Initializes a new instance of the AppleTestFlightGroupResponse class.
* @constructor
* test flight group details for the app.
*
* @member {string} [id] id of the group.
* @member {number} [providerId] provider id of the group.
* @member {number} [appAdamId] apple id of the group.
* @member {string} [name] name of the group.
* @member {boolean} [active] true if group is in active state.
* @member {boolean} [isInternalGroup] true if the group is an internal group.
*/
export interface AppleTestFlightGroupResponse {
id?: string;
providerId?: number;
appAdamId?: number;
name?: string;
active?: boolean;
isInternalGroup?: boolean;
}
/**
* @class
* Initializes a new instance of the AvailabilityOfDevicesRequest class.
* @constructor
* Apple credentials needed to log into the Apple Developer Portal and access
* provisioning profiles
*
* @member {string} [username] The username for the Apple Developer account.
* @member {string} [password] The password for the Apple Developer account.
* @member {string} [serviceConnectionId] The service_connection_id of the
* stored Apple credentials instad of username, password.
*/
export interface AvailabilityOfDevicesRequest {
username?: string;
password?: string;
serviceConnectionId?: string;
}
/**
* @class
* Initializes a new instance of the DeviceAvailability class.
* @constructor
* ...
*
* @member {number} registered
* @member {number} available
* @member {number} maximum
*/
export interface DeviceAvailability {
registered: number;
available: number;
maximum: number;
}
/**
* @class
* Initializes a new instance of the AvailabilityOfDevicesResponse class.
* @constructor
* The current device availability (registered, available and maxmimum) for
* iPhones, iPads, iPods and Watches from Apple Developer Portal
*
* @member {object} iphones
* @member {number} [iphones.registered]
* @member {number} [iphones.available]
* @member {number} [iphones.maximum]
* @member {object} ipads
* @member {number} [ipads.registered]
* @member {number} [ipads.available]
* @member {number} [ipads.maximum]
* @member {object} ipods
* @member {number} [ipods.registered]
* @member {number} [ipods.available]
* @member {number} [ipods.maximum]
* @member {object} watches
* @member {number} [watches.registered]
* @member {number} [watches.available]
* @member {number} [watches.maximum]
*/
export interface AvailabilityOfDevicesResponse {
iphones: DeviceAvailability;
ipads: DeviceAvailability;
ipods: DeviceAvailability;
watches: DeviceAvailability;
}
/**
* @class
* Initializes a new instance of the UpdateDevicesRequestDestinationsItem class.
* @constructor
* @member {string} [name]
*/
export interface UpdateDevicesRequestDestinationsItem {
name?: string;
}
/**
* @class
* Initializes a new instance of the UpdateDevicesRequest class.
* @constructor
* Information required to publish devices to the Apple Developer account and
* resign the application.
*
* @member {number} [releaseId] When provided, will update the provided release
* with the new set of devices. By default the latest release of the
* distribution group is used when this property is omitted.
* @member {string} [username] The username for the Apple Developer account to
* publish the devices to.
* @member {string} [password] The password for the Apple Developer account to
* publish the devices to.
* @member {string} [accountServiceConnectionId] The service_connection_id of
* the stored Apple credentials instead of username, password.
* @member {string} [p12Base64] The certificate to use for resigning the
* application with the updated provisioning profiles.
* @member {string} [p12ServiceConnectionId] The service_connection_id of the
* stored Apple certificate instead of p12_base64 value.
* @member {string} [p12Password] The password certificate if one is needed.
* @member {boolean} [publishAllDevices] When set to true, all unprovisioned
* devices will be published to the Apple Developer account. When false, only
* the provided devices will be published to the Apple Developer account.
* @member {array} [devices] Array of device UDID's to be published to the
* Apple Developer account.
* @member {array} [destinations] Array of distribution groups that the devices
* should be provisioned from.
*/
export interface UpdateDevicesRequest {
releaseId?: number;
username?: string;
password?: string;
accountServiceConnectionId?: string;
p12Base64?: string;
p12ServiceConnectionId?: string;
p12Password?: string;
publishAllDevices?: boolean;
devices?: string[];
destinations?: UpdateDevicesRequestDestinationsItem[];
}
/**
* @class
* Initializes a new instance of the UpdateDevicesResponse class.
* @constructor
* URL that can be used to check the status of the update devices operation and
* the updated profiles.
*
* @member {string} profilesZipBase64 The updated provisioning profiles base64
* encoded.
* @member {string} statusUrl URL that can be used to check the status of the
* update devices operation.
*/
export interface UpdateDevicesResponse {
profilesZipBase64: string;
statusUrl: string;
}
/**
* @class
* Initializes a new instance of the UpdateResignStatusRequest class.
* @constructor
* Updates the status of the resign request
*
* @member {string} status The updated status for the resigning request.
* @member {string} [errorCode] Error code if an error occured in the resigning
* operation.
* @member {string} [errorMessage] Error message if an error occured in the
* resigning operation.
*/
export interface UpdateResignStatusRequest {
status: string;
errorCode?: string;
errorMessage?: string;
}
/**
* @class
* Initializes a new instance of the UpdateResignStatusResponse class.
* @constructor
* URL that can be used to check the status of the update devices operation and
* the updated profiles.
*
* @member {string} status The status.
*/
export interface UpdateResignStatusResponse {
status: string;
}
/**
* @class
* Initializes a new instance of the DeviceRegistrationUrl class.
* @constructor
* The url that can be navigated to in order to start the device registration
* process.
*
* @member {string} registrationUrl The url that can be navigated to in order
* to start the device registration process.
*/
export interface DeviceRegistrationUrl {
registrationUrl: string;
}
/**
* @class
* Initializes a new instance of the StoresReleaseDetails class.
* @constructor
* Details of an uploaded release
*
* @member {number} [id] ID identifying this unique release.
* @member {string} [status] OBSOLETE. Will be removed in next version. The
* availability concept is now replaced with distributed. Any 'available'
* release will be associated with the default distribution group of an
* app.
* The release state.
* available: The uploaded release has been distributed.
* unavailable: The uploaded release is not visible to the user.
* . Possible values include: 'available', 'unavailable'
* @member {string} [appName] The app's name (extracted from the uploaded
* release).
* @member {string} [appDisplayName] The app's display name.
* @member {string} [version] The release's version.
* For iOS: CFBundleVersion from info.plist.
* For Android: android:versionCode from AppManifest.xml.
* @member {string} [shortVersion] The release's short version.
* For iOS: CFBundleShortVersionString from info.plist.
* For Android: android:versionName from AppManifest.xml.
* @member {string} [releaseNotes] The release's release notes.
* @member {number} [size] The release's size in bytes.
* @member {string} [minOs] The release's minimum required operating system.
* @member {string} [androidMinApiLevel] The release's minimum required Android
* API level.
* @member {string} [bundleIdentifier] The identifier of the apps bundle.
* @member {string} [fingerprint] MD5 checksum of the release binary.
* @member {string} [uploadedAt] UTC time in ISO 8601 format of the uploaded
* time.
* @member {string} [downloadUrl] The URL that hosts the binary for this
* release.
* @member {string} [installUrl] The href required to install a release on a
* mobile device. On iOS devices will be prefixed with
* `itms-services://?action=download-manifest&url=`. Possible values include:
* 'group', 'store'
* @member {object} [distributionStores] a list of distribution stores that are
* associated with this release.
*/
export interface StoresReleaseDetails {
id?: number;
status?: string;
appName?: string;
appDisplayName?: string;
version?: string;
shortVersion?: string;
releaseNotes?: string;
size?: number;
minOs?: string;
androidMinApiLevel?: string;
bundleIdentifier?: string;
fingerprint?: string;
uploadedAt?: string;
downloadUrl?: string;
installUrl?: string;
distributionStores?: any;
}
/**
* @class
* Initializes a new instance of the IntuneSecretDetails class.
* @constructor
* @member {string} [idToken] the id token of user
* @member {string} [refreshToken] the refresh token for user
* @member {string} [refreshTokenExpiry] the expiry of refresh token
*/
export interface IntuneSecretDetails {
idToken?: string;
refreshToken?: string;
refreshTokenExpiry?: string;
}
/**
* @class
* Initializes a new instance of the IntuneTargetAudience class.
* @constructor
* @member {string} [name] display name for the target audience/group
*/
export interface IntuneTargetAudience {
name?: string;
}
/**
* @class
* Initializes a new instance of the IntuneAppCategory class.
* @constructor
* @member {string} [name] display name for the app category
*/
export interface IntuneAppCategory {
name?: string;
}
/**
* @class
* Initializes a new instance of the IntuneStoreRequest class.
* @constructor
* @member {object} [secretJson]
* @member {string} [secretJson.idToken] the id token of user
* @member {string} [secretJson.refreshToken] the refresh token for user
* @member {string} [secretJson.refreshTokenExpiry] the expiry of refresh token
* @member {object} [targetAudience]
* @member {string} [targetAudience.name] display name for the target
* audience/group
* @member {object} [appCategory]
* @member {string} [appCategory.name] display name for the app category
* @member {string} [tenantId] tenant id of the intune store
*/
export interface IntuneStoreRequest {
secretJson?: IntuneSecretDetails;
targetAudience?: IntuneTargetAudience;
appCategory?: IntuneAppCategory;
tenantId?: string;
}
/**
* @class
* Initializes a new instance of the WindowsSecretDetails class.
* @constructor
* @member {string} [idToken] the id token of user
* @member {string} [refreshToken] the refresh token for user
* @member {string} [refreshTokenExpiry] the expiry of refresh token
*/
export interface WindowsSecretDetails {
idToken?: string;
refreshToken?: string;
refreshTokenExpiry?: string;
}
/**
* @class
* Initializes a new instance of the WindowsStoreRequest class.
* @constructor
* @member {object} [secretJson]
* @member {string} [secretJson.idToken] the id token of user
* @member {string} [secretJson.refreshToken] the refresh token for user
* @member {string} [secretJson.refreshTokenExpiry] the expiry of refresh token
* @member {string} [tenantId] tenant id the user account belongs to
*/
export interface WindowsStoreRequest {
secretJson?: WindowsSecretDetails;
tenantId?: string;
}
/**
* @class
* Initializes a new instance of the ExternalStoreRequest class.
* @constructor
* ExternalStoreRequest
*
* @member {string} [type] store Type. Possible values include: 'googleplay',
* 'intune', 'windows', 'apple'
* @member {string} [name] name of the store. In case of googleplay, windows
* and Apple store this is fixed to Production.
* @member {string} [track] track of the store. Can be production, alpha & beta
* for googleplay. Can be production, testflight-internal & testflight-external
* for Apple Store. Can be production for Windows Store. Possible values
* include: 'production', 'alpha', 'beta', 'testflight-internal',
* 'testflight-external'
* @member {object} [intuneDetails]
* @member {object} [intuneDetails.secretJson]
* @member {string} [intuneDetails.secretJson.idToken] the id token of user
* @member {string} [intuneDetails.secretJson.refreshToken] the refresh token
* for user
* @member {string} [intuneDetails.secretJson.refreshTokenExpiry] the expiry of
* refresh token
* @member {object} [intuneDetails.targetAudience]
* @member {string} [intuneDetails.targetAudience.name] display name for the
* target audience/group
* @member {object} [intuneDetails.appCategory]
* @member {string} [intuneDetails.appCategory.name] display name for the app
* category
* @member {string} [intuneDetails.tenantId] tenant id of the intune store
* @member {object} [windowsDetails]
* @member {object} [windowsDetails.secretJson]
* @member {string} [windowsDetails.secretJson.idToken] the id token of user
* @member {string} [windowsDetails.secretJson.refreshToken] the refresh token
* for user
* @member {string} [windowsDetails.secretJson.refreshTokenExpiry] the expiry
* of refresh token
* @member {string} [windowsDetails.tenantId] tenant id the user account
* belongs to
* @member {string} [serviceConnectionId] Id for the shared service connection.
* In case of Apple AppStore, this connection will be used to create and
* connect to the Apple AppStore in Mobile Center.
*/
export interface ExternalStoreRequest {
type?: string;
name?: string;
track?: string;
intuneDetails?: IntuneStoreRequest;
windowsDetails?: WindowsStoreRequest;
serviceConnectionId?: string;
}
/**
* @class
* Initializes a new instance of the AppleMappingRequest class.
* @constructor
* Apple Mapping Request Type
*
* @member {string} serviceConnectionId Id for the shared service connection.
* In case of Apple AppStore, this connection will be used to create and
* connect to the Apple AppStore in Mobile Center.
* @member {string} [appleId] ID of the apple application in apple store, takes
* precedence over bundle_identifier when both are provided
* @member {string} [bundleIdentifier] Bundle Identifier of the apple package
* @member {string} teamIdentifier ID of the Team associated with the app in
* apple store
*/
export interface AppleMappingRequest {
serviceConnectionId: string;
appleId?: string;
bundleIdentifier?: string;
teamIdentifier: string;
}
/**
* @class
* Initializes a new instance of the AppleMappingResponse class.
* @constructor
* Apple Mapping Request Type
*
* @member {string} [appId] ID of the apple application in Mobile Center
* @member {string} [serviceConnectionId] Id for the shared service connection.
* In case of Apple AppStore, this connection will be used to create and
* connect to the Apple AppStore in Mobile Center.
* @member {string} [appleId] ID of the apple application in apple store
* @member {string} [teamIdentifier] ID of the Team associated with the app in
* apple store
*/
export interface AppleMappingResponse {
appId?: string;
serviceConnectionId?: string;
appleId?: string;
teamIdentifier?: string;
}
/**
* @class
* Initializes a new instance of the AppleTestFlightGroupsResponse class.
* @constructor
* Apple Test Flight Groups Response Type
*
* @member {string} [id] id of the group.
* @member {number} [providerId] provider id of the group.
* @member {number} [appleId] apple id of the group.
* @member {string} [name] name of the group.
*/
export interface AppleTestFlightGroupsResponse {
id?: string;
providerId?: number;
appleId?: number;
name?: string;
}
/**
* @class
* Initializes a new instance of the PrivateIntuneStoreRequest class.
* @constructor
* @member {object} [targetAudience]
* @member {string} [targetAudience.name] display name for the target
* audience/group
* @member {object} [appCategory]
* @member {string} [appCategory.name] display name for the app category
* @member {string} [tenantId] tenant id of the intune store
*/
export interface PrivateIntuneStoreRequest {
targetAudience?: IntuneTargetAudience;
appCategory?: IntuneAppCategory;
tenantId?: string;
}
/**
* @class
* Initializes a new instance of the PrivateCreateStoreRequest class.
* @constructor
* create the store through private API. Used by UI.
*
* @member {string} [type] store Type. Possible values include: 'intune',
* 'windows'
* @member {string} [name] name of the store.
* @member {object} [intuneDetails]
* @member {object} [intuneDetails.targetAudience]
* @member {string} [intuneDetails.targetAudience.name] display name for the
* target audience/group
* @member {object} [intuneDetails.appCategory]
* @member {string} [intuneDetails.appCategory.name] display name for the app
* category
* @member {string} [intuneDetails.tenantId] tenant id of the intune store
*/
export interface PrivateCreateStoreRequest {
type?: string;
name?: string;
intuneDetails?: PrivateIntuneStoreRequest;
}
/**
* @class
* Initializes a new instance of the IntuneCategoryValue class.
* @constructor
* @member {string} [id] the id of the category
* @member {string} [displayName] the display name for the category
* @member {string} [lastModifiedDateTime] modified date for category
*/
export interface IntuneCategoryValue {
id?: string;
displayName?: string;
lastModifiedDateTime?: string;
}
/**
* @class
* Initializes a new instance of the IntuneCategories class.
* @constructor
* @member {string} [odatacontext] context
* @member {array} [value] categories for intune app
*/
export interface IntuneCategories {
odatacontext?: string;
value?: IntuneCategoryValue[];
}
/**
* @class
* Initializes a new instance of the UserInfo class.
* @constructor
* @member {string} [odatacontext] context
* @member {string} [id] the display name for the category
* @member {string} [displayName] the display name for the category
* @member {string} [givenName] the display name for the category
* @member {string} [jobTitle] the display name for the category
* @member {string} [mail] the display name for the category
* @member {string} [userPrincipalName] modified date for category
*/
export interface UserInfo {
odatacontext?: string;
id?: string;
displayName?: string;
givenName?: string;
jobTitle?: string;
mail?: string;
userPrincipalName?: string;
}
/**
* @class
* Initializes a new instance of the IntuneGroupValue class.
* @constructor
* @member {string} [id] the id of the Group
* @member {string} [displayName] the display name of the group
*/
export interface IntuneGroupValue {
id?: string;
displayName?: string;
}
/**
* @class
* Initializes a new instance of the IntuneGroups class.
* @constructor
* @member {string} [odatacontext] context
* @member {array} [value] categories for intune app
*/
export interface IntuneGroups {
odatacontext?: string;
value?: IntuneGroupValue[];
}
/**
* @class
* Initializes a new instance of the SecretDetails class.
* @constructor
* @member {string} [idToken] the id token of user
* @member {string} [refreshToken] the refresh token for user
* @member {string} [refreshTokenExpiry] the expiry of refresh token
*/
export interface SecretDetails {
idToken?: string;
refreshToken?: string;
refreshTokenExpiry?: string;
}
/**
* @class
* Initializes a new instance of the CreateStoreSecretRequest class.
* @constructor
* @member {object} [secretJson]
* @member {string} [secretJson.idToken] the id token of user
* @member {string} [secretJson.refreshToken] the refresh token for user
* @member {string} [secretJson.refreshTokenExpiry] the expiry of refresh token
* @member {string} [tenantId] the tenant id for user
*/
export interface CreateStoreSecretRequest {
secretJson?: SecretDetails;
tenantId?: string;
}
/**
* @class
* Initializes a new instance of the CreateStoreSecretResponse class.
* @constructor
* @member {string} [secretId] the secret id for store secret
*/
export interface CreateStoreSecretResponse {
secretId?: string;
}
/**
* @class
* Initializes a new instance of the ReleasePublishErrorResponse class.
* @constructor
* ReleasePublishErrorResponse
*
* @member {string} [message] error Details
*/
export interface ReleasePublishErrorResponse {
message?: string;
}
/**
* @class
* Initializes a new instance of the StatusData class.
* @constructor
* Status Data from store
*
* @member {string} [status] status from store
* @member {string} [storetype] store type
* @member {string} [track] track information from store
* @member {string} [version] version of the app from store
*/
export interface StatusData {
status?: string;
storetype?: string;
track?: string;
version?: string;
}
/**
* @class
* Initializes a new instance of the ReleaseRealTimeStatusResponse class.
* @constructor
* status of the app from store
*
* @member {string} [releaseId] release id
* @member {string} [appId] app id
* @member {object} [status]
* @member {string} [status.status] status from store
* @member {string} [status.storetype] store type
* @member {string} [status.track] track information from store
* @member {string} [status.version] version of the app from store
*/
export interface ReleaseRealTimeStatusResponse {
releaseId?: string;
appId?: string;
status?: StatusData;
}
/**
* @class
* Initializes a new instance of the ExternalStoreResponse class.
* @constructor
* ExternalStoreResponse
*
* @member {string} [id] Store id
* @member {string} [name] Store Name
* @member {string} [type] Store Type
* @member {string} [track] Store track. Possible values include: 'production',
* 'alpha', 'beta', 'testflight-internal', 'testflight-external'
* @member {object} [intuneDetails] store details for intune
* @member {string} [serviceConnectionId] Id for the shared service connection.
* In case of Apple AppStore, this connection will be used to create and
* connect to the Apple AppStore in Mobile Center.
*/
export interface ExternalStoreResponse {
id?: string;
name?: string;
type?: string;
track?: string;
intuneDetails?: any;
serviceConnectionId?: string;
}
/**
* @class
* Initializes a new instance of the GooglePlayTestersResponse class.
* @constructor
* GooglePlayTestersResponse
*
* @member {string} [tester] email id of Google Groups or URL of the Google+
* Communities
* @member {string} [type] type of testers i.e Google Groups or Google+
* Communities. Possible values include: 'Google Group', 'Google+ Community'
*/
export interface GooglePlayTestersResponse {
tester?: string;
type?: string;
}
/**
* @class
* Initializes a new instance of the StoreSecretResponse class.
* @constructor
* StoreSecretResponse
*
* @member {string} [id] Store id
* @member {string} [name] Store Name
* @member {string} [type] Store Type
* @member {string} [secret] Secret Json
* @member {string} [tenantId] Tenant Id for Intune
*/
export interface StoreSecretResponse {
id?: string;
name?: string;
type?: string;
secret?: string;
tenantId?: string;
}
/**
* @class
* Initializes a new instance of the IntuneTargetAudienceResponse class.
* @constructor
* @member {string} [name] display name for the target audience/group
* @member {string} [id] ID for the target audience/group.
*/
export interface IntuneTargetAudienceResponse {
name?: string;
id?: string;
}
/**
* @class
* Initializes a new instance of the IntuneAppCategoryResponse class.
* @constructor
* @member {string} [name] display name for the app category
* @member {string} [id] ID for the category.
*/
export interface IntuneAppCategoryResponse {
name?: string;
id?: string;
}
/**
* @class
* Initializes a new instance of the IntuneStoreResponse class.
* @constructor
* @member {object} [targetAudience]
* @member {string} [targetAudience.name] display name for the target
* audience/group
* @member {string} [targetAudience.id] ID for the target audience/group.
* @member {object} [appCategory]
* @member {string} [appCategory.name] display name for the app category
* @member {string} [appCategory.id] ID for the category.
*/
export interface IntuneStoreResponse {
targetAudience?: IntuneTargetAudienceResponse;
appCategory?: IntuneAppCategoryResponse;
}
/**
* @class
* Initializes a new instance of the PatchReleaseRequest class.
* @constructor
* @member {string} [status] updated status of release
* @member {string} [destPublishId] Destination Publish Id
* @member {string} [errorDetails] failure error details from store
* @member {string} [errorContextId] contextId for failed error message
*/
export interface PatchReleaseRequest {
status?: string;
destPublishId?: string;
errorDetails?: string;
errorContextId?: string;
}
/**
* @class
* Initializes a new instance of the StoresDetails class.
* @constructor
* @member {string} [id] ID identifying a unique distribution store.
* @member {string} [name] A name identifying a unique distribution store.
* @member {string} [type] A type identifying the type of distribution store.
* Possible values include: 'googleplay', 'intune', 'windows', 'apple'
* @member {string} [publishingStatus] A status identifying the status of
* release in the distribution store.
* @member {boolean} [isLatest] Is the containing release the latest one in
* this distribution store.
*/
export interface StoresDetails {
id?: string;
name?: string;
type?: string;
publishingStatus?: string;
isLatest?: boolean;
}
/**
* @class
* Initializes a new instance of the StoresBasicReleaseDetails class.
* @constructor
* Basic information on a release
*
* @member {number} [id] ID identifying this unique release.
* @member {string} [version] The release's version.
* For iOS: CFBundleVersion from info.plist.
* For Android: android:versionCode from AppManifest.xml.
* @member {string} [shortVersion] The release's short version.
* For iOS: CFBundleShortVersionString from info.plist.
* For Android: android:versionName from AppManifest.xml.
* @member {string} [uploadedAt] UTC time in ISO 8601 format of the uploaded
* time.
* @member {array} [distributionStores] a list of distribution stores that are
* associated with this release.
*/
export interface StoresBasicReleaseDetails {
id?: number;
version?: string;
shortVersion?: string;
uploadedAt?: string;
distributionStores?: StoresDetails[];
}
/**
* @class
* Initializes a new instance of the StoreDestinationDetails class.
* @constructor
* @member {string} [destPublishId] destination ID identifying a unique id in
* distribution store.
* @member {string} [storeType] type of store. Possible values include:
* 'intune', 'windows'
* @member {string} [appId] app id of application.
*/
export interface StoreDestinationDetails {
destPublishId?: string;
storeType?: string;
appId?: string;
}
/**
* @class
* Initializes a new instance of the StoresBasicDetails class.
* @constructor
* @member {string} [id] ID identifying a unique distribution store.
* @member {string} [name] A name identifying a unique distribution store.
* @member {string} [type] type of the distribution store currently stores type
* can be intune or googleplay. Possible values include: 'intune',
* 'googleplay', 'windows'
* @member {string} [publishingStatus] publishing status of the release in the
* store.
*/
export interface StoresBasicDetails {
id?: string;
name?: string;
type?: string;
publishingStatus?: string;
}
/**
* @class
* Initializes a new instance of the IntuneAppsRequest class.
* @constructor
* IntuneAppsRequest
*
* @member {string} [createdMonth] PartitionKey year-month
*/
export interface IntuneAppsRequest {
createdMonth?: string;
}
/**
* @class
* Initializes a new instance of the IntuneAppsResponse class.
* @constructor
* IntuneAppsResponse
*
* @member {string} [createdMonth] PartitionKey year-month
* @member {string} [appId] App id
* @member {string} [refreshStatus] Refresh Status
*/
export interface IntuneAppsResponse {
createdMonth?: string;
appId?: string;
refreshStatus?: string;
}
/**
* @class
* Initializes a new instance of the Symbol class.
* @constructor
* @member {string} symbolId The unique id for this symbol (uuid)
* @member {string} type The type of the symbol for the current symbol upload.
* Possible values include: 'Apple', 'JavaScript', 'Breakpad',
* 'AndroidProguard', 'UWP'
* @member {string} appId The application that this symbol belongs to
* @member {string} platform The platform that this symbol is associated with
* @member {string} url The URL at which the client may download the symbol
* file
* @member {string} origin The origin of the symbol file. Possible values
* include: 'System', 'User'
* @member {array} alternateSymbolIds The other symbols in the same file
* @member {string} status Whether the symbol is ignored. Possible values
* include: 'available', 'ignored'
* @member {string} [version] The version number. Optional for Apple. Required
* for Android.
* @member {string} [build] The build number. Optional for Apple. Required for
* Android.
*/
export interface Symbol {
symbolId: string;
type: string;
appId: string;
platform: string;
url: string;
origin: string;
alternateSymbolIds: string[];
status: string;
version?: string;
build?: string;
}
/**
* @class
* Initializes a new instance of the SymbolStatusResponse class.
* @constructor
* A response containing information pertaining to a symbol status
*
* @member {string} symbolId The unique id for this symbol (uuid)
* @member {string} appId The application that this symbol belongs to
* @member {string} status Whether the symbol is ignored. Possible values
* include: 'available', 'ignored', 'missing'
*/
export interface SymbolStatusResponse {
symbolId: string;
appId: string;
status: string;
}
/**
* @class
* Initializes a new instance of the SymbolUploadUserInfo class.
* @constructor
* @member {string} [email] The email of the user
* @member {string} [displayName] The full name of the user. Might for example
* be first and last name
*/
export interface SymbolUploadUserInfo {
email?: string;
displayName?: string;
}
/**
* @class
* Initializes a new instance of the UploadedSymbolInfo class.
* @constructor
* @member {string} symbolId The symbol id of the symbol binary
* @member {string} platform The platform the symbol is associated with
*/
export interface UploadedSymbolInfo {
symbolId: string;
platform: string;
}
/**
* @class
* Initializes a new instance of the SymbolUpload class.
* @constructor
* A single symbol upload entity
*
* @member {string} symbolUploadId The id for the current symbol upload
* @member {string} appId The application that this symbol upload belongs to
* @member {object} [user] User information of the one who intitiated the
* symbol upload
* @member {string} [user.email] The email of the user
* @member {string} [user.displayName] The full name of the user. Might for
* example be first and last name
* @member {string} status The current status for the symbol upload. Possible
* values include: 'created', 'committed', 'aborted', 'processing', 'indexed',
* 'failed'
* @member {string} symbolType The type of the symbol for the current symbol
* upload. Possible values include: 'Apple', 'Breakpad', 'AndroidProguard',
* 'UWP'
* @member {array} [symbolsUploaded] The symbols found in the upload
* @member {string} [origin] The origin of the symbol upload. Possible values
* include: 'User', 'System'
* @member {string} [fileName] The file name for the symbol upload
* @member {number} [fileSize] The size of the file in Mebibytes
* @member {date} [timestamp] When the symbol upload was committed, or last
* transaction time if not committed
*/
export interface SymbolUpload {
symbolUploadId: string;
appId: string;
user?: SymbolUploadUserInfo;
status: string;
symbolType: string;
symbolsUploaded?: UploadedSymbolInfo[];
origin?: string;
fileName?: string;
fileSize?: number;
timestamp?: Date;
}
/**
* @class
* Initializes a new instance of the SymbolLocation class.
* @constructor
* Location for downloading symbol
*
* @member {string} uri
*/
export interface SymbolLocation {
uri: string;
}
/**
* @class
* Initializes a new instance of the SymbolUploadLocation class.
* @constructor
* Location for downloading symbol upload
*
* @member {string} uri
*/
export interface SymbolUploadLocation {
uri: string;
}
/**
* @class
* Initializes a new instance of the SymbolUploadBeginRequest class.
* @constructor
* A request containing information pertaining to starting a symbol upload
* process
*
* @member {string} symbolType The type of the symbol for the current symbol
* upload. Possible values include: 'Apple', 'Breakpad', 'AndroidProguard',
* 'UWP'
* @member {string} [clientCallback] The callback URL that the client can
* optionally provide to get status updates for the current symbol upload
* @member {string} [fileName] The file name for the symbol upload
* @member {string} [build] The build number. Optional for Apple. Required for
* Android.
* @member {string} [version] The version number. Optional for Apple. Required
* for Android.
*/
export interface SymbolUploadBeginRequest {
symbolType: string;
clientCallback?: string;
fileName?: string;
build?: string;
version?: string;
}
/**
* @class
* Initializes a new instance of the SymbolUploadBeginResponse class.
* @constructor
* A response containing information pertaining to starting a symbol upload
* process
*
* @member {string} symbolUploadId The id for the current upload
* @member {string} uploadUrl The URL where the client needs to upload the
* symbol blob to
* @member {date} expirationDate Describes how long the upload_url is valid
*/
export interface SymbolUploadBeginResponse {
symbolUploadId: string;
uploadUrl: string;
expirationDate: Date;
}
/**
* @class
* Initializes a new instance of the SymbolUploadEndRequest class.
* @constructor
* A request containing information pertaining to completing a symbol upload
* process
*
* @member {string} status The desired operation for the symbol upload.
* Possible values include: 'committed', 'aborted'
*/
export interface SymbolUploadEndRequest {
status: string;
}
/**
* @class
* Initializes a new instance of the AppFeatures class.
* @constructor
* @member {boolean} [crashgroupModifyStatus] App supports modification of
* crashgroup status
* @member {boolean} [crashgroupModifyAnnotation] App supports modification of
* crashgroup annotation
* @member {boolean} [search] App supports search API
* @member {boolean} [crashgroupAnalyticsCrashfreeusers] App supports the
* 'crash free user' metric
* @member {boolean} [crashgroupAnalyticsImpactedusers] App supports the
* 'impacted users' metric
* @member {boolean} [crashDownloadRaw] App supports download of raw crashes
*/
export interface AppFeatures {
crashgroupModifyStatus?: boolean;
crashgroupModifyAnnotation?: boolean;
search?: boolean;
crashgroupAnalyticsCrashfreeusers?: boolean;
crashgroupAnalyticsImpactedusers?: boolean;
crashDownloadRaw?: boolean;
}
/**
* @class
* Initializes a new instance of the AppCrashesInfo class.
* @constructor
* @member {boolean} hasCrashes
* @member {object} features
* @member {boolean} [features.crashgroupModifyStatus] App supports
* modification of crashgroup status
* @member {boolean} [features.crashgroupModifyAnnotation] App supports
* modification of crashgroup annotation
* @member {boolean} [features.search] App supports search API
* @member {boolean} [features.crashgroupAnalyticsCrashfreeusers] App supports
* the 'crash free user' metric
* @member {boolean} [features.crashgroupAnalyticsImpactedusers] App supports
* the 'impacted users' metric
* @member {boolean} [features.crashDownloadRaw] App supports download of raw
* crashes
*/
export interface AppCrashesInfo {
hasCrashes: boolean;
features: AppFeatures;
}
/**
* @class
* Initializes a new instance of the AppVersion class.
* @constructor
* @member {string} appVersionId
* @member {string} appId
* @member {string} displayName
* @member {string} appVersion
* @member {string} [buildNumber]
*/
export interface AppVersion {
appVersionId: string;
appId: string;
displayName: string;
appVersion: string;
buildNumber?: string;
}
/**
* @class
* Initializes a new instance of the StackFrame class.
* @constructor
* a single frame of a stack trace
*
* @member {string} [address] address of the frame
* @member {string} [className] name of the class
* @member {string} [method] name of the method
* @member {boolean} [classMethod] is a class method
* @member {string} [file] name of the file
* @member {number} [line] line number
* @member {boolean} appCode this line isn't from any framework
* @member {string} [frameworkName] Name of the framework
* @member {string} codeRaw Raw frame string
* @member {string} codeFormatted Formatted frame string
* @member {string} [language] programming language of the frame. Possible
* values include: 'JavaScript', 'CSharp', 'Objective-C', 'Objective-Cpp',
* 'Cpp', 'C', 'Swift', 'Java', 'Unknown'
* @member {boolean} [relevant] frame should be shown always
* @member {string} [methodParams] parameters of the frames method
*/
export interface StackFrame {
address?: string;
className?: string;
method?: string;
classMethod?: boolean;
file?: string;
line?: number;
appCode: boolean;
frameworkName?: string;
codeRaw: string;
codeFormatted: string;
language?: string;
relevant?: boolean;
methodParams?: string;
}
/**
* @class
* Initializes a new instance of the Exception class.
* @constructor
* a exception
*
* @member {string} [reason] Reason of the exception
* @member {string} [type] Type of the exception (NSSomethingException,
* NullPointerException)
* @member {array} frames frames of the excetpion
* @member {boolean} [relevant] relevant exception (crashed)
* @member {array} [innerExceptions]
* @member {string} [platform] SDK/Platform this thread is beeing generated
* from. Possible values include: 'ios', 'android', 'xamarin', 'react-native',
* 'ndk', 'unity', 'other'
*/
export interface Exception {
reason?: string;
type?: string;
frames: StackFrame[];
relevant?: boolean;
innerExceptions?: Exception[];
platform?: string;
}
/**
* @class
* Initializes a new instance of the Thread class.
* @constructor
* a thread representation
*
* @member {string} title name of the thread
* @member {array} frames frames of that thread
* @member {object} [exception] potential additional exception happened in that
* thread (Last Exception Backtrace)
* @member {string} [exception.reason] Reason of the exception
* @member {string} [exception.type] Type of the exception
* (NSSomethingException, NullPointerException)
* @member {array} [exception.frames] frames of the excetpion
* @member {boolean} [exception.relevant] relevant exception (crashed)
* @member {array} [exception.innerExceptions]
* @member {string} [exception.platform] SDK/Platform this thread is beeing
* generated from. Possible values include: 'ios', 'android', 'xamarin',
* 'react-native', 'ndk', 'unity', 'other'
* @member {boolean} [relevant] Shows if a thread is relevant or not. Is false
* if all frames are non relevant, otherwise true
* @member {string} [platform] SDK/Platform this thread is beeing generated
* from. Possible values include: 'ios', 'android', 'xamarin', 'react-native',
* 'ndk', 'unity', 'other'
* @member {boolean} [crashed] True if this thread crashed
*/
export interface Thread {
title: string;
frames: StackFrame[];
exception?: Exception;
relevant?: boolean;
platform?: string;
crashed?: boolean;
}
/**
* @class
* Initializes a new instance of the Stacktrace class.
* @constructor
* a stacktrace in a processed and prettyfied way
*
* @member {string} [title]
* @member {string} [reason]
* @member {array} [threads]
* @member {object} [exception]
* @member {string} [exception.reason] Reason of the exception
* @member {string} [exception.type] Type of the exception
* (NSSomethingException, NullPointerException)
* @member {array} [exception.frames] frames of the excetpion
* @member {boolean} [exception.relevant] relevant exception (crashed)
* @member {array} [exception.innerExceptions]
* @member {string} [exception.platform] SDK/Platform this thread is beeing
* generated from. Possible values include: 'ios', 'android', 'xamarin',
* 'react-native', 'ndk', 'unity', 'other'
*/
export interface Stacktrace {
title?: string;
reason?: string;
threads?: Thread[];
exception?: Exception;
}
/**
* @class
* Initializes a new instance of the ReasonStackFrame class.
* @constructor
* frame belonging to the reason of the crash
*
* @member {string} [className] name of the class
* @member {string} [method] name of the method
* @member {boolean} [classMethod] is a class method
* @member {string} [file] name of the file
* @member {number} [line] line number
* @member {boolean} [appCode] this line isn't from any framework
* @member {string} [frameworkName] Name of the framework
* @member {string} [codeFormatted] Formatted frame string
* @member {string} [codeRaw] Unformatted Frame string
* @member {string} [language] programming language of the frame. Possible
* values include: 'JavaScript', 'CSharp', 'Objective-C', 'Objective-Cpp',
* 'Cpp', 'C', 'Swift', 'Java', 'Unknown'
* @member {string} [methodParams] parameters of the frames method
* @member {string} [exceptionType] Exception type.
* @member {string} [osExceptionType] OS exception type. (aka. SIGNAL)
*/
export interface ReasonStackFrame {
className?: string;
method?: string;
classMethod?: boolean;
file?: string;
line?: number;
appCode?: boolean;
frameworkName?: string;
codeFormatted?: string;
codeRaw?: string;
language?: string;
methodParams?: string;
exceptionType?: string;
osExceptionType?: string;
}
/**
* @class
* Initializes a new instance of the CrashAttachment class.
* @constructor
* @member {string} appId
* @member {string} attachmentId
* @member {string} crashId
* @member {string} blobLocation
* @member {string} contentType
* @member {string} fileName
* @member {date} createdTime
* @member {number} size
*/
export interface CrashAttachment {
appId: string;
attachmentId: string;
crashId: string;
blobLocation: string;
contentType: string;
fileName: string;
createdTime: Date;
size: number;
}
/**
* @class
* Initializes a new instance of the CrashRawLocation class.
* @constructor
* Location for downloading crash raw
*
* @member {string} uri
*/
export interface CrashRawLocation {
uri: string;
}
/**
* @class
* Initializes a new instance of the CrashAttachmentLocation class.
* @constructor
* Location for downloading crash attachment
*
* @member {string} uri
*/
export interface CrashAttachmentLocation {
uri: string;
}
/**
* @class
* Initializes a new instance of the CrashGroup class.
* @constructor
* @member {string} crashGroupId
* @member {string} displayId
* @member {string} appVersion
* @member {string} build
* @member {string} status Possible values include: 'open', 'closed', 'ignored'
* @member {number} count
* @member {number} [impactedUsers]
* @member {date} firstOccurrence
* @member {date} lastOccurrence
* @member {string} [exception]
* @member {string} crashReason
* @member {object} [reasonFrame]
* @member {string} [reasonFrame.className] name of the class
* @member {string} [reasonFrame.method] name of the method
* @member {boolean} [reasonFrame.classMethod] is a class method
* @member {string} [reasonFrame.file] name of the file
* @member {number} [reasonFrame.line] line number
* @member {boolean} [reasonFrame.appCode] this line isn't from any framework
* @member {string} [reasonFrame.frameworkName] Name of the framework
* @member {string} [reasonFrame.codeFormatted] Formatted frame string
* @member {string} [reasonFrame.codeRaw] Unformatted Frame string
* @member {string} [reasonFrame.language] programming language of the frame.
* Possible values include: 'JavaScript', 'CSharp', 'Objective-C',
* 'Objective-Cpp', 'Cpp', 'C', 'Swift', 'Java', 'Unknown'
* @member {string} [reasonFrame.methodParams] parameters of the frames method
* @member {string} [reasonFrame.exceptionType] Exception type.
* @member {string} [reasonFrame.osExceptionType] OS exception type. (aka.
* SIGNAL)
* @member {boolean} fatal Crash or handled exception
* @member {string} annotation
*/
export interface CrashGroup {
crashGroupId: string;
displayId: string;
appVersion: string;
build: string;
status: string;
count: number;
impactedUsers?: number;
firstOccurrence: Date;
lastOccurrence: Date;
exception?: string;
crashReason: string;
reasonFrame?: ReasonStackFrame;
fatal: boolean;
annotation: string;
}
/**
* @class
* Initializes a new instance of the CrashGroupsContainer class.
* @constructor
* @member {boolean} limitedResultSet
* @member {string} [continuationToken] Cassandra request continuation token.
* The token is used for pagination.
* @member {array} crashGroups
*/
export interface CrashGroupsContainer {
limitedResultSet: boolean;
continuationToken?: string;
crashGroups: CrashGroup[];
}
/**
* @class
* Initializes a new instance of the CrashGroupChange class.
* @constructor
* @member {object} [status]
* @member {string} [annotation]
*/
export interface CrashGroupChange {
status?: any;
annotation?: string;
}
/**
* @class
* Initializes a new instance of the CrashDetails class.
* @constructor
* @member {string} [carrierCountry] Carrier country code (for mobile devices).
* @member {string} [carrierName] Carrier name (for mobile devices).
* @member {string} locale Language code (example: en_US).
* @member {string} [osBuild] OS build code (example: LMY47X).
* @member {boolean} rooted Whether the device where the crash occurred is
* rooted or jailbroken
* @member {string} screenSize Screen size of the device in pixels (example:
* 640x480).
* @member {date} [appStartTimestamp] Application launch timestamp (example:
* 1985-04-12T23:20:50.52Z).
*/
export interface CrashDetails {
carrierCountry?: string;
carrierName?: string;
locale: string;
osBuild?: string;
rooted: boolean;
screenSize: string;
appStartTimestamp?: Date;
}
/**
* @class
* Initializes a new instance of the Crash class.
* @constructor
* @member {object} [details]
* @member {string} [details.carrierCountry] Carrier country code (for mobile
* devices).
* @member {string} [details.carrierName] Carrier name (for mobile devices).
* @member {string} [details.locale] Language code (example: en_US).
* @member {string} [details.osBuild] OS build code (example: LMY47X).
* @member {boolean} [details.rooted] Whether the device where the crash
* occurred is rooted or jailbroken
* @member {string} [details.screenSize] Screen size of the device in pixels
* (example: 640x480).
* @member {date} [details.appStartTimestamp] Application launch timestamp
* (example: 1985-04-12T23:20:50.52Z).
* @member {string} crashId
* @member {string} [displayId]
* @member {date} timestamp
* @member {string} version
* @member {string} build
* @member {string} device
* @member {string} [deviceName]
* @member {string} osVersion
* @member {string} [osType]
* @member {object} [stacktrace]
* @member {string} [stacktrace.title]
* @member {string} [stacktrace.reason]
* @member {array} [stacktrace.threads]
* @member {object} [stacktrace.exception]
* @member {string} [stacktrace.exception.reason] Reason of the exception
* @member {string} [stacktrace.exception.type] Type of the exception
* (NSSomethingException, NullPointerException)
* @member {array} [stacktrace.exception.frames] frames of the excetpion
* @member {boolean} [stacktrace.exception.relevant] relevant exception
* (crashed)
* @member {array} [stacktrace.exception.innerExceptions]
* @member {string} [stacktrace.exception.platform] SDK/Platform this thread is
* beeing generated from. Possible values include: 'ios', 'android', 'xamarin',
* 'react-native', 'ndk', 'unity', 'other'
* @member {string} userName
* @member {string} [userEmail]
*/
export interface Crash {
details?: CrashDetails;
crashId: string;
displayId?: string;
timestamp: Date;
version: string;
build: string;
device: string;
deviceName?: string;
osVersion: string;
osType?: string;
stacktrace?: Stacktrace;
userName: string;
userEmail?: string;
}
/**
* @class
* Initializes a new instance of the HockeyAppCrashForwardingInfo class.
* @constructor
* @member {boolean} forwardingEnabled
*/
export interface HockeyAppCrashForwardingInfo {
forwardingEnabled: boolean;
}
/**
* @class
* Initializes a new instance of the HockeyAppCrashForwardingChange class.
* @constructor
* @member {boolean} [enableForwarding]
*/
export interface HockeyAppCrashForwardingChange {
enableForwarding?: boolean;
}
/**
* @class
* Initializes a new instance of the AlertingCrashGroup class.
* @constructor
* @member {string} [url]
* @member {string} [appDisplayName]
* @member {string} [appPlatform] SDK/Platform this thread is beeing generated
* from. Possible values include: 'ios', 'android', 'xamarin', 'react-native',
* 'ndk', 'unity', 'other'
* @member {string} [appVersion]
* @member {string} [id]
* @member {string} [name]
* @member {string} [reason]
* @member {array} [stackTrace]
*/
export interface AlertingCrashGroup {
url?: string;
appDisplayName?: string;
appPlatform?: string;
appVersion?: string;
id?: string;
name?: string;
reason?: string;
stackTrace?: string[];
}
/**
* @class
* Initializes a new instance of the MissingSymbol class.
* @constructor
* missing symbol
*
* @member {string} symbolId symbol id
* @member {string} name symbol name
* @member {string} [platform] symbol plarform
* @member {string} status symbol status. Possible values include: 'missing',
* 'ignored', 'available'
*/
export interface MissingSymbol {
symbolId: string;
name: string;
platform?: string;
status: string;
}
/**
* @class
* Initializes a new instance of the CrashLocation class.
* @constructor
* crash location information
*
* @member {string} account azure account
* @member {string} container blob container
* @member {string} blob blob name
*/
export interface CrashLocation {
account: string;
container: string;
blob: string;
}
/**
* @class
* Initializes a new instance of the ParkedCrash class.
* @constructor
* parked crash
*
* @member {string} appId application id
* @member {string} appVer application version
* @member {string} appBuild application build
* @member {array} missingSymbols list of missing symbols
* @member {string} crashId id of the crash
* @member {string} sdkPlatform platform of the sdk that sent crash
* @member {string} [sdkWrapper] name of the sdk wrapper that sent crash
* @member {object} location crash location
* @member {string} [location.account] azure account
* @member {string} [location.container] blob container
* @member {string} [location.blob] blob name
*/
export interface ParkedCrash {
appId: string;
appVer: string;
appBuild: string;
missingSymbols: MissingSymbol[];
crashId: string;
sdkPlatform: string;
sdkWrapper?: string;
location: CrashLocation;
}
/**
* @class
* Initializes a new instance of the SymbolUpdateInfo class.
* @constructor
* symbol update message
*
* @member {string} symbolId UUID of the symbol
* @member {string} appId application id
* @member {string} status symbol upload status. Possible values include:
* 'missing', 'ignored', 'available'
*/
export interface SymbolUpdateInfo {
symbolId: string;
appId: string;
status: string;
}
/**
* @class
* Initializes a new instance of the MissingSymbolCrashGroup class.
* @constructor
* missing symbol crash group object
*
* @member {string} symbolGroupId id of the symbol group
* @member {number} [crashCount] number of crashes that belong to this group
* @member {string} appId application id
* @member {string} appVer application version
* @member {string} appBuild application build
* @member {date} lastModified last update date for the group
* @member {array} missingSymbols list of missing symbols
* @member {string} status group status. Possible values include: 'active',
* 'pending', 'closed'
*/
export interface MissingSymbolCrashGroup {
symbolGroupId: string;
crashCount?: number;
appId: string;
appVer: string;
appBuild: string;
lastModified: Date;
missingSymbols: MissingSymbol[];
status: string;
}
/**
* @class
* Initializes a new instance of the MissingSymbolCrashGroupsResponse class.
* @constructor
* grouped by missing symbols crashes response object
*
* @member {number} totalCrashCount total number of cashes for all the groups
* @member {array} groups list of crash groups formed by missing symbols
* combination
*/
export interface MissingSymbolCrashGroupsResponse {
totalCrashCount: number;
groups: MissingSymbolCrashGroup[];
}
/**
* @class
* Initializes a new instance of the MissingSymbolCrashGroupsInfoResponse class.
* @constructor
* missing symbol groups
*
* @member {number} totalCrashCount total number of crashes for all missing
* symbol groups
*/
export interface MissingSymbolCrashGroupsInfoResponse {
totalCrashCount: number;
}
/**
* @class
* Initializes a new instance of the FailureResponse class.
* @constructor
* failure response object
*
* @member {string} code
* @member {string} message
*/
export interface FailureResponse {
code: string;
message: string;
}
/**
* @class
* Initializes a new instance of the CrashingAppDetail class.
* @constructor
* @member {string} [appId] application identifier
* @member {string} [appVersion] application version
* @member {string} [crashGroupId] crash group identifier
*/
export interface CrashingAppDetail {
appId?: string;
appVersion?: string;
crashGroupId?: string;
}
/**
* @class
* Initializes a new instance of the ActiveCrashingAppDetails class.
* @constructor
* @member {string} [nextLink]
* @member {array} [appsWithCrashes] details of the apps with crashes
*/
export interface ActiveCrashingAppDetails {
nextLink?: string;
appsWithCrashes?: CrashingAppDetail[];
}
/**
* @class
* Initializes a new instance of the LogTraceDefinition class.
* @constructor
* @member {string} appSecret
* @member {string} [installId]
* @member {date} [expiration]
*/
export interface LogTraceDefinition {
appSecret: string;
installId?: string;
expiration?: Date;
}
/**
* @class
* Initializes a new instance of the Device class.
* @constructor
* Device characteristics.
*
* @member {string} sdkName Name of the SDK. Consists of the name of the SDK
* and the platform, e.g. "appcenter.ios", "hockeysdk.android".
* @member {string} sdkVersion Version of the SDK in semver format, e.g.
* "1.2.0" or "0.12.3-alpha.1".
* @member {string} [wrapperSdkVersion] Version of the wrapper SDK in semver
* format. When the SDK is embedding another base SDK (for example
* Xamarin.Android wraps Android), the Xamarin specific version is populated
* into this field while sdkVersion refers to the original Android SDK.
* @member {string} [wrapperSdkName] Name of the wrapper SDK. Consists of the
* name of the SDK and the wrapper platform, e.g. "appcenter.xamarin",
* "hockeysdk.cordova".
* @member {string} [model] Device model (example: iPad2,3).
* @member {string} [oemName] Device manufacturer (example: HTC).
* @member {string} osName OS name (example: iOS). The following OS names are
* standardized (non-exclusive): Android, iOS, macOS, tvOS, Windows.
* @member {string} osVersion OS version (example: 9.3.0).
* @member {string} [osBuild] OS build code (example: LMY47X).
* @member {number} [osApiLevel] API level when applicable like in Android
* (example: 15).
* @member {string} locale Language code (example: en_US).
* @member {number} timeZoneOffset The offset in minutes from UTC for the
* device time zone, including daylight savings time.
* @member {string} [screenSize] Screen size of the device in pixels (example:
* 640x480).
* @member {string} appVersion Application version name, e.g. 1.1.0
* @member {string} [carrierName] Carrier name (for mobile devices).
* @member {string} [carrierCode] Carrier country code (for mobile devices).
* @member {string} [carrierCountry] Carrier country.
* @member {string} appBuild The app's build number, e.g. 42.
* @member {string} [appNamespace] The bundle identifier, package identifier,
* or namespace, depending on what the individual plattforms use, .e.g
* com.microsoft.example.
* @member {string} [liveUpdateReleaseLabel] Label that is used to identify
* application code 'version' released via Live Update beacon running on device
* @member {string} [liveUpdateDeploymentKey] Identifier of environment that
* current application release belongs to, deployment key then maps to
* environment like Production, Staging.
* @member {string} [liveUpdatePackageHash] Hash of all files (ReactNative or
* Cordova) deployed to device via LiveUpdate beacon. Helps identify the
* Release version on device or need to download updates in future.
* @member {string} [wrapperRuntimeVersion] Version of the wrapper technology
* framework (Xamarin runtime version or ReactNative or Cordova etc...). See
* wrapper_sdk_name to see if this version refers to Xamarin or ReactNative or
* other.
*/
export interface Device {
sdkName: string;
sdkVersion: string;
wrapperSdkVersion?: string;
wrapperSdkName?: string;
model?: string;
oemName?: string;
osName: string;
osVersion: string;
osBuild?: string;
osApiLevel?: number;
locale: string;
timeZoneOffset: number;
screenSize?: string;
appVersion: string;
carrierName?: string;
carrierCode?: string;
carrierCountry?: string;
appBuild: string;
appNamespace?: string;
liveUpdateReleaseLabel?: string;
liveUpdateDeploymentKey?: string;
liveUpdatePackageHash?: string;
wrapperRuntimeVersion?: string;
}
/**
* @class
* Initializes a new instance of the Log class.
* @constructor
* @member {date} timestamp Log creation timestamp.
* @member {uuid} installId Install ID.
* @member {object} device
* @member {string} [device.sdkName] Name of the SDK. Consists of the name of
* the SDK and the platform, e.g. "appcenter.ios", "hockeysdk.android".
* @member {string} [device.sdkVersion] Version of the SDK in semver format,
* e.g. "1.2.0" or "0.12.3-alpha.1".
* @member {string} [device.wrapperSdkVersion] Version of the wrapper SDK in
* semver format. When the SDK is embedding another base SDK (for example
* Xamarin.Android wraps Android), the Xamarin specific version is populated
* into this field while sdkVersion refers to the original Android SDK.
* @member {string} [device.wrapperSdkName] Name of the wrapper SDK. Consists
* of the name of the SDK and the wrapper platform, e.g. "appcenter.xamarin",
* "hockeysdk.cordova".
* @member {string} [device.model] Device model (example: iPad2,3).
* @member {string} [device.oemName] Device manufacturer (example: HTC).
* @member {string} [device.osName] OS name (example: iOS). The following OS
* names are standardized (non-exclusive): Android, iOS, macOS, tvOS, Windows.
* @member {string} [device.osVersion] OS version (example: 9.3.0).
* @member {string} [device.osBuild] OS build code (example: LMY47X).
* @member {number} [device.osApiLevel] API level when applicable like in
* Android (example: 15).
* @member {string} [device.locale] Language code (example: en_US).
* @member {number} [device.timeZoneOffset] The offset in minutes from UTC for
* the device time zone, including daylight savings time.
* @member {string} [device.screenSize] Screen size of the device in pixels
* (example: 640x480).
* @member {string} [device.appVersion] Application version name, e.g. 1.1.0
* @member {string} [device.carrierName] Carrier name (for mobile devices).
* @member {string} [device.carrierCode] Carrier country code (for mobile
* devices).
* @member {string} [device.carrierCountry] Carrier country.
* @member {string} [device.appBuild] The app's build number, e.g. 42.
* @member {string} [device.appNamespace] The bundle identifier, package
* identifier, or namespace, depending on what the individual plattforms use,
* .e.g com.microsoft.example.
* @member {string} [device.liveUpdateReleaseLabel] Label that is used to
* identify application code 'version' released via Live Update beacon running
* on device
* @member {string} [device.liveUpdateDeploymentKey] Identifier of environment
* that current application release belongs to, deployment key then maps to
* environment like Production, Staging.
* @member {string} [device.liveUpdatePackageHash] Hash of all files
* (ReactNative or Cordova) deployed to device via LiveUpdate beacon. Helps
* identify the Release version on device or need to download updates in
* future.
* @member {string} [device.wrapperRuntimeVersion] Version of the wrapper
* technology framework (Xamarin runtime version or ReactNative or Cordova
* etc...). See wrapper_sdk_name to see if this version refers to Xamarin or
* ReactNative or other.
* @member {string} type Polymorphic Discriminator
*/
export interface Log {
timestamp: Date;
installId: string;
device: Device;
type: string;
}
/**
* @class
* Initializes a new instance of the LogContainer class.
* @constructor
* @member {boolean} [exceededMaxLimit] indicates if the number of available
* logs are more than the max allowed return limit(100).
* @member {date} [lastReceivedLogTimestamp] the timestamp of the last log
* received. This value can be used as the start time parameter in the
* consecutive API call.
* @member {array} logs the list of logs
*/
export interface LogContainer {
exceededMaxLimit?: boolean;
lastReceivedLogTimestamp?: Date;
logs: Log[];
}
/**
* @class
* Initializes a new instance of the GenericLog class.
* @constructor
* Generic log.
*
* @member {string} type Log type.
* . Possible values include: 'event', 'page', 'start_session', 'error',
* 'push_installation', 'start_service', 'custom_properties'
* @member {date} timestamp Log creation timestamp.
* @member {uuid} installId Install ID.
* @member {uuid} [sessionId] Session ID.
* @member {string} [eventId] Event ID.
* @member {string} [eventName] Event name.
* @member {string} [messageId] Message ID.
* @member {object} [properties] event specific properties.
* @member {object} device
* @member {string} [device.sdkName] Name of the SDK. Consists of the name of
* the SDK and the platform, e.g. "appcenter.ios", "hockeysdk.android".
* @member {string} [device.sdkVersion] Version of the SDK in semver format,
* e.g. "1.2.0" or "0.12.3-alpha.1".
* @member {string} [device.wrapperSdkVersion] Version of the wrapper SDK in
* semver format. When the SDK is embedding another base SDK (for example
* Xamarin.Android wraps Android), the Xamarin specific version is populated
* into this field while sdkVersion refers to the original Android SDK.
* @member {string} [device.wrapperSdkName] Name of the wrapper SDK. Consists
* of the name of the SDK and the wrapper platform, e.g. "appcenter.xamarin",
* "hockeysdk.cordova".
* @member {string} [device.model] Device model (example: iPad2,3).
* @member {string} [device.oemName] Device manufacturer (example: HTC).
* @member {string} [device.osName] OS name (example: iOS). The following OS
* names are standardized (non-exclusive): Android, iOS, macOS, tvOS, Windows.
* @member {string} [device.osVersion] OS version (example: 9.3.0).
* @member {string} [device.osBuild] OS build code (example: LMY47X).
* @member {number} [device.osApiLevel] API level when applicable like in
* Android (example: 15).
* @member {string} [device.locale] Language code (example: en_US).
* @member {number} [device.timeZoneOffset] The offset in minutes from UTC for
* the device time zone, including daylight savings time.
* @member {string} [device.screenSize] Screen size of the device in pixels
* (example: 640x480).
* @member {string} [device.appVersion] Application version name, e.g. 1.1.0
* @member {string} [device.carrierName] Carrier name (for mobile devices).
* @member {string} [device.carrierCode] Carrier country code (for mobile
* devices).
* @member {string} [device.carrierCountry] Carrier country.
* @member {string} [device.appBuild] The app's build number, e.g. 42.
* @member {string} [device.appNamespace] The bundle identifier, package
* identifier, or namespace, depending on what the individual plattforms use,
* .e.g com.microsoft.example.
* @member {string} [device.liveUpdateReleaseLabel] Label that is used to
* identify application code 'version' released via Live Update beacon running
* on device
* @member {string} [device.liveUpdateDeploymentKey] Identifier of environment
* that current application release belongs to, deployment key then maps to
* environment like Production, Staging.
* @member {string} [device.liveUpdatePackageHash] Hash of all files
* (ReactNative or Cordova) deployed to device via LiveUpdate beacon. Helps
* identify the Release version on device or need to download updates in
* future.
* @member {string} [device.wrapperRuntimeVersion] Version of the wrapper
* technology framework (Xamarin runtime version or ReactNative or Cordova
* etc...). See wrapper_sdk_name to see if this version refers to Xamarin or
* ReactNative or other.
*/
export interface GenericLog {
type: string;
timestamp: Date;
installId: string;
sessionId?: string;
eventId?: string;
eventName?: string;
messageId?: string;
properties?: { [propertyName: string]: string };
device: Device;
}
/**
* @class
* Initializes a new instance of the GenericLogContainer class.
* @constructor
* @member {boolean} [exceededMaxLimit] indicates if the number of available
* logs are more than the max allowed return limit(100).
* @member {date} [lastReceivedLogTimestamp] the timestamp of the last log
* received. This value can be used as the start time parameter in the
* consecutive API call.
* @member {array} logs the list of logs
*/
export interface GenericLogContainer {
exceededMaxLimit?: boolean;
lastReceivedLogTimestamp?: Date;
logs: GenericLog[];
}
/**
* @class
* Initializes a new instance of the LogWithProperties class.
* @constructor
* @member {object} [properties] Additional key/value pair parameters.
*/
export interface LogWithProperties extends Log {
properties?: { [propertyName: string]: string };
}
/**
* @class
* Initializes a new instance of the StartSessionLog class.
* @constructor
* Required explicit begin session log (a marker event for analytics service).
*
* @member {uuid} sessionId Session ID.
*/
export interface StartSessionLog extends Log {
sessionId: string;
}
/**
* @class
* Initializes a new instance of the HanledErrorLog class.
* @constructor
* Required explicit begin session log (a marker event for analytics service).
*
* @member {uuid} errorId Error ID.
*/
export interface HanledErrorLog extends Log {
errorId: string;
}
/**
* @class
* Initializes a new instance of the StartServiceLog class.
* @constructor
* Describe a AppCenter.Start API call from the SDK.
*
* @member {array} [services] The list of services of the AppCenter Start API
* call.
*/
export interface StartServiceLog extends Log {
services?: string[];
}
/**
* @class
* Initializes a new instance of the CustomProperty class.
* @constructor
* @member {string} name
* @member {string} type Polymorphic Discriminator
*/
export interface CustomProperty {
name: string;
type: string;
}
/**
* @class
* Initializes a new instance of the CustomPropertyLog class.
* @constructor
* Set or remove custom properties.
*
* @member {array} [properties] Custom property changes.
*/
export interface CustomPropertyLog extends Log {
properties?: CustomProperty[];
}
/**
* @class
* Initializes a new instance of the StringProperty class.
* @constructor
* String property.
*
* @member {string} value String property value.
*/
export interface StringProperty extends CustomProperty {
value: string;
}
/**
* @class
* Initializes a new instance of the NumberProperty class.
* @constructor
* Number property.
*
* @member {number} value Number property value.
*/
export interface NumberProperty extends CustomProperty {
value: number;
}
/**
* @class
* Initializes a new instance of the BooleanProperty class.
* @constructor
* Boolean property.
*
* @member {boolean} value Boolean property value.
*/
export interface BooleanProperty extends CustomProperty {
value: boolean;
}
/**
* @class
* Initializes a new instance of the DateTimeProperty class.
* @constructor
* Date and time property.
*
* @member {date} value Date time property value.
*/
export interface DateTimeProperty extends CustomProperty {
value: Date;
}
/**
* @class
* Initializes a new instance of the ClearProperty class.
* @constructor
* Clear an existing property.
*
*/
export interface ClearProperty extends CustomProperty {
}
/**
* @class
* Initializes a new instance of the PageLog class.
* @constructor
* Page view log (as in screens or activities).
*
* @member {uuid} sessionId Session ID.
* @member {string} name Name of the page.
*/
export interface PageLog extends LogWithProperties {
sessionId: string;
name: string;
}
/**
* @class
* Initializes a new instance of the EventLog class.
* @constructor
* Event log.
*
* @member {uuid} sessionId Session ID.
* @member {uuid} id Unique identifier for this event.
* @member {string} name Name of the event.
*/
export interface EventLog extends LogWithProperties {
sessionId: string;
id: string;
name: string;
}
/**
* @class
* Initializes a new instance of the PushInstallationLog class.
* @constructor
* Push installation Information.
*
* @member {string} pushToken The PNS handle for this installation.
*/
export interface PushInstallationLog extends Log {
pushToken: string;
}
/**
* @class
* Initializes a new instance of the ErrorLog class.
* @constructor
* Error log.
*
* @member {uuid} sessionId Session ID.
* @member {uuid} id Error identifier.
* @member {number} [appLaunchToffset] Corresponds to the number of
* milliseconds elapsed between the time the error occurred and the app was
* launched.
*/
export interface ErrorLog extends Log {
sessionId: string;
id: string;
appLaunchToffset?: number;
}
/**
* @class
* Initializes a new instance of the AudienceSummary class.
* @constructor
* Audience definition.
*
* @member {string} [name] Audience name.
* @member {string} [description] Audience description.
* @member {number} [estimatedCount] Estimated audience size.
* @member {string} [definition] Audience definition in OData format.
* @member {string} [state] Audience state. Possible values include:
* 'Calculating', 'Ready', 'Disabled'
*/
export interface AudienceSummary {
name?: string;
description?: string;
estimatedCount?: number;
definition?: string;
state?: string;
}
/**
* @class
* Initializes a new instance of the AudienceListResult class.
* @constructor
* List of audiences.
*
* @member {array} values List of audiences.
* @member {string} [nextLink]
*/
export interface AudienceListResult {
values: AudienceSummary[];
nextLink?: string;
}
/**
* @class
* Initializes a new instance of the Audience class.
* @constructor
* Audience with details.
*
* @member {boolean} [enabled] Default value: true .
* @member {object} [customProperties] Custom properties used in the
* definition.
* @member {number} [estimatedTotalCount] Estimated total audience size.
* @member {date} [timestamp] Date the audience was last refreshed.
*/
export interface Audience extends AudienceSummary {
enabled?: boolean;
customProperties?: { [propertyName: string]: string };
estimatedTotalCount?: number;
timestamp?: Date;
}
/**
* @class
* Initializes a new instance of the AudienceTestResult class.
* @constructor
* Audience test result.
*
* @member {string} [definition] Audience definition in OData format.
* @member {object} [customProperties] Custom properties used in the
* definition.
* @member {number} [estimatedCount] Estimated audience size.
* @member {number} [estimatedTotalCount] Estimated total audience size.
*/
export interface AudienceTestResult {
definition?: string;
customProperties?: { [propertyName: string]: string };
estimatedCount?: number;
estimatedTotalCount?: number;
}
/**
* @class
* Initializes a new instance of the AudienceDefinition class.
* @constructor
* Audience definition.
*
* @member {string} [description] Audience description.
* @member {string} definition Audience definition in OData format.
* @member {boolean} [enabled] Default value: true .
* @member {object} [customProperties] Custom properties used in the
* definition.
*/
export interface AudienceDefinition {
description?: string;
definition: string;
enabled?: boolean;
customProperties?: { [propertyName: string]: string };
}
/**
* @class
* Initializes a new instance of the AudienceBlobResult class.
* @constructor
* Audience definition.
*
* @member {string} [url] Location of the audience blob.
*/
export interface AudienceBlobResult {
url?: string;
}
/**
* @class
* Initializes a new instance of the AudienceDevicePropertiesListResult class.
* @constructor
* List of device properties.
*
* @member {object} values List of device properties.
*/
export interface AudienceDevicePropertiesListResult {
values: { [propertyName: string]: string };
}
/**
* @class
* Initializes a new instance of the AudienceDevicePropertyValuesListResult class.
* @constructor
* List of device property values.
*
* @member {array} values List of device property values.
*/
export interface AudienceDevicePropertyValuesListResult {
values: string[];
}
/**
* @class
* Initializes a new instance of the DateTimeCounts class.
* @constructor
* @member {string} [datetime] the ISO 8601 datetime
* @member {number} [count] count of the object
*/
export interface DateTimeCounts {
datetime?: string;
count?: number;
}
/**
* @class
* Initializes a new instance of the CrashCounts class.
* @constructor
* @member {number} [count] total crash count
* @member {array} [crashes] the total crash count for day
*/
export interface CrashCounts {
count?: number;
crashes?: DateTimeCounts[];
}
/**
* @class
* Initializes a new instance of the ErrorCounts class.
* @constructor
* @member {number} [count] total error count
* @member {array} [errors] the total error count for day
*/
export interface ErrorCounts {
count?: number;
errors?: DateTimeCounts[];
}
/**
* @class
* Initializes a new instance of the ActiveDeviceCounts class.
* @constructor
* @member {array} [daily] the active device count for each interval
* @member {array} [weekly] the active device count for each interval with a
* week's retention
* @member {array} [monthly] the active device count for each interval with a
* month's retention
*/
export interface ActiveDeviceCounts {
daily?: DateTimeCounts[];
weekly?: DateTimeCounts[];
monthly?: DateTimeCounts[];
}
/**
* @class
* Initializes a new instance of the Place class.
* @constructor
* The place code and the count
*
* @member {string} [code] the place code
* @member {number} [count] the count of the this place
* @member {number} [previousCount] the count of previous time range of the
* place
*/
export interface Place {
code?: string;
count?: number;
previousCount?: number;
}
/**
* @class
* Initializes a new instance of the Places class.
* @constructor
* Places and count during the time range in descending order
*
* @member {number} [total]
* @member {array} [places]
*/
export interface Places {
total?: number;
places?: Place[];
}
/**
* @class
* Initializes a new instance of the ErrorError class.
* @constructor
* @member {number} [code] The status code return by the API. It can be 400 or
* 403 or 500.
* @member {string} [message] The reason for the request failed
*/
export interface ErrorError {
code?: number;
message?: string;
}
/**
* @class
* Initializes a new instance of the ErrorModel class.
* @constructor
* Error
*
* @member {object} [error]
* @member {number} [error.code] The status code return by the API. It can be
* 400 or 403 or 500.
* @member {string} [error.message] The reason for the request failed
*/
export interface ErrorModel {
error?: ErrorError;
}
/**
* @class
* Initializes a new instance of the SessionDurationsDistributionDistributionItem class.
* @constructor
* @member {string} [bucket] the bucket name
* @member {number} [count] the count of sessions in current bucket
*/
export interface SessionDurationsDistributionDistributionItem {
bucket?: string;
count?: number;
}
/**
* @class
* Initializes a new instance of the SessionDurationsDistribution class.
* @constructor
* @member {array} [distribution] the count of sessions in these buckets
* @member {string} [previousAverageDuration] the previous average session
* duration for previous time range
* @member {string} [averageDuration] the average session duration for current
* time range
*/
export interface SessionDurationsDistribution {
distribution?: SessionDurationsDistributionDistributionItem[];
previousAverageDuration?: string;
averageDuration?: string;
}
/**
* @class
* Initializes a new instance of the Version class.
* @constructor
* @member {string} [version] version
* @member {number} [count] version count
* @member {number} [previousCount] the count of previous time range of the
* version
*/
export interface Version {
version?: string;
count?: number;
previousCount?: number;
}
/**
* @class
* Initializes a new instance of the Versions class.
* @constructor
* @member {array} [versions] list of version count
* @member {number} [total] the total count of versions
*/
export interface Versions {
versions?: Version[];
total?: number;
}
/**
* @class
* Initializes a new instance of the SessionsPerDeviceSessionsPerUserItem class.
* @constructor
* @member {string} [datetime] the ISO 8601 datetime
* @member {number} [count] count
*/
export interface SessionsPerDeviceSessionsPerUserItem {
datetime?: string;
count?: number;
}
/**
* @class
* Initializes a new instance of the SessionsPerDevice class.
* @constructor
* @member {number} [averageSessionsPerUser] average seesion per user
* @member {number} [previousAverageSessionsPerUser] previous average session
* per user
* @member {number} [totalCount] total session per device count
* @member {number} [previousTotalCount] previous total count
* @member {array} [sessionsPerUser] the session count for each interval per
* device
*/
export interface SessionsPerDevice {
averageSessionsPerUser?: number;
previousAverageSessionsPerUser?: number;
totalCount?: number;
previousTotalCount?: number;
sessionsPerUser?: SessionsPerDeviceSessionsPerUserItem[];
}
/**
* @class
* Initializes a new instance of the Model class.
* @constructor
* @member {string} [modelName] model's name
* @member {number} [count] count current of model
* @member {number} [previousCount] count of previous model
*/
export interface Model {
modelName?: string;
count?: number;
previousCount?: number;
}
/**
* @class
* Initializes a new instance of the AnalyticsModels class.
* @constructor
* @member {number} [total]
* @member {array} [modelsProperty]
*/
export interface AnalyticsModels {
total?: number;
modelsProperty?: Model[];
}
/**
* @class
* Initializes a new instance of the Language class.
* @constructor
* @member {string} [languageName] language's name
* @member {number} [count] count current of language
* @member {number} [previousCount] count of previous lanugage
*/
export interface Language {
languageName?: string;
count?: number;
previousCount?: number;
}
/**
* @class
* Initializes a new instance of the Languages class.
* @constructor
* @member {number} [total]
* @member {array} [languages]
*/
export interface Languages {
total?: number;
languages?: Language[];
}
/**
* @class
* Initializes a new instance of the OS class.
* @constructor
* @member {string} [osName] OS name
* @member {number} [count] count current of OS
* @member {number} [previousCount] count of previous OS
*/
export interface OS {
osName?: string;
count?: number;
previousCount?: number;
}
/**
* @class
* Initializes a new instance of the OSes class.
* @constructor
* @member {number} [total]
* @member {array} [oses]
*/
export interface OSes {
total?: number;
oses?: OS[];
}
/**
* @class
* Initializes a new instance of the DateTimeDecimalCounts class.
* @constructor
* @member {string} [datetime] the ISO 8601 datetime
* @member {number} [count] decimal count of the object
*/
export interface DateTimeDecimalCounts {
datetime?: string;
count?: number;
}
/**
* @class
* Initializes a new instance of the AvailableVersions class.
* @constructor
* @member {array} [versions] List of available versions.
* @member {number} [totalCount] The full number of versions across all pages.
*/
export interface AvailableVersions {
versions?: string[];
totalCount?: number;
}
/**
* @class
* Initializes a new instance of the DateTimePercentages class.
* @constructor
* @member {string} [datetime] the ISO 8601 datetime
* @member {number} [percentage] percentage of the object
*/
export interface DateTimePercentages {
datetime?: string;
percentage?: number;
}
/**
* @class
* Initializes a new instance of the CrashFreeDevicePercentages class.
* @constructor
* @member {number} [averagePercentage] Average percentage
* @member {array} [dailyPercentages] The crash-free percentage per day.
*/
export interface CrashFreeDevicePercentages {
averagePercentage?: number;
dailyPercentages?: DateTimePercentages[];
}
/**
* @class
* Initializes a new instance of the Modules class.
* @constructor
* @member {object} [modules]
*/
export interface Modules {
modules?: { [propertyName: string]: { [propertyName: string]: boolean } };
}
/**
* @class
* Initializes a new instance of the CrashOverall class.
* @constructor
* @member {number} [crashCount]
* @member {number} [deviceCount]
*/
export interface CrashOverall {
crashCount?: number;
deviceCount?: number;
}
/**
* @class
* Initializes a new instance of the CrashesOverallItem class.
* @constructor
* @member {string} [crashGroupId]
* @member {string} [appVersion]
* @member {object} [overall]
* @member {number} [overall.crashCount]
* @member {number} [overall.deviceCount]
*/
export interface CrashesOverallItem {
crashGroupId?: string;
appVersion?: string;
overall?: CrashOverall;
}
/**
* @class
* Initializes a new instance of the CrashGroupModel class.
* @constructor
* @member {string} [modelName] model's name
* @member {number} [crashCount] count of model
*/
export interface CrashGroupModel {
modelName?: string;
crashCount?: number;
}
/**
* @class
* Initializes a new instance of the CrashGroupModels class.
* @constructor
* @member {number} [crashCount]
* @member {array} [modelsProperty]
*/
export interface CrashGroupModels {
crashCount?: number;
modelsProperty?: CrashGroupModel[];
}
/**
* @class
* Initializes a new instance of the ErrorGroupState class.
* @constructor
* @member {string} state Possible values include: 'open', 'closed', 'ignored'
*/
export interface ErrorGroupState {
state: string;
}
/**
* @class
* Initializes a new instance of the ErrorGroupListItem class.
* @constructor
* @member {string} errorGroupId
* @member {string} appVersion
* @member {number} count
* @member {number} deviceCount
* @member {date} lastOccurrence
* @member {string} [exceptionType]
* @member {string} [exceptionMessage]
*/
export interface ErrorGroupListItem extends ErrorGroupState {
errorGroupId: string;
appVersion: string;
count: number;
deviceCount: number;
lastOccurrence: Date;
exceptionType?: string;
exceptionMessage?: string;
}
/**
* @class
* Initializes a new instance of the ErrorGroups class.
* @constructor
* @member {string} [nextLink]
* @member {array} [errorGroups]
*/
export interface ErrorGroups {
nextLink?: string;
errorGroups?: ErrorGroupListItem[];
}
/**
* @class
* Initializes a new instance of the HandledErrorReasonFrame class.
* @constructor
* @member {string} [className] name of the class
* @member {string} [method] name of the method
* @member {boolean} [classMethod] is a class method
* @member {string} [file] name of the file
* @member {number} [line] line number
* @member {boolean} [appCode] this line isn't from any framework
* @member {string} [frameworkName] Name of the framework
* @member {string} [codeFormatted] Formatted frame string
* @member {string} [codeRaw] Unformatted Frame string
* @member {string} [language] programming language of the frame. Possible
* values include: 'JavaScript', 'CSharp', 'Objective-C', 'Objective-Cpp',
* 'Cpp', 'C', 'Swift', 'Java', 'Unknown'
* @member {string} [methodParams] parameters of the frames method
* @member {string} [exceptionType] Exception type.
* @member {string} [osExceptionType] OS exception type. (aka. SIGNAL)
*/
export interface HandledErrorReasonFrame {
className?: string;
method?: string;
classMethod?: boolean;
file?: string;
line?: number;
appCode?: boolean;
frameworkName?: string;
codeFormatted?: string;
codeRaw?: string;
language?: string;
methodParams?: string;
exceptionType?: string;
osExceptionType?: string;
}
/**
* @class
* Initializes a new instance of the ErrorGroup class.
* @constructor
* @member {string} errorGroupId
* @member {string} appVersion
* @member {number} count
* @member {number} deviceCount
* @member {date} firstOccurrence
* @member {date} lastOccurrence
* @member {string} [exceptionType]
* @member {string} [exceptionMessage]
* @member {string} [exceptionFile]
* @member {string} [exceptionLine]
* @member {array} [reasonFrames]
*/
export interface ErrorGroup extends ErrorGroupState {
errorGroupId: string;
appVersion: string;
count: number;
deviceCount: number;
firstOccurrence: Date;
lastOccurrence: Date;
exceptionType?: string;
exceptionMessage?: string;
exceptionFile?: string;
exceptionLine?: string;
reasonFrames?: HandledErrorReasonFrame[];
}
/**
* @class
* Initializes a new instance of the ErrorDownloadLink class.
* @constructor
* @member {string} link
*/
export interface ErrorDownloadLink {
link: string;
}
/**
* @class
* Initializes a new instance of the ErrorFreeDevicePercentages class.
* @constructor
* @member {number} [averagePercentage] Average percentage
* @member {array} [dailyPercentages] The error-free percentage per day.
*/
export interface ErrorFreeDevicePercentages {
averagePercentage?: number;
dailyPercentages?: DateTimePercentages[];
}
/**
* @class
* Initializes a new instance of the HandledError class.
* @constructor
* @member {string} [errorId]
* @member {date} [timestamp]
* @member {string} [deviceName]
* @member {string} [osVersion]
* @member {string} [osType]
* @member {string} [country]
* @member {string} [language]
*/
export interface HandledError {
errorId?: string;
timestamp?: Date;
deviceName?: string;
osVersion?: string;
osType?: string;
country?: string;
language?: string;
}
/**
* @class
* Initializes a new instance of the HandledErrors class.
* @constructor
* @member {string} [nextLink]
* @member {array} [errors] Errors list.
*/
export interface HandledErrors {
nextLink?: string;
errors?: HandledError[];
}
/**
* @class
* Initializes a new instance of the HandledErrorDetails class.
* @constructor
* @member {string} [name]
* @member {array} [reasonFrames]
* @member {object} [properties]
*/
export interface HandledErrorDetails extends HandledError {
name?: string;
reasonFrames?: HandledErrorReasonFrame[];
properties?: { [propertyName: string]: string };
}
/**
* @class
* Initializes a new instance of the ErrorGroupModel class.
* @constructor
* @member {string} [modelName] model name
* @member {string} [modelCode] model code
* @member {number} [errorCount] count of errors in a model
*/
export interface ErrorGroupModel {
modelName?: string;
modelCode?: string;
errorCount?: number;
}
/**
* @class
* Initializes a new instance of the ErrorGroupModels class.
* @constructor
* @member {number} [errorCount]
* @member {array} [modelsProperty]
*/
export interface ErrorGroupModels {
errorCount?: number;
modelsProperty?: ErrorGroupModel[];
}
/**
* @class
* Initializes a new instance of the ErrorGroupOperatingSystem class.
* @constructor
* @member {string} [operatingSystemName] OS name
* @member {number} [errorCount] count of OS
*/
export interface ErrorGroupOperatingSystem {
operatingSystemName?: string;
errorCount?: number;
}
/**
* @class
* Initializes a new instance of the ErrorGroupOperatingSystems class.
* @constructor
* @member {number} [errorCount]
* @member {array} [operatingSystems]
*/
export interface ErrorGroupOperatingSystems {
errorCount?: number;
operatingSystems?: ErrorGroupOperatingSystem[];
}
/**
* @class
* Initializes a new instance of the CrashGroupOperatingSystem class.
* @constructor
* @member {string} [operatingSystemName] OS name
* @member {number} [crashCount] count of OS
*/
export interface CrashGroupOperatingSystem {
operatingSystemName?: string;
crashCount?: number;
}
/**
* @class
* Initializes a new instance of the CrashGroupOperatingSystems class.
* @constructor
* @member {number} [crashCount]
* @member {array} [operatingSystems]
*/
export interface CrashGroupOperatingSystems {
crashCount?: number;
operatingSystems?: CrashGroupOperatingSystem[];
}
/**
* @class
* Initializes a new instance of the CrashGroupPlace class.
* @constructor
* @member {string} [placeName] Place name
* @member {number} [crashCount] count of places
*/
export interface CrashGroupPlace {
placeName?: string;
crashCount?: number;
}
/**
* @class
* Initializes a new instance of the CrashGroupPlaces class.
* @constructor
* @member {number} [crashCount]
* @member {array} [places]
*/
export interface CrashGroupPlaces {
crashCount?: number;
places?: CrashGroupPlace[];
}
/**
* @class
* Initializes a new instance of the CrashGroupLanguage class.
* @constructor
* @member {string} [languageName] language name
* @member {number} [crashCount] count of languages
*/
export interface CrashGroupLanguage {
languageName?: string;
crashCount?: number;
}
/**
* @class
* Initializes a new instance of the CrashGroupLanguages class.
* @constructor
* @member {number} [crashCount]
* @member {array} [languages]
*/
export interface CrashGroupLanguages {
crashCount?: number;
languages?: CrashGroupLanguage[];
}
/**
* @class
* Initializes a new instance of the CrashGroupCarrier class.
* @constructor
* @member {string} [carrierName] carrier name
* @member {number} [crashCount] crash count of carrier
*/
export interface CrashGroupCarrier {
carrierName?: string;
crashCount?: number;
}
/**
* @class
* Initializes a new instance of the CrashGroupCarriers class.
* @constructor
* @member {number} [crashCount]
* @member {array} [carriers]
*/
export interface CrashGroupCarriers {
crashCount?: number;
carriers?: CrashGroupCarrier[];
}
/**
* @class
* Initializes a new instance of the CrashGroupAndVersion class.
* @constructor
* @member {string} [crashGroupId]
* @member {string} [appVersion]
*/
export interface CrashGroupAndVersion {
crashGroupId?: string;
appVersion?: string;
}
/**
* @class
* Initializes a new instance of the CrashGroupContainer class.
* @constructor
* @member {array} crashGroups
*/
export interface CrashGroupContainer {
crashGroups: CrashGroupAndVersion[];
}
/**
* @class
* Initializes a new instance of the Event class.
* @constructor
* @member {string} [id]
* @member {string} [name]
* @member {number} [deviceCount]
* @member {number} [previousDeviceCount] the device count of previous time
* range of the event
* @member {number} [count]
* @member {number} [previousCount] the event count of previous time range of
* the event
* @member {number} [countPerDevice]
* @member {number} [countPerSession]
*/
export interface Event {
id?: string;
name?: string;
deviceCount?: number;
previousDeviceCount?: number;
count?: number;
previousCount?: number;
countPerDevice?: number;
countPerSession?: number;
}
/**
* @class
* Initializes a new instance of the Events class.
* @constructor
* @member {array} [events]
* @member {number} [total] the total count of events
* @member {number} [totalDevices] the active device over this period
*/
export interface Events {
events?: Event[];
total?: number;
totalDevices?: number;
}
/**
* @class
* Initializes a new instance of the EventCount class.
* @constructor
* @member {number} [totalCount]
* @member {number} [previousTotalCount]
* @member {array} [count]
*/
export interface EventCount {
totalCount?: number;
previousTotalCount?: number;
count?: DateTimeCounts[];
}
/**
* @class
* Initializes a new instance of the EventDeviceCount class.
* @constructor
* @member {number} [totalDevices]
* @member {number} [totalDevicesWithEvent]
* @member {number} [previousTotalDevicesWithEvent]
* @member {array} [devicesCount]
*/
export interface EventDeviceCount {
totalDevices?: number;
totalDevicesWithEvent?: number;
previousTotalDevicesWithEvent?: number;
devicesCount?: DateTimeCounts[];
}
/**
* @class
* Initializes a new instance of the EventCountPerDevice class.
* @constructor
* @member {number} [avgCountPerDevice]
* @member {number} [previousAvgCountPerDevice]
* @member {array} [countPerDevice]
*/
export interface EventCountPerDevice {
avgCountPerDevice?: number;
previousAvgCountPerDevice?: number;
countPerDevice?: DateTimeDecimalCounts[];
}
/**
* @class
* Initializes a new instance of the EventCountPerSession class.
* @constructor
* @member {number} [avgCountPerSession]
* @member {number} [previousAvgCountPerSession]
* @member {array} [countPerSession]
*/
export interface EventCountPerSession {
avgCountPerSession?: number;
previousAvgCountPerSession?: number;
countPerSession?: DateTimeDecimalCounts[];
}
/**
* @class
* Initializes a new instance of the EventProperties class.
* @constructor
* Event properties during the time range
*
* @member {array} [eventProperties]
*/
export interface EventProperties {
eventProperties?: string[];
}
/**
* @class
* Initializes a new instance of the EventPropertyValue class.
* @constructor
* An event property value with counts
*
* @member {string} [name] The event property value name
* @member {number} [count] The count of the the event property value
* @member {number} [previousCount] The count of previous time range of the
* event property value
*/
export interface EventPropertyValue {
name?: string;
count?: number;
previousCount?: number;
}
/**
* @class
* Initializes a new instance of the EventPropertyValues class.
* @constructor
* Event property value counts during the time range in descending order
*
* @member {number} [total] The total property value counts
* @member {array} [values] The event property values
*/
export interface EventPropertyValues {
total?: number;
values?: EventPropertyValue[];
}
/**
* @class
* Initializes a new instance of the Release class.
* @constructor
* @member {string} release Release Id.
*/
export interface Release {
release: string;
}
/**
* @class
* Initializes a new instance of the ReleaseWithDistributionGroup class.
* @constructor
* @member {string} [distributionGroup] Distribution group Id.
*/
export interface ReleaseWithDistributionGroup extends Release {
distributionGroup?: string;
}
/**
* @class
* Initializes a new instance of the ReleaseWithDistributionGroupAndUserId class.
* @constructor
* @member {uuid} [userId] Unique user Id. Will generate a new user Id if not
* provided.
*/
export interface ReleaseWithDistributionGroupAndUserId extends ReleaseWithDistributionGroup {
userId?: string;
}
/**
* @class
* Initializes a new instance of the NotifyReleasesContainer class.
* @constructor
* @member {array} releases
*/
export interface NotifyReleasesContainer {
releases: ReleaseWithDistributionGroupAndUserId[];
}
/**
* @class
* Initializes a new instance of the DeleteReleasesContainer class.
* @constructor
* @member {array} releases
*/
export interface DeleteReleasesContainer {
releases: Release[];
}
/**
* @class
* Initializes a new instance of the GetReleasesContainer class.
* @constructor
* @member {array} releases
*/
export interface GetReleasesContainer {
releases: ReleaseWithDistributionGroup[];
}
/**
* @class
* Initializes a new instance of the FilterReleasesContainer class.
* @constructor
* @member {array} [releases]
*/
export interface FilterReleasesContainer {
releases?: Release[];
}
/**
* @class
* Initializes a new instance of the FilterVersionsContainerVersionsItem class.
* @constructor
* @member {string} version App version
* @member {string} build App build number
*/
export interface FilterVersionsContainerVersionsItem {
version: string;
build: string;
}
/**
* @class
* Initializes a new instance of the FilterVersionsContainer class.
* @constructor
* @member {array} [versions]
*/
export interface FilterVersionsContainer {
versions?: FilterVersionsContainerVersionsItem[];
}
/**
* @class
* Initializes a new instance of the ReleaseCount class.
* @constructor
* @member {string} releaseId
* @member {string} [distributionGroup] Distribution group queried.
* @member {number} uniqueCount Count of unique downloads against user id.
* @member {number} totalCount Total count of downloads.
*/
export interface ReleaseCount {
releaseId: string;
distributionGroup?: string;
uniqueCount: number;
totalCount: number;
}
/**
* @class
* Initializes a new instance of the ReleaseCounts class.
* @constructor
* @member {number} [total]
* @member {array} counts
*/
export interface ReleaseCounts {
total?: number;
counts: ReleaseCount[];
}
/**
* @class
* Initializes a new instance of the DailySession class.
* @constructor
* @member {string} [datetime] the ISO 8601 datetime
* @member {number} [count]
*/
export interface DailySession {
datetime?: string;
count?: number;
}
/**
* @class
* Initializes a new instance of the ReleaseDailySessions class.
* @constructor
* @member {number} [totalSessionCounts]
* @member {number} [avgSessionsPerDay]
* @member {array} [sessions] Sessions per day
*/
export interface ReleaseDailySessions {
totalSessionCounts?: number;
avgSessionsPerDay?: number;
sessions?: DailySession[];
}
/**
* @class
* Initializes a new instance of the DateTimeDownloadReleaseCount class.
* @constructor
* @member {string} [datetime] the ISO 8601 datetime
* @member {number} [total]
* @member {number} [unique]
*/
export interface DateTimeDownloadReleaseCount {
datetime?: string;
total?: number;
unique?: number;
}
/**
* @class
* Initializes a new instance of the DateTimeDownloadReleaseCounts class.
* @constructor
* @member {number} [total]
* @member {number} [unique]
* @member {array} [counts] Release Counts per day
*/
export interface DateTimeDownloadReleaseCounts {
total?: number;
unique?: number;
counts?: DateTimeDownloadReleaseCount[];
}
/**
* @class
* Initializes a new instance of the LogFlowDevice class.
* @constructor
* Device characteristics.
*
* @member {string} sdkName Name of the SDK. Consists of the name of the SDK
* and the platform, e.g. "appcenter.ios", "hockeysdk.android".
* @member {string} sdkVersion Version of the SDK in semver format, e.g.
* "1.2.0" or "0.12.3-alpha.1".
* @member {string} [wrapperSdkVersion] Version of the wrapper SDK in semver
* format. When the SDK is embedding another base SDK (for example
* Xamarin.Android wraps Android), the Xamarin specific version is populated
* into this field while sdkVersion refers to the original Android SDK.
* @member {string} [wrapperSdkName] Name of the wrapper SDK. Consists of the
* name of the SDK and the wrapper platform, e.g. "appcenter.xamarin",
* "hockeysdk.cordova".
* @member {string} [model] Device model (example: iPad2,3).
* @member {string} [oemName] Device manufacturer (example: HTC).
* @member {string} osName OS name (example: iOS). The following OS names are
* standardized (non-exclusive): Android, iOS, macOS, tvOS, Windows.
* @member {string} osVersion OS version (example: 9.3.0).
* @member {string} [osBuild] OS build code (example: LMY47X).
* @member {number} [osApiLevel] API level when applicable like in Android
* (example: 15).
* @member {string} locale Language code (example: en_US).
* @member {number} timeZoneOffset The offset in minutes from UTC for the
* device time zone, including daylight savings time.
* @member {string} [screenSize] Screen size of the device in pixels (example:
* 640x480).
* @member {string} appVersion Application version name, e.g. 1.1.0
* @member {string} [carrierName] Carrier name (for mobile devices).
* @member {string} [carrierCode] Carrier country code (for mobile devices).
* @member {string} [carrierCountry] Carrier country.
* @member {string} appBuild The app's build number, e.g. 42.
* @member {string} [appNamespace] The bundle identifier, package identifier,
* or namespace, depending on what the individual plattforms use, .e.g
* com.microsoft.example.
* @member {string} [liveUpdateReleaseLabel] Label that is used to identify
* application code 'version' released via Live Update beacon running on device
* @member {string} [liveUpdateDeploymentKey] Identifier of environment that
* current application release belongs to, deployment key then maps to
* environment like Production, Staging.
* @member {string} [liveUpdatePackageHash] Hash of all files (ReactNative or
* Cordova) deployed to device via LiveUpdate beacon. Helps identify the
* Release version on device or need to download updates in future.
* @member {string} [wrapperRuntimeVersion] Version of the wrapper technology
* framework (Xamarin runtime version or ReactNative or Cordova etc...). See
* wrapper_sdk_name to see if this version refers to Xamarin or ReactNative or
* other.
*/
export interface LogFlowDevice {
sdkName: string;
sdkVersion: string;
wrapperSdkVersion?: string;
wrapperSdkName?: string;
model?: string;
oemName?: string;
osName: string;
osVersion: string;
osBuild?: string;
osApiLevel?: number;
locale: string;
timeZoneOffset: number;
screenSize?: string;
appVersion: string;
carrierName?: string;
carrierCode?: string;
carrierCountry?: string;
appBuild: string;
appNamespace?: string;
liveUpdateReleaseLabel?: string;
liveUpdateDeploymentKey?: string;
liveUpdatePackageHash?: string;
wrapperRuntimeVersion?: string;
}
/**
* @class
* Initializes a new instance of the LogFlowLog class.
* @constructor
* @member {date} timestamp Log creation timestamp.
* @member {uuid} installId Install ID.
* @member {object} device
* @member {string} [device.sdkName] Name of the SDK. Consists of the name of
* the SDK and the platform, e.g. "appcenter.ios", "hockeysdk.android".
* @member {string} [device.sdkVersion] Version of the SDK in semver format,
* e.g. "1.2.0" or "0.12.3-alpha.1".
* @member {string} [device.wrapperSdkVersion] Version of the wrapper SDK in
* semver format. When the SDK is embedding another base SDK (for example
* Xamarin.Android wraps Android), the Xamarin specific version is populated
* into this field while sdkVersion refers to the original Android SDK.
* @member {string} [device.wrapperSdkName] Name of the wrapper SDK. Consists
* of the name of the SDK and the wrapper platform, e.g. "appcenter.xamarin",
* "hockeysdk.cordova".
* @member {string} [device.model] Device model (example: iPad2,3).
* @member {string} [device.oemName] Device manufacturer (example: HTC).
* @member {string} [device.osName] OS name (example: iOS). The following OS
* names are standardized (non-exclusive): Android, iOS, macOS, tvOS, Windows.
* @member {string} [device.osVersion] OS version (example: 9.3.0).
* @member {string} [device.osBuild] OS build code (example: LMY47X).
* @member {number} [device.osApiLevel] API level when applicable like in
* Android (example: 15).
* @member {string} [device.locale] Language code (example: en_US).
* @member {number} [device.timeZoneOffset] The offset in minutes from UTC for
* the device time zone, including daylight savings time.
* @member {string} [device.screenSize] Screen size of the device in pixels
* (example: 640x480).
* @member {string} [device.appVersion] Application version name, e.g. 1.1.0
* @member {string} [device.carrierName] Carrier name (for mobile devices).
* @member {string} [device.carrierCode] Carrier country code (for mobile
* devices).
* @member {string} [device.carrierCountry] Carrier country.
* @member {string} [device.appBuild] The app's build number, e.g. 42.
* @member {string} [device.appNamespace] The bundle identifier, package
* identifier, or namespace, depending on what the individual plattforms use,
* .e.g com.microsoft.example.
* @member {string} [device.liveUpdateReleaseLabel] Label that is used to
* identify application code 'version' released via Live Update beacon running
* on device
* @member {string} [device.liveUpdateDeploymentKey] Identifier of environment
* that current application release belongs to, deployment key then maps to
* environment like Production, Staging.
* @member {string} [device.liveUpdatePackageHash] Hash of all files
* (ReactNative or Cordova) deployed to device via LiveUpdate beacon. Helps
* identify the Release version on device or need to download updates in
* future.
* @member {string} [device.wrapperRuntimeVersion] Version of the wrapper
* technology framework (Xamarin runtime version or ReactNative or Cordova
* etc...). See wrapper_sdk_name to see if this version refers to Xamarin or
* ReactNative or other.
* @member {string} type Polymorphic Discriminator
*/
export interface LogFlowLog {
timestamp: Date;
installId: string;
device: LogFlowDevice;
type: string;
}
/**
* @class
* Initializes a new instance of the LogFlowLogContainer class.
* @constructor
* @member {boolean} [exceededMaxLimit] indicates if the number of available
* logs are more than the max allowed return limit(100).
* @member {date} [lastReceivedLogTimestamp] the timestamp of the last log
* received. This value can be used as the start time parameter in the
* consecutive API call.
* @member {array} logs the list of logs
*/
export interface LogFlowLogContainer {
exceededMaxLimit?: boolean;
lastReceivedLogTimestamp?: Date;
logs: LogFlowLog[];
}
/**
* @class
* Initializes a new instance of the LogFlowGenericLog class.
* @constructor
* Generic log.
*
* @member {string} type Log type.
* . Possible values include: 'event', 'page', 'start_session', 'error',
* 'push_installation', 'start_service', 'custom_properties'
* @member {date} timestamp Log creation timestamp.
* @member {uuid} installId Install ID.
* @member {uuid} [sessionId] Session ID.
* @member {string} [eventId] Event ID.
* @member {string} [eventName] Event name.
* @member {string} [messageId] Message ID.
* @member {object} [properties] event specific properties.
* @member {object} device
* @member {string} [device.sdkName] Name of the SDK. Consists of the name of
* the SDK and the platform, e.g. "appcenter.ios", "hockeysdk.android".
* @member {string} [device.sdkVersion] Version of the SDK in semver format,
* e.g. "1.2.0" or "0.12.3-alpha.1".
* @member {string} [device.wrapperSdkVersion] Version of the wrapper SDK in
* semver format. When the SDK is embedding another base SDK (for example
* Xamarin.Android wraps Android), the Xamarin specific version is populated
* into this field while sdkVersion refers to the original Android SDK.
* @member {string} [device.wrapperSdkName] Name of the wrapper SDK. Consists
* of the name of the SDK and the wrapper platform, e.g. "appcenter.xamarin",
* "hockeysdk.cordova".
* @member {string} [device.model] Device model (example: iPad2,3).
* @member {string} [device.oemName] Device manufacturer (example: HTC).
* @member {string} [device.osName] OS name (example: iOS). The following OS
* names are standardized (non-exclusive): Android, iOS, macOS, tvOS, Windows.
* @member {string} [device.osVersion] OS version (example: 9.3.0).
* @member {string} [device.osBuild] OS build code (example: LMY47X).
* @member {number} [device.osApiLevel] API level when applicable like in
* Android (example: 15).
* @member {string} [device.locale] Language code (example: en_US).
* @member {number} [device.timeZoneOffset] The offset in minutes from UTC for
* the device time zone, including daylight savings time.
* @member {string} [device.screenSize] Screen size of the device in pixels
* (example: 640x480).
* @member {string} [device.appVersion] Application version name, e.g. 1.1.0
* @member {string} [device.carrierName] Carrier name (for mobile devices).
* @member {string} [device.carrierCode] Carrier country code (for mobile
* devices).
* @member {string} [device.carrierCountry] Carrier country.
* @member {string} [device.appBuild] The app's build number, e.g. 42.
* @member {string} [device.appNamespace] The bundle identifier, package
* identifier, or namespace, depending on what the individual plattforms use,
* .e.g com.microsoft.example.
* @member {string} [device.liveUpdateReleaseLabel] Label that is used to
* identify application code 'version' released via Live Update beacon running
* on device
* @member {string} [device.liveUpdateDeploymentKey] Identifier of environment
* that current application release belongs to, deployment key then maps to
* environment like Production, Staging.
* @member {string} [device.liveUpdatePackageHash] Hash of all files
* (ReactNative or Cordova) deployed to device via LiveUpdate beacon. Helps
* identify the Release version on device or need to download updates in
* future.
* @member {string} [device.wrapperRuntimeVersion] Version of the wrapper
* technology framework (Xamarin runtime version or ReactNative or Cordova
* etc...). See wrapper_sdk_name to see if this version refers to Xamarin or
* ReactNative or other.
*/
export interface LogFlowGenericLog {
type: string;
timestamp: Date;
installId: string;
sessionId?: string;
eventId?: string;
eventName?: string;
messageId?: string;
properties?: { [propertyName: string]: string };
device: LogFlowDevice;
}
/**
* @class
* Initializes a new instance of the LogFlowGenericLogContainer class.
* @constructor
* @member {boolean} [exceededMaxLimit] indicates if the number of available
* logs are more than the max allowed return limit(100).
* @member {date} [lastReceivedLogTimestamp] the timestamp of the last log
* received. This value can be used as the start time parameter in the
* consecutive API call.
* @member {array} logs the list of logs
*/
export interface LogFlowGenericLogContainer {
exceededMaxLimit?: boolean;
lastReceivedLogTimestamp?: Date;
logs: LogFlowGenericLog[];
}
/**
* @class
* Initializes a new instance of the LogFlowLogWithProperties class.
* @constructor
* @member {object} [properties] Additional key/value pair parameters.
*/
export interface LogFlowLogWithProperties extends LogFlowLog {
properties?: { [propertyName: string]: string };
}
/**
* @class
* Initializes a new instance of the LogFlowStartSessionLog class.
* @constructor
* Required explicit begin session log (a marker event for analytics service).
*
* @member {uuid} sessionId Session ID.
*/
export interface LogFlowStartSessionLog extends LogFlowLog {
sessionId: string;
}
/**
* @class
* Initializes a new instance of the LogFlowStartServiceLog class.
* @constructor
* Describe a AppCenter.Start API call from the SDK.
*
* @member {array} [services] The list of services of the AppCenter Start API
* call.
*/
export interface LogFlowStartServiceLog extends LogFlowLog {
services?: string[];
}
/**
* @class
* Initializes a new instance of the LogFlowCustomProperty class.
* @constructor
* @member {string} name
* @member {string} type Polymorphic Discriminator
*/
export interface LogFlowCustomProperty {
name: string;
type: string;
}
/**
* @class
* Initializes a new instance of the LogFlowCustomPropertyLog class.
* @constructor
* Set or remove custom properties.
*
* @member {array} [properties] Custom property changes.
*/
export interface LogFlowCustomPropertyLog extends LogFlowLog {
properties?: LogFlowCustomProperty[];
}
/**
* @class
* Initializes a new instance of the LogFlowStringProperty class.
* @constructor
* String property.
*
* @member {string} value String property value.
*/
export interface LogFlowStringProperty extends LogFlowCustomProperty {
value: string;
}
/**
* @class
* Initializes a new instance of the LogFlowNumberProperty class.
* @constructor
* Number property.
*
* @member {number} value Number property value.
*/
export interface LogFlowNumberProperty extends LogFlowCustomProperty {
value: number;
}
/**
* @class
* Initializes a new instance of the LogFlowBooleanProperty class.
* @constructor
* Boolean property.
*
* @member {boolean} value Boolean property value.
*/
export interface LogFlowBooleanProperty extends LogFlowCustomProperty {
value: boolean;
}
/**
* @class
* Initializes a new instance of the LogFlowDateTimeProperty class.
* @constructor
* Date and time property.
*
* @member {date} value Date time property value.
*/
export interface LogFlowDateTimeProperty extends LogFlowCustomProperty {
value: Date;
}
/**
* @class
* Initializes a new instance of the LogFlowClearProperty class.
* @constructor
* Clear an existing property.
*
*/
export interface LogFlowClearProperty extends LogFlowCustomProperty {
}
/**
* @class
* Initializes a new instance of the LogFlowPageLog class.
* @constructor
* Page view log (as in screens or activities).
*
* @member {uuid} sessionId Session ID.
* @member {string} name Name of the page.
*/
export interface LogFlowPageLog extends LogFlowLogWithProperties {
sessionId: string;
name: string;
}
/**
* @class
* Initializes a new instance of the LogFlowEventLog class.
* @constructor
* Event log.
*
* @member {uuid} sessionId Session ID.
* @member {uuid} id Unique identifier for this event.
* @member {string} name Name of the event.
*/
export interface LogFlowEventLog extends LogFlowLogWithProperties {
sessionId: string;
id: string;
name: string;
}
/**
* @class
* Initializes a new instance of the LogFlowPushInstallationLog class.
* @constructor
* Push installation Information.
*
* @member {string} pushToken The PNS handle for this installation.
*/
export interface LogFlowPushInstallationLog extends LogFlowLog {
pushToken: string;
}
/**
* @class
* Initializes a new instance of the LogFlowErrorLog class.
* @constructor
* Error log.
*
* @member {uuid} sessionId Session ID.
* @member {uuid} id Error identifier.
* @member {number} [appLaunchToffset] Corresponds to the number of
* milliseconds elapsed between the time the error occurred and the app was
* launched.
*/
export interface LogFlowErrorLog extends LogFlowLog {
sessionId: string;
id: string;
appLaunchToffset?: number;
}
/**
* @class
* Initializes a new instance of the NotificationTarget class.
* @constructor
* Generic notification target.
*
* @member {string} type Polymorphic Discriminator
*/
export interface NotificationTarget {
type: string;
}
/**
* @class
* Initializes a new instance of the NotificationOverviewResult class.
* @constructor
* Notification statistics
*
* @member {string} notificationId Notification id.
* @member {string} [name] Notification name
* @member {object} [notificationTarget]
* @member {string} [notificationTarget.type] Polymorphic Discriminator
* @member {date} [sendTime] Notification send time
* @member {number} [pnsSendFailure] Number of the notifications failed to send
* to the push provider.
* @member {number} [pnsSendSuccess] Number of the notifications successfully
* sent to push the provider.
* @member {string} state State of the notification. Possible values include:
* 'Cancelled', 'Completed', 'Enqueued', 'Processing', 'Unknown'
*/
export interface NotificationOverviewResult {
notificationId: string;
name?: string;
notificationTarget?: NotificationTarget;
sendTime?: Date;
pnsSendFailure?: number;
pnsSendSuccess?: number;
state: string;
}
/**
* @class
* Initializes a new instance of the NotificationsListResult class.
* @constructor
* List of notifications
*
* @member {array} values
* @member {number} [total] the total count of notifications
* @member {string} [nextLink]
*/
export interface NotificationsListResult {
values: NotificationOverviewResult[];
total?: number;
nextLink?: string;
}
/**
* @class
* Initializes a new instance of the NotificationContent class.
* @constructor
* Notification definition object
*
* @member {string} name Notification name
* @member {string} [title] Notification title
* @member {string} body Notification body
* @member {object} [customData] Notification custom data(priority, expiration,
* etc.)
*/
export interface NotificationContent {
name: string;
title?: string;
body: string;
customData?: { [propertyName: string]: string };
}
/**
* @class
* Initializes a new instance of the NotificationFailureOutcomeCount class.
* @constructor
* Notification failure outcome count
*
* @member {string} [failureReason] The reason of the notification failure
* @member {number} [count] count of this type of failure
*/
export interface NotificationFailureOutcomeCount {
failureReason?: string;
count?: number;
}
/**
* @class
* Initializes a new instance of the NotificationDetailsResult class.
* @constructor
* Notification statistics
*
* @member {object} notificationContent
* @member {string} [notificationContent.name] Notification name
* @member {string} [notificationContent.title] Notification title
* @member {string} [notificationContent.body] Notification body
* @member {object} [notificationContent.customData] Notification custom
* data(priority, expiration, etc.)
* @member {array} [failureOutcomes] Failture outcome counts
*/
export interface NotificationDetailsResult extends NotificationOverviewResult {
notificationContent: NotificationContent;
failureOutcomes?: NotificationFailureOutcomeCount[];
}
/**
* @class
* Initializes a new instance of the NotificationIdList class.
* @constructor
* List of notification Ids
*
* @member {array} values List of notification Ids.
*/
export interface NotificationIdList {
values: string[];
}
/**
* @class
* Initializes a new instance of the NotificationDefinition class.
* @constructor
* Notification definition object
*
* @member {object} [notificationTarget]
* @member {string} [notificationTarget.type] Polymorphic Discriminator
* @member {object} notificationContent
* @member {string} [notificationContent.name] Notification name
* @member {string} [notificationContent.title] Notification title
* @member {string} [notificationContent.body] Notification body
* @member {object} [notificationContent.customData] Notification custom
* data(priority, expiration, etc.)
*/
export interface NotificationDefinition {
notificationTarget?: NotificationTarget;
notificationContent: NotificationContent;
}
/**
* @class
* Initializes a new instance of the NotificationSendSucceededResult class.
* @constructor
* Notification send succeeded.
*
* @member {string} notificationId The unique notification identifier.
*/
export interface NotificationSendSucceededResult {
notificationId: string;
}
/**
* @class
* Initializes a new instance of the NotificationTargetAudiences class.
* @constructor
* Notification target audiences.
*
* @member {array} audiences List of target audiences.
*/
export interface NotificationTargetAudiences extends NotificationTarget {
audiences: string[];
}
/**
* @class
* Initializes a new instance of the NotificationTargetDevices class.
* @constructor
* Notification target devices. If null, all devices will be
* targeted(broadcast).
*
* @member {array} devices List of target devices.
*/
export interface NotificationTargetDevices extends NotificationTarget {
devices: string[];
}
/**
* @class
* Initializes a new instance of the NotificationConfig class.
* @constructor
* Generic notification configuration.
*
* @member {string} type Polymorphic Discriminator
*/
export interface NotificationConfig {
type: string;
}
/**
* @class
* Initializes a new instance of the NotificationConfigApple class.
* @constructor
* Apple notification certificate configuration.
*
* @member {string} endpointType Possible values include: 'production',
* 'sandbox'
* @member {string} certEncoded Base64 encoded certificate string.
* @member {string} certFilename Certificate file name
* @member {string} certKey Certificate password
*/
export interface NotificationConfigApple extends NotificationConfig {
endpointType: string;
certEncoded: string;
certFilename: string;
certKey: string;
}
/**
* @class
* Initializes a new instance of the NotificationConfigAppleToken class.
* @constructor
* Apple notification auth token configuration.
*
* @member {string} keyId A 10-character key identifier (kid).
* @member {string} id Application ID.
* @member {string} prefix Application prefix.
* @member {string} token Provider Authentication Token.
* @member {string} endpointType Possible values include: 'production',
* 'sandbox'
*/
export interface NotificationConfigAppleToken extends NotificationConfig {
keyId: string;
id: string;
prefix: string;
token: string;
endpointType: string;
}
/**
* @class
* Initializes a new instance of the NotificationConfigGoogle class.
* @constructor
* Google notification configuration.
*
* @member {string} googleApiKey GCM API key.
*/
export interface NotificationConfigGoogle extends NotificationConfig {
googleApiKey: string;
}
/**
* @class
* Initializes a new instance of the NotificationConfigWindows class.
* @constructor
* WNS notification configuration.
*
* @member {string} packageSid Package security identifier (SID).
* @member {string} secretKey Secret key.
*/
export interface NotificationConfigWindows extends NotificationConfig {
packageSid: string;
secretKey: string;
}
/**
* @class
* Initializes a new instance of the NotificationConfigResult class.
* @constructor
* Generic notification configuration result.
*
* @member {string} type Polymorphic Discriminator
*/
export interface NotificationConfigResult {
type: string;
}
/**
* @class
* Initializes a new instance of the NotificationConfigAppleResult class.
* @constructor
* Apple notification certificate configuration result.
*
* @member {string} endpointType Possible values include: 'production',
* 'sandbox'
* @member {date} certExpiration Certificate expiration date.
* @member {string} certFilename Certificate file name
*/
export interface NotificationConfigAppleResult extends NotificationConfigResult {
endpointType: string;
certExpiration: Date;
certFilename: string;
}
/**
* @class
* Initializes a new instance of the NotificationConfigAppleTokenResult class.
* @constructor
* Apple notification auth token configuration result.
*
* @member {string} keyId A 10-character key identifier (kid).
* @member {string} id Application ID.
* @member {string} prefix Application Prefix.
* @member {string} endpointType Possible values include: 'production',
* 'sandbox'
*/
export interface NotificationConfigAppleTokenResult extends NotificationConfigResult {
keyId: string;
id: string;
prefix: string;
endpointType: string;
}
/**
* @class
* Initializes a new instance of the NotificationConfigGoogleResult class.
* @constructor
* Google notification configuration result.
*
* @member {string} googleApiKey GCM API key.
*/
export interface NotificationConfigGoogleResult extends NotificationConfigResult {
googleApiKey: string;
}
/**
* @class
* Initializes a new instance of the NotificationConfigWindowsResult class.
* @constructor
* WNS notification configuration result.
*
* @member {string} packageSid Package security identifier (SID).
* @member {string} [secretKey] windows push configuration secret key.
*/
export interface NotificationConfigWindowsResult extends NotificationConfigResult {
packageSid: string;
secretKey?: string;
}
/**
* @class
* Initializes a new instance of the ExportConfiguration class.
* @constructor
* Export configuration
*
* @member {string} [resourceName] The resource name on azure
* @member {string} [resourceGroup] The resource group name on azure
* @member {string} type Polymorphic Discriminator
*/
export interface ExportConfiguration {
resourceName?: string;
resourceGroup?: string;
type: string;
}
/**
* @class
* Initializes a new instance of the ExportConfigurationBlobStorageConnectionString class.
* @constructor
* Configuration for export to Blob Storage with customer provided connection
* string
*
* @member {string} connectionString Connection string for blob storage account
*/
export interface ExportConfigurationBlobStorageConnectionString extends ExportConfiguration {
connectionString: string;
}
/**
* @class
* Initializes a new instance of the ExportConfigurationAppInsightsKey class.
* @constructor
* Configuration for export to Application Insights resource with customer
* provided intrumentation key
*
* @member {string} instrumentationKey Instrumentation key for Application
* Insights resource
*/
export interface ExportConfigurationAppInsightsKey extends ExportConfiguration {
instrumentationKey: string;
}
/**
* @class
* Initializes a new instance of the ExportConfigurationBlobStorageLinkedSubscription class.
* @constructor
* Configuration for export to Blob Storage with customer linked subscription.
*
* @member {string} subscriptionId Id of customer subscription linked in App
* Center
*/
export interface ExportConfigurationBlobStorageLinkedSubscription extends ExportConfiguration {
subscriptionId: string;
}
/**
* @class
* Initializes a new instance of the ExportConfigurationAppInsightsLinkedSubscription class.
* @constructor
* Configuration for export to Application Insights resource with customer
* linked subscription.
*
* @member {string} subscriptionId Id of customer subscription linked in App
* Center
*/
export interface ExportConfigurationAppInsightsLinkedSubscription extends ExportConfiguration {
subscriptionId: string;
}
/**
* @class
* Initializes a new instance of the ExportConfigurationResult class.
* @constructor
* Export configuration result
*
* @member {string} id Export configuration id
* @member {string} exportType Target resource type of export configuration.
* Possible values include: 'BlobStorage', 'AppInsights'
* @member {string} creationTime Creation time in ISO 8601 format
* @member {string} [lastRunTime] Latest time in ISO 8601 format when export
* completed successfully
* @member {string} state State of the export job. Possible values include:
* 'Enabled', 'Disabled', 'Pending', 'Deleted', 'Invalid'
* @member {string} [stateInfo] Additional information about export
* configuration state
* @member {string} [resourceGroup] resource group for the storage account/App
* Insights resource
* @member {string} [resourceName] Storage accout or Appinsights resource name
* @member {object} [exportConfiguration]
* @member {string} [exportConfiguration.resourceName] The resource name on
* azure
* @member {string} [exportConfiguration.resourceGroup] The resource group name
* on azure
* @member {string} [exportConfiguration.type] Polymorphic Discriminator
*/
export interface ExportConfigurationResult {
id: string;
exportType: string;
creationTime: string;
lastRunTime?: string;
state: string;
stateInfo?: string;
resourceGroup?: string;
resourceName?: string;
exportConfiguration?: ExportConfiguration;
}
/**
* @class
* Initializes a new instance of the ExportConfigurationListResult class.
* @constructor
* List of export configurations
*
* @member {array} values
* @member {number} [total] the total count of exports
* @member {string} [nextLink]
*/
export interface ExportConfigurationListResult {
values: ExportConfigurationResult[];
total?: number;
nextLink?: string;
}
/**
* @class
* Initializes a new instance of the DeviceConfigurationImage class.
* @constructor
* @member {string} [full]
* @member {string} [thumb]
*/
export interface DeviceConfigurationImage {
full?: string;
thumb?: string;
}
/**
* @class
* Initializes a new instance of the DeviceDimensions class.
* @constructor
* Physical device dimensions
*
* @member {object} [depth]
* @member {object} [height]
* @member {object} [width]
*/
export interface DeviceDimensions {
depth?: any;
height?: any;
width?: any;
}
/**
* @class
* Initializes a new instance of the DeviceResolution class.
* @constructor
* Device screen resolution
*
* @member {string} [height]
* @member {string} [width]
* @member {string} [ppi]
*/
export interface DeviceResolution {
height?: string;
width?: string;
ppi?: string;
}
/**
* @class
* Initializes a new instance of the DeviceScreenSize class.
* @constructor
* Physical device screen dimensions
*
* @member {string} [cm]
* @member {string} [inProperty]
*/
export interface DeviceScreenSize {
cm?: string;
inProperty?: string;
}
/**
* @class
* Initializes a new instance of the DeviceCpu class.
* @constructor
* CPU data for device
*
* @member {string} [frequency]
* @member {string} [core]
*/
export interface DeviceCpu {
frequency?: string;
core?: string;
}
/**
* @class
* Initializes a new instance of the DeviceMemory class.
* @constructor
* Memory data for device
*
* @member {string} [formattedSize]
*/
export interface DeviceMemory {
formattedSize?: string;
}
/**
* @class
* Initializes a new instance of the DeviceFrameDefinition class.
* @constructor
* @member {number} [width]
* @member {number} [height]
* @member {string} [frameUrl]
* @member {array} [screen]
*/
export interface DeviceFrameDefinition {
width?: number;
height?: number;
frameUrl?: string;
screen?: number[];
}
/**
* @class
* Initializes a new instance of the DeviceFrame class.
* @constructor
* @member {object} [grid]
* @member {number} [grid.width]
* @member {number} [grid.height]
* @member {string} [grid.frameUrl]
* @member {array} [grid.screen]
* @member {object} [full]
* @member {number} [full.width]
* @member {number} [full.height]
* @member {string} [full.frameUrl]
* @member {array} [full.screen]
*/
export interface DeviceFrame {
grid?: DeviceFrameDefinition;
full?: DeviceFrameDefinition;
}
/**
* @class
* Initializes a new instance of the DeviceModel class.
* @constructor
* @member {string} [name]
* @member {string} [manufacturer]
* @member {string} [model]
* @member {string} [platform]
* @member {object} [dimensions]
* @member {object} [dimensions.depth]
* @member {object} [dimensions.height]
* @member {object} [dimensions.width]
* @member {object} [resolution]
* @member {string} [resolution.height]
* @member {string} [resolution.width]
* @member {string} [resolution.ppi]
* @member {string} [releaseDate]
* @member {string} [formFactor]
* @member {object} [screenSize]
* @member {string} [screenSize.cm]
* @member {string} [screenSize.inProperty]
* @member {object} [cpu]
* @member {string} [cpu.frequency]
* @member {string} [cpu.core]
* @member {object} [memory]
* @member {string} [memory.formattedSize]
* @member {number} [screenRotation]
* @member {object} [deviceFrame]
* @member {object} [deviceFrame.grid]
* @member {number} [deviceFrame.grid.width]
* @member {number} [deviceFrame.grid.height]
* @member {string} [deviceFrame.grid.frameUrl]
* @member {array} [deviceFrame.grid.screen]
* @member {object} [deviceFrame.full]
* @member {number} [deviceFrame.full.width]
* @member {number} [deviceFrame.full.height]
* @member {string} [deviceFrame.full.frameUrl]
* @member {array} [deviceFrame.full.screen]
* @member {number} [availabilityCount]
*/
export interface DeviceModel {
name?: string;
manufacturer?: string;
model?: string;
platform?: string;
dimensions?: DeviceDimensions;
resolution?: DeviceResolution;
releaseDate?: string;
formFactor?: string;
screenSize?: DeviceScreenSize;
cpu?: DeviceCpu;
memory?: DeviceMemory;
screenRotation?: number;
deviceFrame?: DeviceFrame;
availabilityCount?: number;
}
/**
* @class
* Initializes a new instance of the DeviceConfiguration class.
* @constructor
* @member {string} [name] The name of the device model and OS version
* @member {uuid} [id] The unique id of the device configuration
* @member {number} [tier] The tier
* @member {object} [image]
* @member {string} [image.full]
* @member {string} [image.thumb]
* @member {object} [model]
* @member {string} [model.name]
* @member {string} [model.manufacturer]
* @member {string} [model.model]
* @member {string} [model.platform]
* @member {object} [model.dimensions]
* @member {object} [model.dimensions.depth]
* @member {object} [model.dimensions.height]
* @member {object} [model.dimensions.width]
* @member {object} [model.resolution]
* @member {string} [model.resolution.height]
* @member {string} [model.resolution.width]
* @member {string} [model.resolution.ppi]
* @member {string} [model.releaseDate]
* @member {string} [model.formFactor]
* @member {object} [model.screenSize]
* @member {string} [model.screenSize.cm]
* @member {string} [model.screenSize.inProperty]
* @member {object} [model.cpu]
* @member {string} [model.cpu.frequency]
* @member {string} [model.cpu.core]
* @member {object} [model.memory]
* @member {string} [model.memory.formattedSize]
* @member {number} [model.screenRotation]
* @member {object} [model.deviceFrame]
* @member {object} [model.deviceFrame.grid]
* @member {number} [model.deviceFrame.grid.width]
* @member {number} [model.deviceFrame.grid.height]
* @member {string} [model.deviceFrame.grid.frameUrl]
* @member {array} [model.deviceFrame.grid.screen]
* @member {object} [model.deviceFrame.full]
* @member {number} [model.deviceFrame.full.width]
* @member {number} [model.deviceFrame.full.height]
* @member {string} [model.deviceFrame.full.frameUrl]
* @member {array} [model.deviceFrame.full.screen]
* @member {number} [model.availabilityCount]
* @member {string} [os]
* @member {string} [osName]
* @member {number} [marketShare]
*/
export interface DeviceConfiguration {
name?: string;
id?: string;
tier?: number;
image?: DeviceConfigurationImage;
model?: DeviceModel;
os?: string;
osName?: string;
marketShare?: number;
}
/**
* @class
* Initializes a new instance of the DeviceSetConfigurationImage class.
* @constructor
* @member {string} [thumb]
*/
export interface DeviceSetConfigurationImage {
thumb?: string;
}
/**
* @class
* Initializes a new instance of the DeviceSetModel class.
* @constructor
* @member {string} [name]
* @member {string} [manufacturer]
* @member {string} [releaseDate]
* @member {string} [formFactor]
*/
export interface DeviceSetModel {
name?: string;
manufacturer?: string;
releaseDate?: string;
formFactor?: string;
}
/**
* @class
* Initializes a new instance of the DeviceSetConfiguration class.
* @constructor
* @member {uuid} [id] The unique id of the device configuration
* @member {object} [image]
* @member {string} [image.thumb]
* @member {object} [model]
* @member {string} [model.name]
* @member {string} [model.manufacturer]
* @member {string} [model.releaseDate]
* @member {string} [model.formFactor]
* @member {string} [os]
* @member {string} [osName]
*/
export interface DeviceSetConfiguration {
id?: string;
image?: DeviceSetConfigurationImage;
model?: DeviceSetModel;
os?: string;
osName?: string;
}
/**
* @class
* Initializes a new instance of the TestRunStatistics class.
* @constructor
* @summary Test Run Statistics
*
* Summary single test run on Xamarin Test Cloud
*
* @member {number} [devices] Number of devices running the test
* @member {number} [devicesFinished] Number of finished devices
* @member {number} [devicesFailed] Number of failed devices
* @member {number} [total] Number of tests in total
* @member {number} [passed] Number of passed tests
* @member {number} [failed] Number of failed tests
* @member {number} [skipped] Number of skipped tests
* @member {number} [peakMemory] The max amount of MB used during the test run
* @member {number} [totalDeviceMinutes] The number of minutes of device time
* the test has been runnign
*/
export interface TestRunStatistics {
devices?: number;
devicesFinished?: number;
devicesFailed?: number;
total?: number;
passed?: number;
failed?: number;
skipped?: number;
peakMemory?: number;
totalDeviceMinutes?: number;
}
/**
* @class
* Initializes a new instance of the TestRun class.
* @constructor
* @summary Test Run
*
* Summary single test run on Xamarin Test Cloud
*
* @member {uuid} [id] The unique id of the test upload
* @member {string} [date] The date and time the test was uploaded
* @member {string} [appVersion] The compiled version of the app binary
* @member {string} [testSeries] The name of the test series with which this
* test upload is associated
* @member {string} [platform] The device platform targeted by the test.
* Possible values are 'ios' or 'android'
* @member {string} [runStatus] The current status of the test run, in relation
* to the various phases
* @member {string} [resultStatus] The passed/failed state
* @member {string} [state] Deprecated. Use runStatus instead.
* @member {string} [status] Deprecated. Use resultStatus instead.
* @member {string} [description] Human readable explanation of the current
* test status
* @member {object} [stats]
* @member {number} [stats.devices] Number of devices running the test
* @member {number} [stats.devicesFinished] Number of finished devices
* @member {number} [stats.devicesFailed] Number of failed devices
* @member {number} [stats.total] Number of tests in total
* @member {number} [stats.passed] Number of passed tests
* @member {number} [stats.failed] Number of failed tests
* @member {number} [stats.skipped] Number of skipped tests
* @member {number} [stats.peakMemory] The max amount of MB used during the
* test run
* @member {number} [stats.totalDeviceMinutes] The number of minutes of device
* time the test has been runnign
* @member {string} [testType] The name of the test framework used to run this
* test
* @member {string} [uploadedBy] The name of the user who uploaded the test
*/
export interface TestRun {
id?: string;
date?: string;
appVersion?: string;
testSeries?: string;
platform?: string;
runStatus?: string;
resultStatus?: string;
state?: string;
status?: string;
description?: string;
stats?: TestRunStatistics;
testType?: string;
uploadedBy?: string;
}
/**
* @class
* Initializes a new instance of the TestRunSummary class.
* @constructor
* @summary Test Run Summary
*
* Most important information about a test run.
*
* @member {string} [date] Date of the test run.
* @member {string} [statusDescription] Human-readable status of the test run.
* @member {number} [failed] Number of failed tests
* @member {number} [passed] Number of passed tests
* @member {boolean} [completed] Tells whether the test run has completed
*/
export interface TestRunSummary {
date?: string;
statusDescription?: string;
failed?: number;
passed?: number;
completed?: boolean;
}
/**
* @class
* Initializes a new instance of the TestSeries class.
* @constructor
* @summary Test Series
*
* Summary of a single test series
*
* @member {string} slug Unique, human-readable identifier of the test series
* @member {string} name Name of the test series
* @member {string} [mostRecentActivity] Date of the latest test run that used
* this test series
* @member {array} [testRuns] Most recent test runs
*/
export interface TestSeries {
slug: string;
name: string;
mostRecentActivity?: string;
testRuns?: TestRunSummary[];
}
/**
* @class
* Initializes a new instance of the TestSeriesName class.
* @constructor
* @summary Name of the test series
*
* @member {string} name Name of the new test series
*/
export interface TestSeriesName {
name: string;
}
/**
* @class
* Initializes a new instance of the DeviceList class.
* @constructor
* @summary Device List
*
* A list of device IDs
*
* @member {array} devices
*/
export interface DeviceList {
devices: string[];
}
/**
* @class
* Initializes a new instance of the DeviceSelection class.
* @constructor
* @summary Device Selection
*
* Short ID for a list of device IDs
*
* @member {string} shortId Identifier of the device selection
*/
export interface DeviceSelection {
shortId: string;
}
/**
* @class
* Initializes a new instance of the DeviceSetUpdate class.
* @constructor
* @summary Device Set update information
*
* The name of the device set and the list of device IDs
*
* @member {array} devices List of device IDs
* @member {string} name The name of the device set
*/
export interface DeviceSetUpdate {
devices: string[];
name: string;
}
/**
* @class
* Initializes a new instance of the DeviceSetOwner class.
* @constructor
* @summary Device Set Owner
*
* The owner of a device set
*
* @member {string} type Type of account
* @member {string} id Account ID
* @member {string} [displayName] Display name of the account
* @member {string} name Name of the account
*/
export interface DeviceSetOwner {
type: string;
id: string;
displayName?: string;
name: string;
}
/**
* @class
* Initializes a new instance of the DeviceSet class.
* @constructor
* @summary Device Set
*
* The name and devices of the device set
*
* @member {string} id Identifier of the device set
* @member {number} [manufacturerCount] The number of manufacturers in the
* device set's device selection
* @member {string} name Name of the device set
* @member {string} [slug] Slug of the device set
* @member {object} owner
* @member {string} [owner.type] Type of account
* @member {string} [owner.id] Account ID
* @member {string} [owner.displayName] Display name of the account
* @member {string} [owner.name] Name of the account
* @member {number} [osVersionCount] The number of os versions in the device
* set's device selection
* @member {array} deviceConfigurations
*/
export interface DeviceSet {
id: string;
manufacturerCount?: number;
name: string;
slug?: string;
owner: DeviceSetOwner;
osVersionCount?: number;
deviceConfigurations: DeviceSetConfiguration[];
}
/**
* @class
* Initializes a new instance of the Tier class.
* @constructor
* @summary Subscription Tier
*
* @member {string} [name] The name of the tier
*/
export interface Tier {
name?: string;
}
/**
* @class
* Initializes a new instance of the Subscription class.
* @constructor
* @summary Subscription
*
* Subscription information
*
* @member {string} [startsAt] The date the subscription began
* @member {string} [endsAt] The date the subscription will end or ended
* @member {number} [daysLeft] The number of days left in the subscription
* @member {object} [tier]
* @member {string} [tier.name] The name of the tier
* @member {boolean} [active] Is the subscription currently active?
* @member {uuid} [id] Id of the subscription
*/
export interface Subscription {
startsAt?: string;
endsAt?: string;
daysLeft?: number;
tier?: Tier;
active?: boolean;
id?: string;
}
/**
* @class
* Initializes a new instance of the TestReportStats class.
* @constructor
* @member {number} os
* @member {number} devices
* @member {number} filesize
* @member {number} totalDeviceMinutes
* @member {number} devicesNotRunned
* @member {number} failed
* @member {number} skipped
* @member {number} passed
* @member {number} total
* @member {number} devicesFinished
* @member {number} devicesFailed
* @member {number} devicesSkipped
* @member {number} stepCount
* @member {object} [artifacts]
*/
export interface TestReportStats {
os: number;
devices: number;
filesize: number;
totalDeviceMinutes: number;
devicesNotRunned: number;
failed: number;
skipped: number;
passed: number;
total: number;
devicesFinished: number;
devicesFailed: number;
devicesSkipped: number;
stepCount: number;
artifacts?: { [propertyName: string]: string };
}
/**
* @class
* Initializes a new instance of the TestReportFeaturesItemTestsItemRunsItemStepsItemStepExecutionsItem class.
* @constructor
* @member {string} [deviceSnapshotId]
* @member {string} [status]
* @member {number} [timestamp]
*/
export interface TestReportFeaturesItemTestsItemRunsItemStepsItemStepExecutionsItem {
deviceSnapshotId?: string;
status?: string;
timestamp?: number;
}
/**
* @class
* Initializes a new instance of the TestReportFeaturesItemTestsItemRunsItemStepsItem class.
* @constructor
* @member {string} [stepName]
* @member {string} [id]
* @member {array} [stepExecutions]
* @member {number} [failed]
* @member {number} [skipped]
* @member {string} [stepReportUrl]
*/
export interface TestReportFeaturesItemTestsItemRunsItemStepsItem {
stepName?: string;
id?: string;
stepExecutions?: TestReportFeaturesItemTestsItemRunsItemStepsItemStepExecutionsItem[];
failed?: number;
skipped?: number;
stepReportUrl?: string;
}
/**
* @class
* Initializes a new instance of the TestReportFeaturesItemTestsItemRunsItem class.
* @constructor
* @member {number} [number]
* @member {array} [steps]
* @member {number} [failed]
* @member {number} [skipped]
* @member {string} [reportUrl]
* @member {string} [id]
*/
export interface TestReportFeaturesItemTestsItemRunsItem {
number?: number;
steps?: TestReportFeaturesItemTestsItemRunsItemStepsItem[];
failed?: number;
skipped?: number;
reportUrl?: string;
id?: string;
}
/**
* @class
* Initializes a new instance of the TestReportFeaturesItemTestsItem class.
* @constructor
* @member {string} [testName]
* @member {array} [runs]
* @member {number} [peakMemory]
* @member {number} [peakDuration]
*/
export interface TestReportFeaturesItemTestsItem {
testName?: string;
runs?: TestReportFeaturesItemTestsItemRunsItem[];
peakMemory?: number;
peakDuration?: number;
}
/**
* @class
* Initializes a new instance of the TestReportFeaturesItem class.
* @constructor
* @member {string} [name]
* @member {array} [tests]
* @member {number} [failed]
* @member {number} [skipped]
* @member {number} [peakMemory]
* @member {number} [peakDuration]
*/
export interface TestReportFeaturesItem {
name?: string;
tests?: TestReportFeaturesItemTestsItem[];
failed?: number;
skipped?: number;
peakMemory?: number;
peakDuration?: number;
}
/**
* @class
* Initializes a new instance of the TestReportDeviceLogsItem class.
* @constructor
* @member {string} [deviceSnapshotId]
* @member {string} [deviceLog]
* @member {string} [testLog]
* @member {string} [appiumLog]
*/
export interface TestReportDeviceLogsItem {
deviceSnapshotId?: string;
deviceLog?: string;
testLog?: string;
appiumLog?: string;
}
/**
* @class
* Initializes a new instance of the TestReport class.
* @constructor
* @member {string} appUploadId
* @member {string} date
* @member {string} testType
* @member {string} platform
* @member {object} stats
* @member {number} [stats.os]
* @member {number} [stats.devices]
* @member {number} [stats.filesize]
* @member {number} [stats.totalDeviceMinutes]
* @member {number} [stats.devicesNotRunned]
* @member {number} [stats.failed]
* @member {number} [stats.skipped]
* @member {number} [stats.passed]
* @member {number} [stats.total]
* @member {number} [stats.devicesFinished]
* @member {number} [stats.devicesFailed]
* @member {number} [stats.devicesSkipped]
* @member {number} [stats.stepCount]
* @member {object} [stats.artifacts]
* @member {string} id
* @member {number} schemaVersion
* @member {number} revision
* @member {array} features
* @member {array} finishedDeviceSnapshots
* @member {array} deviceLogs
* @member {string} dateFinished
* @member {string} [errorMessage]
*/
export interface TestReport {
appUploadId: string;
date: string;
testType: string;
platform: string;
stats: TestReportStats;
id: string;
schemaVersion: number;
revision: number;
features: TestReportFeaturesItem[];
finishedDeviceSnapshots: string[];
deviceLogs: TestReportDeviceLogsItem[];
dateFinished: string;
errorMessage?: string;
}
/**
* @class
* Initializes a new instance of the StepReportDeviceScreenshotsItemScreenshotUrls class.
* @constructor
* @member {string} original
* @member {string} small
* @member {string} medium
* @member {string} large
*/
export interface StepReportDeviceScreenshotsItemScreenshotUrls {
original: string;
small: string;
medium: string;
large: string;
}
/**
* @class
* Initializes a new instance of the StepReportDeviceScreenshotsItemScreenshot class.
* @constructor
* @member {object} urls
* @member {string} [urls.original]
* @member {string} [urls.small]
* @member {string} [urls.medium]
* @member {string} [urls.large]
* @member {number} rotation
* @member {boolean} landscape
*/
export interface StepReportDeviceScreenshotsItemScreenshot {
urls: StepReportDeviceScreenshotsItemScreenshotUrls;
rotation: number;
landscape: boolean;
}
/**
* @class
* Initializes a new instance of the StepReportDeviceScreenshotsItem class.
* @constructor
* @member {string} [id]
* @member {string} [deviceSnapshotId]
* @member {array} [stacktrace]
* @member {array} [crashData]
* @member {string} [status]
* @member {string} [title]
* @member {object} [screenshot]
* @member {object} [screenshot.urls]
* @member {string} [screenshot.urls.original]
* @member {string} [screenshot.urls.small]
* @member {string} [screenshot.urls.medium]
* @member {string} [screenshot.urls.large]
* @member {number} [screenshot.rotation]
* @member {boolean} [screenshot.landscape]
* @member {string} [logFile]
* @member {string} [appiumLogFile]
*/
export interface StepReportDeviceScreenshotsItem {
id?: string;
deviceSnapshotId?: string;
stacktrace?: string[];
crashData?: string[];
status?: string;
title?: string;
screenshot?: StepReportDeviceScreenshotsItemScreenshot;
logFile?: string;
appiumLogFile?: string;
}
/**
* @class
* Initializes a new instance of the StepReport class.
* @constructor
* @member {array} finishedSnapshots
* @member {array} deviceScreenshots
*/
export interface StepReport {
finishedSnapshots: string[];
deviceScreenshots: StepReportDeviceScreenshotsItem[];
}
/**
* @class
* Initializes a new instance of the TestCloudErrorDetails class.
* @constructor
* @summary Test Cloud Error Details
*
* Details of a failed operation
*
* @member {string} status Status of the operation
* @member {string} message Human-readable message that describes the error
*/
export interface TestCloudErrorDetails {
status: string;
message: string;
}
/**
* @class
* Initializes a new instance of the TestCloudFileHashDeprecated class.
* @constructor
* @summary Test Cloud File Hash
*
* Hash, type, path and byte range of a file that is required in test run
*
* @member {string} fileType Type of the file. Possible values include:
* 'dsym-file', 'app-file', 'test-file'
* @member {string} checksum SHA256 hash of the file
* @member {string} relativePath Relative path of the file
* @member {string} [byteRange] Range of bytes required to verify ownership of
* the file
*/
export interface TestCloudFileHashDeprecated {
fileType: string;
checksum: string;
relativePath: string;
byteRange?: string;
}
/**
* @class
* Initializes a new instance of the TestCloudFileHash class.
* @constructor
* @summary Test Cloud File Hash
*
* Hash, type, path and byte range of a file that is required in test run
*
* @member {string} fileType Type of the file. Possible values include:
* 'dsym-file', 'app-file', 'test-file'
* @member {string} checksum SHA256 hash of the file
* @member {string} relativePath Relative path of the file
*/
export interface TestCloudFileHash {
fileType: string;
checksum: string;
relativePath: string;
}
/**
* @class
* Initializes a new instance of the TestCloudHashUploadStatus class.
* @constructor
* @summary Test Cloud Hash Upload Status
*
* Result of uploading a single file hash
*
* @member {number} statusCode HTTP status code that represent result of upload
* @member {string} [location] URI that should be used to make POST request if
* file with given hash doesn't exist. This is set when status_code is equal to
* 412
*/
export interface TestCloudHashUploadStatus {
statusCode: number;
location?: string;
}
/**
* @class
* Initializes a new instance of the TestCloudFileHashResponse class.
* @constructor
* @summary Test Cloud File Hash Response
*
* Response message for single uploaded file hash
*
* @member {string} fileType Type of the file. Possible values include:
* 'dsym-file', 'app-file', 'test-file'
* @member {string} checksum SHA256 hash of the file
* @member {string} [relativePath] Relative path of the file
* @member {object} uploadStatus Status of the upload
* @member {number} [uploadStatus.statusCode] HTTP status code that represent
* result of upload
* @member {string} [uploadStatus.location] URI that should be used to make
* POST request if file with given hash doesn't exist. This is set when
* status_code is equal to 412
*/
export interface TestCloudFileHashResponse {
fileType: string;
checksum: string;
relativePath?: string;
uploadStatus: TestCloudHashUploadStatus;
}
/**
* @class
* Initializes a new instance of the TestCloudStartTestRunOptions class.
* @constructor
* @summary Test Cloud Start Test Run Options
*
* Options required to start the test run
*
* @member {string} testFramework Test framework used by tests.
* @member {string} deviceSelection Device selection string.
* @member {string} [language] Language that should be used to run tests.
* @member {string} [locale] Locale that should be used to run tests.
* @member {string} [testSeries] Name of the test series.
* @member {object} [testParameters] A JSON dictionary with additional test
* parameters
*/
export interface TestCloudStartTestRunOptions {
testFramework: string;
deviceSelection: string;
language?: string;
locale?: string;
testSeries?: string;
testParameters?: any;
}
/**
* @class
* Initializes a new instance of the TestCloudStartTestRunResult class.
* @constructor
* @summary Test Cloud Test Run Start Result
*
* Result of starting a test run
*
* @member {array} [acceptedDevices] List with names of accepted devices
* @member {array} [rejectedDevices] List with names and descriptions of
* rejected devices
*/
export interface TestCloudStartTestRunResult {
acceptedDevices?: string[];
rejectedDevices?: string[];
}
/**
* @class
* Initializes a new instance of the TestRunState class.
* @constructor
* @summary Test Run State
*
* Current status of a test run
*
* @member {array} [message] Multi-line message that describes the status
* @member {number} [waitTime] Time (in seconds) that the client should wait
* for before checking the status again
* @member {number} [exitCode] The exit code that the client should use when
* exiting. Used for indicating status to the caller of the client.
* 0: test run completes with no failing tests
* 1: test run completes with at least one failing test
* 2: test run failed to complete. Status for test run is unknown
*/
export interface TestRunState {
message?: string[];
waitTime?: number;
exitCode?: number;
}
/**
* @class
* Initializes a new instance of the PerformanceReportPerformanceDataStepsItemSamplesItem class.
* @constructor
* @member {number} [cpu]
* @member {number} [mem]
* @member {number} [elapsedSecs]
*/
export interface PerformanceReportPerformanceDataStepsItemSamplesItem {
cpu?: number;
mem?: number;
elapsedSecs?: number;
}
/**
* @class
* Initializes a new instance of the PerformanceReportPerformanceDataStepsItem class.
* @constructor
* @member {number} [avgCpu]
* @member {number} [avgMem]
* @member {array} [samples]
* @member {number} [elapsedSecsEnd]
* @member {number} [elapsedSecsStart]
* @member {number} [elapsedSecs]
* @member {string} [name]
* @member {string} [id]
*/
export interface PerformanceReportPerformanceDataStepsItem {
avgCpu?: number;
avgMem?: number;
samples?: PerformanceReportPerformanceDataStepsItemSamplesItem[];
elapsedSecsEnd?: number;
elapsedSecsStart?: number;
elapsedSecs?: number;
name?: string;
id?: string;
}
/**
* @class
* Initializes a new instance of the PerformanceReportPerformanceData class.
* @constructor
* @member {array} steps
* @member {number} elapsedSecsEnd
* @member {number} elapsedSecsStart
* @member {number} elapsedSecs
* @member {string} id
*/
export interface PerformanceReportPerformanceData {
steps: PerformanceReportPerformanceDataStepsItem[];
elapsedSecsEnd: number;
elapsedSecsStart: number;
elapsedSecs: number;
id: string;
}
/**
* @class
* Initializes a new instance of the PerformanceReportVideoVideoMetadataEventsItem class.
* @constructor
* @member {string} [id]
* @member {number} [millis]
* @member {string} [name]
* @member {string} [type]
*/
export interface PerformanceReportVideoVideoMetadataEventsItem {
id?: string;
millis?: number;
name?: string;
type?: string;
}
/**
* @class
* Initializes a new instance of the PerformanceReportVideoVideoMetadata class.
* @constructor
* @member {array} [events]
*/
export interface PerformanceReportVideoVideoMetadata {
events?: PerformanceReportVideoVideoMetadataEventsItem[];
}
/**
* @class
* Initializes a new instance of the PerformanceReportVideo class.
* @constructor
* @member {object} videoMetadata
* @member {array} [videoMetadata.events]
* @member {string} videoUrl
*/
export interface PerformanceReportVideo {
videoMetadata: PerformanceReportVideoVideoMetadata;
videoUrl: string;
}
/**
* @class
* Initializes a new instance of the PerformanceReport class.
* @constructor
* @summary Performance Report
*
* Report data for a single test (a.k.a. scenario)
*
* @member {string} [deviceSnapshotId]
* @member {object} [performanceData]
* @member {array} [performanceData.steps]
* @member {number} [performanceData.elapsedSecsEnd]
* @member {number} [performanceData.elapsedSecsStart]
* @member {number} [performanceData.elapsedSecs]
* @member {string} [performanceData.id]
* @member {object} [video]
* @member {object} [video.videoMetadata]
* @member {array} [video.videoMetadata.events]
* @member {string} [video.videoUrl]
*/
export interface PerformanceReport {
deviceSnapshotId?: string;
performanceData?: PerformanceReportPerformanceData;
video?: PerformanceReportVideo;
}
/**
* @class
* Initializes a new instance of the BlobInfo class.
* @constructor
* @member {number} size
* @member {string} url
*/
export interface BlobInfo {
size: number;
url: string;
}
/**
* @class
* Initializes a new instance of the CodePushReleaseInfo class.
* @constructor
* @member {string} [targetBinaryRange]
* @member {string} [description]
* @member {boolean} [isDisabled]
* @member {boolean} [isMandatory]
* @member {number} [rollout]
*/
export interface CodePushReleaseInfo {
targetBinaryRange?: string;
description?: string;
isDisabled?: boolean;
isMandatory?: boolean;
rollout?: number;
}
/**
* @class
* Initializes a new instance of the CodePushRelease class.
* @constructor
* @member {string} [label]
* @member {string} [packageHash]
* @member {string} [blobUrl]
* @member {object} [diffPackageMap]
* @member {string} [originalDeployment] Set on 'Promote'
* @member {string} [originalLabel] Set on 'Promote' and 'Rollback'
* @member {string} [releasedBy]
* @member {string} [releaseMethod] The release method is unknown if
* unspecified. Possible values include: 'Upload', 'Promote', 'Rollback'
* @member {number} [size]
* @member {number} [uploadTime]
*/
export interface CodePushRelease extends CodePushReleaseInfo {
label?: string;
packageHash?: string;
blobUrl?: string;
diffPackageMap?: { [propertyName: string]: BlobInfo };
originalDeployment?: string;
originalLabel?: string;
releasedBy?: string;
releaseMethod?: string;
size?: number;
uploadTime?: number;
}
/**
* @class
* Initializes a new instance of the Deployment class.
* @constructor
* @member {string} [key]
* @member {string} name
* @member {object} [latestRelease]
* @member {string} [latestRelease.label]
* @member {string} [latestRelease.packageHash]
* @member {string} [latestRelease.blobUrl]
* @member {object} [latestRelease.diffPackageMap]
* @member {string} [latestRelease.originalDeployment] Set on 'Promote'
* @member {string} [latestRelease.originalLabel] Set on 'Promote' and
* 'Rollback'
* @member {string} [latestRelease.releasedBy]
* @member {string} [latestRelease.releaseMethod] The release method is unknown
* if unspecified. Possible values include: 'Upload', 'Promote', 'Rollback'
* @member {number} [latestRelease.size]
* @member {number} [latestRelease.uploadTime]
*/
export interface Deployment {
key?: string;
name: string;
latestRelease?: CodePushRelease;
}
/**
* @class
* Initializes a new instance of the DeploymentModification class.
* @constructor
* @member {string} name
*/
export interface DeploymentModification {
name: string;
}
/**
* @class
* Initializes a new instance of the CodePushReleaseLabel class.
* @constructor
* @member {string} [label]
*/
export interface CodePushReleaseLabel {
label?: string;
}
/**
* @class
* Initializes a new instance of the CodePushReleaseModification class.
* @constructor
*/
export interface CodePushReleaseModification extends CodePushReleaseInfo {
}
/**
* @class
* Initializes a new instance of the CodePushReleasePromote class.
* @constructor
* @member {string} [label]
*/
export interface CodePushReleasePromote extends CodePushReleaseInfo {
label?: string;
}
/**
* @class
* Initializes a new instance of the CodePushReleaseMetric class.
* @constructor
* @member {string} label
* @member {number} active
* @member {number} [downloaded]
* @member {number} [failed]
* @member {number} [installed]
*/
export interface CodePushReleaseMetric {
label: string;
active: number;
downloaded?: number;
failed?: number;
installed?: number;
}
/**
* @class
* Initializes a new instance of the CodePushStatusMetricMetadata class.
* @constructor
* @member {string} deploymentKey
* @member {string} [label]
* @member {string} [appVersion]
* @member {string} [previousDeploymentKey]
* @member {string} [previousLabelOrAppVersion]
* @member {string} [status]
* @member {string} [clientUniqueId]
*/
export interface CodePushStatusMetricMetadata {
deploymentKey: string;
label?: string;
appVersion?: string;
previousDeploymentKey?: string;
previousLabelOrAppVersion?: string;
status?: string;
clientUniqueId?: string;
}
/**
* @class
* Initializes a new instance of the UpdateCheckResponse class.
* @constructor
* @member {string} [downloadUrl]
* @member {boolean} isAvailable
* @member {number} [packageSize]
* @member {boolean} [shouldRunBinaryVersion]
* @member {boolean} [updateAppVersion]
* @member {string} [packageHash]
* @member {string} [label]
*/
export interface UpdateCheckResponse extends CodePushReleaseInfo {
downloadUrl?: string;
isAvailable: boolean;
packageSize?: number;
shouldRunBinaryVersion?: boolean;
updateAppVersion?: boolean;
packageHash?: string;
label?: string;
}
/**
* @class
* Initializes a new instance of the AcquisitionStatusSuccessResponse class.
* @constructor
* @member {string} code The code indicating the status
* @member {string} message The message indicating the status
*/
export interface AcquisitionStatusSuccessResponse {
code: string;
message: string;
}
/**
* @class
* Initializes a new instance of the AlertOperationResult class.
* @constructor
* Generic result for any alerting API operation
*
* @member {string} requestId Unique request identifier for tracking
*/
export interface AlertOperationResult {
requestId: string;
}
/**
* @class
* Initializes a new instance of the AlertWebhook class.
* @constructor
* Alerting webhook
*
* @member {string} [id] The unique id (UUID) of the webhook
* @member {string} name display name of the webhook
* @member {string} url target url of the webhook
* @member {boolean} [enabled] Allows eanble/disable webhook
* @member {array} eventTypes Event types enabled for webhook
*/
export interface AlertWebhook {
id?: string;
name: string;
url: string;
enabled?: boolean;
eventTypes: string[];
}
/**
* @class
* Initializes a new instance of the AlertWebhookListResult class.
* @constructor
* List of alerting webhooks wrapped as operation result
*
* @member {array} values
*/
export interface AlertWebhookListResult {
values: AlertWebhook[];
}
/**
* @class
* Initializes a new instance of the AlertWebhookPingResult class.
* @constructor
* Alerting webhook ping operation result
*
* @member {number} responseStatusCode HTTP status code returned in response
* from calling webhook
* @member {string} [responseReason] Reason returned in response from calling
* webhook
*/
export interface AlertWebhookPingResult extends AlertOperationResult {
responseStatusCode: number;
responseReason?: string;
}
/**
* @class
* Initializes a new instance of the EventSetting class.
* @constructor
* Event Setting
*
* @member {string} value Frequency of event. Possible values include:
* 'Disabled', 'Individual', 'Daily', 'DailyAndIndividual', 'Default'
* @member {string} [defaultValue] Default frequency of event. Possible values
* include: 'Disabled', 'Individual', 'Daily', 'DailyAndIndividual'
*/
export interface EventSetting {
value: string;
defaultValue?: string;
}
/**
* @class
* Initializes a new instance of the AlertEmailSettings class.
* @constructor
* Alerting Email Settings
*
* @member {array} settings The settings the user has for the app
*/
export interface AlertEmailSettings {
settings: EventSetting[];
}
/**
* @class
* Initializes a new instance of the AlertUserEmailSettingsResult class.
* @constructor
* Alerting Default Email Settings of the user
*
* @member {string} eTag The ETag of the entity
* @member {boolean} enabled Allows to forcefully disable emails on app or user
* level
* @member {string} userId The unique id (UUID) of the user
* @member {array} settings The settings the user has for the app
*/
export interface AlertUserEmailSettingsResult extends AlertOperationResult {
eTag: string;
enabled: boolean;
userId: string;
settings: EventSetting[];
}
/**
* @class
* Initializes a new instance of the AlertUserAppEmailSettingsResult class.
* @constructor
* Alerting Email Settings of the user for a particular app
*
* @member {string} appId Application ID
* @member {boolean} userEnabled A flag indicating if settings are enabled at
* user/global level
*/
export interface AlertUserAppEmailSettingsResult extends AlertUserEmailSettingsResult {
appId: string;
userEnabled: boolean;
}
/**
* @class
* Initializes a new instance of the AlertingBugtrackerSettings class.
* @constructor
* Bugtracker specific settings
*
* @member {string} [callbackUrl]
* @member {string} ownerName
* @member {string} type Polymorphic Discriminator
*/
export interface AlertingBugtrackerSettings {
callbackUrl?: string;
ownerName: string;
type: string;
}
/**
* @class
* Initializes a new instance of the AlertingVstsBugtrackerSettings class.
* @constructor
* VSTS bugtracker specific settings
*
* @member {string} vstsProjectId
* @member {string} vstsProjectUri
* @member {string} [vstsProjectName]
* @member {string} [vstsAccountName]
* @member {string} [vstsAreaPath]
* @member {object} [vstsDefaultPayload]
*/
export interface AlertingVstsBugtrackerSettings extends AlertingBugtrackerSettings {
vstsProjectId: string;
vstsProjectUri: string;
vstsProjectName?: string;
vstsAccountName?: string;
vstsAreaPath?: string;
vstsDefaultPayload?: any;
}
/**
* @class
* Initializes a new instance of the AlertingGithubBugtrackerSettings class.
* @constructor
* Github bugtracker specific settings
*
* @member {number} githubRepoId
* @member {string} githubRepoName
* @member {string} [githubLabel]
*/
export interface AlertingGithubBugtrackerSettings extends AlertingBugtrackerSettings {
githubRepoId: number;
githubRepoName: string;
githubLabel?: string;
}
/**
* @class
* Initializes a new instance of the AlertingJiraBugtrackerSettings class.
* @constructor
* Jira bugtracker specific settings
*
* @member {number} jiraProjectId
* @member {string} jiraProjectName
*/
export interface AlertingJiraBugtrackerSettings extends AlertingBugtrackerSettings {
jiraProjectId: number;
jiraProjectName: string;
}
/**
* @class
* Initializes a new instance of the AlertingBugtracker class.
* @constructor
* Alerting bugtracker resource
*
* @member {string} [type] type of bugtracker. Possible values include:
* 'github', 'vsts', 'jira'
* @member {string} [state] bugtracker state. Possible values include:
* 'enabled', 'disabled', 'unauthorized'
* @member {string} [tokenId] ID of OAuth token
* @member {array} [eventTypes] Event types enabled for bugtracker
* @member {number} [crashCountThreshold] Threshold for the number of crashes
* at which to create a bug
* @member {object} [settings]
* @member {string} [settings.callbackUrl]
* @member {string} [settings.ownerName]
* @member {string} [settings.type] Polymorphic Discriminator
*/
export interface AlertingBugtracker {
type?: string;
state?: string;
tokenId?: string;
eventTypes?: string[];
crashCountThreshold?: number;
settings?: AlertingBugtrackerSettings;
}
/**
* @class
* Initializes a new instance of the AlertBugTrackerRepoOwner class.
* @constructor
* Repository owner object
*
* @member {string} [name]
* @member {string} [id]
* @member {string} [login]
*/
export interface AlertBugTrackerRepoOwner {
name?: string;
id?: string;
login?: string;
}
/**
* @class
* Initializes a new instance of the AlertBugTrackerRepo class.
* @constructor
* Repostiory object
*
* @member {string} name
* @member {string} url
* @member {string} id
* @member {string} [description]
* @member {boolean} [privateProperty]
* @member {object} [owner]
* @member {string} [owner.name]
* @member {string} [owner.id]
* @member {string} [owner.login]
*/
export interface AlertBugTrackerRepo {
name: string;
url: string;
id: string;
description?: string;
privateProperty?: boolean;
owner?: AlertBugTrackerRepoOwner;
}
/**
* @class
* Initializes a new instance of the AlertBugTrackerReposResult class.
* @constructor
* List of bug tracker repositories
*
* @member {string} [repoType] Possible values include: 'github', 'vsts',
* 'jira'
* @member {array} repositories
*/
export interface AlertBugTrackerReposResult {
repoType?: string;
repositories: AlertBugTrackerRepo[];
}
/**
* @class
* Initializes a new instance of the AlertCrashGroupStateChange class.
* @constructor
* AlertCrashGroup patching parameter
*
* @member {string} [state] Possible values include: 'Open', 'Closed',
* 'Ignored'
*/
export interface AlertCrashGroupStateChange {
state?: string;
}
/**
* @class
* Initializes a new instance of the AlertingAccessTokenResponse class.
* @constructor
* Access token details
*
* @member {string} accessTokenId ID of the access token
* @member {string} externalProviderName External provider name. Possible
* values include: 'github', 'vsts', 'jira'
* @member {string} externalUserEmail The email of external user that used to
* authenticate aginst the external oauth provider
* @member {object} externalAccountName The account name of external user that
* used to authenticate against the external oauth provider or basic auth
*/
export interface AlertingAccessTokenResponse {
accessTokenId: string;
externalProviderName: string;
externalUserEmail: string;
externalAccountName: any;
}
/**
* @class
* Initializes a new instance of the AlertingEvent class.
* @constructor
* Alerting event
*
* @member {string} eventTimestamp ISO 8601 date time when event was generated
* @member {string} eventId A unique identifier for this event instance. Useful
* for deduplication
* @member {object} [properties] Obsolete. Use emailProperties.
*/
export interface AlertingEvent {
eventTimestamp: string;
eventId: string;
properties?: any;
}
/**
* @class
* Initializes a new instance of the NewCrashGroupAlertingEventCrashGroupProperties class.
* @constructor
* Properties of new crash group
*
* @member {string} id
* @member {string} name
* @member {string} reason
* @member {string} url
* @member {string} appDisplayName
* @member {string} appPlatform
* @member {string} appVersion
* @member {array} stackTrace
*/
export interface NewCrashGroupAlertingEventCrashGroupProperties {
id: string;
name: string;
reason: string;
url: string;
appDisplayName: string;
appPlatform: string;
appVersion: string;
stackTrace: string[];
}
/**
* @class
* Initializes a new instance of the NewCrashGroupAlertingEvent class.
* @constructor
* New crash group alerting event
*
* @member {object} [crashGroupProperties] Properties of new crash group
* @member {string} [crashGroupProperties.id]
* @member {string} [crashGroupProperties.name]
* @member {string} [crashGroupProperties.reason]
* @member {string} [crashGroupProperties.url]
* @member {string} [crashGroupProperties.appDisplayName]
* @member {string} [crashGroupProperties.appPlatform]
* @member {string} [crashGroupProperties.appVersion]
* @member {array} [crashGroupProperties.stackTrace]
*/
export interface NewCrashGroupAlertingEvent extends AlertingEvent {
crashGroupProperties?: NewCrashGroupAlertingEventCrashGroupProperties;
}
/**
* @class
* Initializes a new instance of the NewAppReleaseAlertingEventAppReleaseProperties class.
* @constructor
* Properties of new application release
*
* @member {string} appName
* @member {string} appDisplayName
* @member {string} releaseId
* @member {string} platform
* @member {string} uploadedAt Date and time in ISO 8601 format
* @member {string} [fingerprint]
* @member {string} [releaseNotes]
* @member {string} version
* @member {string} shortVersion
* @member {string} [minOs]
* @member {boolean} [mandatoryUpdate]
* @member {number} size
* @member {string} [provisioningProfileName]
* @member {string} [provisioningProfileType]
* @member {string} bundleIdentifier
* @member {string} installLink
* @member {string} [iconLink]
* @member {string} [distributionGroupId]
*/
export interface NewAppReleaseAlertingEventAppReleaseProperties {
appName: string;
appDisplayName: string;
releaseId: string;
platform: string;
uploadedAt: string;
fingerprint?: string;
releaseNotes?: string;
version: string;
shortVersion: string;
minOs?: string;
mandatoryUpdate?: boolean;
size: number;
provisioningProfileName?: string;
provisioningProfileType?: string;
bundleIdentifier: string;
installLink: string;
iconLink?: string;
distributionGroupId?: string;
}
/**
* @class
* Initializes a new instance of the NewAppReleaseAlertingEvent class.
* @constructor
* New app release alerting event
*
* @member {array} [userIds] List of users who need to receive an email
* notification. If this is not null, then only sending emails will be
* triggered even if the event requires calling webhooks or doing other
* actions.
* @member {object} [appReleaseProperties] Properties of new application
* release
* @member {string} [appReleaseProperties.appName]
* @member {string} [appReleaseProperties.appDisplayName]
* @member {string} [appReleaseProperties.releaseId]
* @member {string} [appReleaseProperties.platform]
* @member {string} [appReleaseProperties.uploadedAt] Date and time in ISO 8601
* format
* @member {string} [appReleaseProperties.fingerprint]
* @member {string} [appReleaseProperties.releaseNotes]
* @member {string} [appReleaseProperties.version]
* @member {string} [appReleaseProperties.shortVersion]
* @member {string} [appReleaseProperties.minOs]
* @member {boolean} [appReleaseProperties.mandatoryUpdate]
* @member {number} [appReleaseProperties.size]
* @member {string} [appReleaseProperties.provisioningProfileName]
* @member {string} [appReleaseProperties.provisioningProfileType]
* @member {string} [appReleaseProperties.bundleIdentifier]
* @member {string} [appReleaseProperties.installLink]
* @member {string} [appReleaseProperties.iconLink]
* @member {string} [appReleaseProperties.distributionGroupId]
*/
export interface NewAppReleaseAlertingEvent extends AlertingEvent {
userIds?: string[];
appReleaseProperties?: NewAppReleaseAlertingEventAppReleaseProperties;
}
/**
* @class
* Initializes a new instance of the BugTrackerIssueResult class.
* @constructor
* Object returned in response to getting a bug tracker issue related to a
* crash group id
*
* @member {string} [id]
* @member {string} [url]
* @member {string} [title]
* @member {string} [bugTrackerType] Possible values include: 'github', 'vsts',
* 'jira'
* @member {string} [repoName]
* @member {string} [mobileCenterId]
* @member {string} [eventType]
*/
export interface BugTrackerIssueResult {
id?: string;
url?: string;
title?: string;
bugTrackerType?: string;
repoName?: string;
mobileCenterId?: string;
eventType?: string;
}
/**
* @class
* Initializes a new instance of the BugTrackerIssuesResult class.
* @constructor
* Returns a list of all issues associated with a repo
*
* @member {array} [issues]
*/
export interface BugTrackerIssuesResult {
issues?: BugTrackerIssueResult[];
}
/**
* @class
* Initializes a new instance of the EventResponseResult class.
* @constructor
* Object returned in response to accepting an event occurance
*
*/
export interface EventResponseResult extends AlertOperationResult {
}
/**
* @class
* Initializes a new instance of the AlertingError class.
* @constructor
* Alerting service error
*
* @member {number} code The status code return by the API. It can be 400 or
* 404 or 409 or 500.
* @member {string} [message] The reason for the request failed
*/
export interface AlertingError extends AlertOperationResult {
code: number;
message?: string;
}
/**
* @class
* Initializes a new instance of the BillingPlan class.
* @constructor
* Billing Plan
*
* @member {string} [id] The Billing Plan ID
* @member {string} [version] Version of the Billing Plan schema
* @member {number} [priceBucket] Price bucket of the billing plan. Free plans
* start with 0, paid plans have higher price buckets
* @member {string} [service] Name of the service that the plan applies to.
* Possible values include: 'Build', 'Push', 'Test'
* @member {object} [limits]
* @member {object} [attributes]
*/
export interface BillingPlan {
id?: string;
version?: string;
priceBucket?: number;
service?: string;
limits?: { [propertyName: string]: number };
attributes?: { [propertyName: string]: any };
}
/**
* @class
* Initializes a new instance of the BillingPlanSelection class.
* @constructor
* Selection of a billing plan
*
* @member {number} [count] Number of instances of the billing plan.
* @member {object} [plan]
* @member {string} [plan.id] The Billing Plan ID
* @member {string} [plan.version] Version of the Billing Plan schema
* @member {number} [plan.priceBucket] Price bucket of the billing plan. Free
* plans start with 0, paid plans have higher price buckets
* @member {string} [plan.service] Name of the service that the plan applies
* to. Possible values include: 'Build', 'Push', 'Test'
* @member {object} [plan.limits]
* @member {object} [plan.attributes]
*/
export interface BillingPlanSelection {
count?: number;
plan?: BillingPlan;
}
/**
* @class
* Initializes a new instance of the BillingPeriod class.
* @constructor
* Billing plans for a given period
*
* @member {string} [startTime] Inclusive start of the period
* @member {string} [endTime] Exclusive end of the period.
* @member {object} [byAccount]
* @member {number} [byAccount.count] Number of instances of the billing plan.
* @member {object} [byAccount.plan]
* @member {string} [byAccount.plan.id] The Billing Plan ID
* @member {string} [byAccount.plan.version] Version of the Billing Plan schema
* @member {number} [byAccount.plan.priceBucket] Price bucket of the billing
* plan. Free plans start with 0, paid plans have higher price buckets
* @member {string} [byAccount.plan.service] Name of the service that the plan
* applies to. Possible values include: 'Build', 'Push', 'Test'
* @member {object} [byAccount.plan.limits]
* @member {object} [byAccount.plan.attributes]
*/
export interface BillingPeriod {
startTime?: string;
endTime?: string;
byAccount?: BillingPlanSelection;
}
/**
* @class
* Initializes a new instance of the ServiceBillingPlans class.
* @constructor
* Billing Plans for a single service
*
* @member {boolean} [canSelectTrialPlan] Can customer select trial plan for
* that service (if it exists)?
* @member {string} [lastTrialPlanExpirationTime] Expiration time of the last
* selected trial plan. Will be null if trial plan was not used.
* @member {object} [currentBillingPeriod]
* @member {string} [currentBillingPeriod.startTime] Inclusive start of the
* period
* @member {string} [currentBillingPeriod.endTime] Exclusive end of the period.
* @member {object} [currentBillingPeriod.byAccount]
* @member {number} [currentBillingPeriod.byAccount.count] Number of instances
* of the billing plan.
* @member {object} [currentBillingPeriod.byAccount.plan]
* @member {string} [currentBillingPeriod.byAccount.plan.id] The Billing Plan
* ID
* @member {string} [currentBillingPeriod.byAccount.plan.version] Version of
* the Billing Plan schema
* @member {number} [currentBillingPeriod.byAccount.plan.priceBucket] Price
* bucket of the billing plan. Free plans start with 0, paid plans have higher
* price buckets
* @member {string} [currentBillingPeriod.byAccount.plan.service] Name of the
* service that the plan applies to. Possible values include: 'Build', 'Push',
* 'Test'
* @member {object} [currentBillingPeriod.byAccount.plan.limits]
* @member {object} [currentBillingPeriod.byAccount.plan.attributes]
*/
export interface ServiceBillingPlans {
canSelectTrialPlan?: boolean;
lastTrialPlanExpirationTime?: string;
currentBillingPeriod?: BillingPeriod;
}
/**
* @class
* Initializes a new instance of the BillingInformationPlans class.
* @constructor
* Billing Plans section in the Billing Information
*
* @member {object} [buildService]
* @member {boolean} [buildService.canSelectTrialPlan] Can customer select
* trial plan for that service (if it exists)?
* @member {string} [buildService.lastTrialPlanExpirationTime] Expiration time
* of the last selected trial plan. Will be null if trial plan was not used.
* @member {object} [buildService.currentBillingPeriod]
* @member {string} [buildService.currentBillingPeriod.startTime] Inclusive
* start of the period
* @member {string} [buildService.currentBillingPeriod.endTime] Exclusive end
* of the period.
* @member {object} [buildService.currentBillingPeriod.byAccount]
* @member {number} [buildService.currentBillingPeriod.byAccount.count] Number
* of instances of the billing plan.
* @member {object} [buildService.currentBillingPeriod.byAccount.plan]
* @member {string} [buildService.currentBillingPeriod.byAccount.plan.id] The
* Billing Plan ID
* @member {string} [buildService.currentBillingPeriod.byAccount.plan.version]
* Version of the Billing Plan schema
* @member {number}
* [buildService.currentBillingPeriod.byAccount.plan.priceBucket] Price bucket
* of the billing plan. Free plans start with 0, paid plans have higher price
* buckets
* @member {string} [buildService.currentBillingPeriod.byAccount.plan.service]
* Name of the service that the plan applies to. Possible values include:
* 'Build', 'Push', 'Test'
* @member {object} [buildService.currentBillingPeriod.byAccount.plan.limits]
* @member {object}
* [buildService.currentBillingPeriod.byAccount.plan.attributes]
* @member {object} [pushService]
* @member {boolean} [pushService.canSelectTrialPlan] Can customer select trial
* plan for that service (if it exists)?
* @member {string} [pushService.lastTrialPlanExpirationTime] Expiration time
* of the last selected trial plan. Will be null if trial plan was not used.
* @member {object} [pushService.currentBillingPeriod]
* @member {string} [pushService.currentBillingPeriod.startTime] Inclusive
* start of the period
* @member {string} [pushService.currentBillingPeriod.endTime] Exclusive end of
* the period.
* @member {object} [pushService.currentBillingPeriod.byAccount]
* @member {number} [pushService.currentBillingPeriod.byAccount.count] Number
* of instances of the billing plan.
* @member {object} [pushService.currentBillingPeriod.byAccount.plan]
* @member {string} [pushService.currentBillingPeriod.byAccount.plan.id] The
* Billing Plan ID
* @member {string} [pushService.currentBillingPeriod.byAccount.plan.version]
* Version of the Billing Plan schema
* @member {number}
* [pushService.currentBillingPeriod.byAccount.plan.priceBucket] Price bucket
* of the billing plan. Free plans start with 0, paid plans have higher price
* buckets
* @member {string} [pushService.currentBillingPeriod.byAccount.plan.service]
* Name of the service that the plan applies to. Possible values include:
* 'Build', 'Push', 'Test'
* @member {object} [pushService.currentBillingPeriod.byAccount.plan.limits]
* @member {object}
* [pushService.currentBillingPeriod.byAccount.plan.attributes]
* @member {object} [testService]
* @member {boolean} [testService.canSelectTrialPlan] Can customer select trial
* plan for that service (if it exists)?
* @member {string} [testService.lastTrialPlanExpirationTime] Expiration time
* of the last selected trial plan. Will be null if trial plan was not used.
* @member {object} [testService.currentBillingPeriod]
* @member {string} [testService.currentBillingPeriod.startTime] Inclusive
* start of the period
* @member {string} [testService.currentBillingPeriod.endTime] Exclusive end of
* the period.
* @member {object} [testService.currentBillingPeriod.byAccount]
* @member {number} [testService.currentBillingPeriod.byAccount.count] Number
* of instances of the billing plan.
* @member {object} [testService.currentBillingPeriod.byAccount.plan]
* @member {string} [testService.currentBillingPeriod.byAccount.plan.id] The
* Billing Plan ID
* @member {string} [testService.currentBillingPeriod.byAccount.plan.version]
* Version of the Billing Plan schema
* @member {number}
* [testService.currentBillingPeriod.byAccount.plan.priceBucket] Price bucket
* of the billing plan. Free plans start with 0, paid plans have higher price
* buckets
* @member {string} [testService.currentBillingPeriod.byAccount.plan.service]
* Name of the service that the plan applies to. Possible values include:
* 'Build', 'Push', 'Test'
* @member {object} [testService.currentBillingPeriod.byAccount.plan.limits]
* @member {object}
* [testService.currentBillingPeriod.byAccount.plan.attributes]
*/
export interface BillingInformationPlans {
buildService?: ServiceBillingPlans;
pushService?: ServiceBillingPlans;
testService?: ServiceBillingPlans;
}
/**
* @class
* Initializes a new instance of the UsagePeriod class.
* @constructor
* Usage for a single period
*
* @member {string} [startTime] Inclusive start time of the usage period
* @member {string} [endTime] Exclusive end time of the usage period.
* @member {object} [byAccount]
* @member {object} [byApp]
*/
export interface UsagePeriod {
startTime?: string;
endTime?: string;
byAccount?: { [propertyName: string]: number };
byApp?: { [propertyName: string]: { [propertyName: string]: number } };
}
/**
* @class
* Initializes a new instance of the ServiceResourceUsage class.
* @constructor
* Resource usage for a single Mobile Center service
*
* @member {object} [currentUsagePeriod]
* @member {string} [currentUsagePeriod.startTime] Inclusive start time of the
* usage period
* @member {string} [currentUsagePeriod.endTime] Exclusive end time of the
* usage period.
* @member {object} [currentUsagePeriod.byAccount]
* @member {object} [currentUsagePeriod.byApp]
*/
export interface ServiceResourceUsage {
currentUsagePeriod?: UsagePeriod;
}
/**
* @class
* Initializes a new instance of the BillingResourceUsage class.
* @constructor
* Usage section in the Billing Information
*
* @member {object} [buildService]
* @member {object} [buildService.currentUsagePeriod]
* @member {string} [buildService.currentUsagePeriod.startTime] Inclusive start
* time of the usage period
* @member {string} [buildService.currentUsagePeriod.endTime] Exclusive end
* time of the usage period.
* @member {object} [buildService.currentUsagePeriod.byAccount]
* @member {object} [buildService.currentUsagePeriod.byApp]
* @member {object} [pushService]
* @member {object} [pushService.currentUsagePeriod]
* @member {string} [pushService.currentUsagePeriod.startTime] Inclusive start
* time of the usage period
* @member {string} [pushService.currentUsagePeriod.endTime] Exclusive end time
* of the usage period.
* @member {object} [pushService.currentUsagePeriod.byAccount]
* @member {object} [pushService.currentUsagePeriod.byApp]
* @member {object} [testService]
* @member {object} [testService.currentUsagePeriod]
* @member {string} [testService.currentUsagePeriod.startTime] Inclusive start
* time of the usage period
* @member {string} [testService.currentUsagePeriod.endTime] Exclusive end time
* of the usage period.
* @member {object} [testService.currentUsagePeriod.byAccount]
* @member {object} [testService.currentUsagePeriod.byApp]
*/
export interface BillingResourceUsage {
buildService?: ServiceResourceUsage;
pushService?: ServiceResourceUsage;
testService?: ServiceResourceUsage;
}
/**
* @class
* Initializes a new instance of the AggregatedBillingInformation class.
* @constructor
* Aggregated Billing Information for a user or an organization
*
* @member {string} [version] Version of the Billing Information schema
* @member {string} [timestamp] The ISO 8601 datetime of last modification
* @member {string} [id] ID of the user or organization
* @member {object} [billingPlans]
* @member {object} [billingPlans.buildService]
* @member {boolean} [billingPlans.buildService.canSelectTrialPlan] Can
* customer select trial plan for that service (if it exists)?
* @member {string} [billingPlans.buildService.lastTrialPlanExpirationTime]
* Expiration time of the last selected trial plan. Will be null if trial plan
* was not used.
* @member {object} [billingPlans.buildService.currentBillingPeriod]
* @member {string} [billingPlans.buildService.currentBillingPeriod.startTime]
* Inclusive start of the period
* @member {string} [billingPlans.buildService.currentBillingPeriod.endTime]
* Exclusive end of the period.
* @member {object} [billingPlans.buildService.currentBillingPeriod.byAccount]
* @member {number}
* [billingPlans.buildService.currentBillingPeriod.byAccount.count] Number of
* instances of the billing plan.
* @member {object}
* [billingPlans.buildService.currentBillingPeriod.byAccount.plan]
* @member {string}
* [billingPlans.buildService.currentBillingPeriod.byAccount.plan.id] The
* Billing Plan ID
* @member {string}
* [billingPlans.buildService.currentBillingPeriod.byAccount.plan.version]
* Version of the Billing Plan schema
* @member {number}
* [billingPlans.buildService.currentBillingPeriod.byAccount.plan.priceBucket]
* Price bucket of the billing plan. Free plans start with 0, paid plans have
* higher price buckets
* @member {string}
* [billingPlans.buildService.currentBillingPeriod.byAccount.plan.service] Name
* of the service that the plan applies to. Possible values include: 'Build',
* 'Push', 'Test'
* @member {object}
* [billingPlans.buildService.currentBillingPeriod.byAccount.plan.limits]
* @member {object}
* [billingPlans.buildService.currentBillingPeriod.byAccount.plan.attributes]
* @member {object} [billingPlans.pushService]
* @member {boolean} [billingPlans.pushService.canSelectTrialPlan] Can customer
* select trial plan for that service (if it exists)?
* @member {string} [billingPlans.pushService.lastTrialPlanExpirationTime]
* Expiration time of the last selected trial plan. Will be null if trial plan
* was not used.
* @member {object} [billingPlans.pushService.currentBillingPeriod]
* @member {string} [billingPlans.pushService.currentBillingPeriod.startTime]
* Inclusive start of the period
* @member {string} [billingPlans.pushService.currentBillingPeriod.endTime]
* Exclusive end of the period.
* @member {object} [billingPlans.pushService.currentBillingPeriod.byAccount]
* @member {number}
* [billingPlans.pushService.currentBillingPeriod.byAccount.count] Number of
* instances of the billing plan.
* @member {object}
* [billingPlans.pushService.currentBillingPeriod.byAccount.plan]
* @member {string}
* [billingPlans.pushService.currentBillingPeriod.byAccount.plan.id] The
* Billing Plan ID
* @member {string}
* [billingPlans.pushService.currentBillingPeriod.byAccount.plan.version]
* Version of the Billing Plan schema
* @member {number}
* [billingPlans.pushService.currentBillingPeriod.byAccount.plan.priceBucket]
* Price bucket of the billing plan. Free plans start with 0, paid plans have
* higher price buckets
* @member {string}
* [billingPlans.pushService.currentBillingPeriod.byAccount.plan.service] Name
* of the service that the plan applies to. Possible values include: 'Build',
* 'Push', 'Test'
* @member {object}
* [billingPlans.pushService.currentBillingPeriod.byAccount.plan.limits]
* @member {object}
* [billingPlans.pushService.currentBillingPeriod.byAccount.plan.attributes]
* @member {object} [billingPlans.testService]
* @member {boolean} [billingPlans.testService.canSelectTrialPlan] Can customer
* select trial plan for that service (if it exists)?
* @member {string} [billingPlans.testService.lastTrialPlanExpirationTime]
* Expiration time of the last selected trial plan. Will be null if trial plan
* was not used.
* @member {object} [billingPlans.testService.currentBillingPeriod]
* @member {string} [billingPlans.testService.currentBillingPeriod.startTime]
* Inclusive start of the period
* @member {string} [billingPlans.testService.currentBillingPeriod.endTime]
* Exclusive end of the period.
* @member {object} [billingPlans.testService.currentBillingPeriod.byAccount]
* @member {number}
* [billingPlans.testService.currentBillingPeriod.byAccount.count] Number of
* instances of the billing plan.
* @member {object}
* [billingPlans.testService.currentBillingPeriod.byAccount.plan]
* @member {string}
* [billingPlans.testService.currentBillingPeriod.byAccount.plan.id] The
* Billing Plan ID
* @member {string}
* [billingPlans.testService.currentBillingPeriod.byAccount.plan.version]
* Version of the Billing Plan schema
* @member {number}
* [billingPlans.testService.currentBillingPeriod.byAccount.plan.priceBucket]
* Price bucket of the billing plan. Free plans start with 0, paid plans have
* higher price buckets
* @member {string}
* [billingPlans.testService.currentBillingPeriod.byAccount.plan.service] Name
* of the service that the plan applies to. Possible values include: 'Build',
* 'Push', 'Test'
* @member {object}
* [billingPlans.testService.currentBillingPeriod.byAccount.plan.limits]
* @member {object}
* [billingPlans.testService.currentBillingPeriod.byAccount.plan.attributes]
* @member {object} [usage]
* @member {object} [usage.buildService]
* @member {object} [usage.buildService.currentUsagePeriod]
* @member {string} [usage.buildService.currentUsagePeriod.startTime] Inclusive
* start time of the usage period
* @member {string} [usage.buildService.currentUsagePeriod.endTime] Exclusive
* end time of the usage period.
* @member {object} [usage.buildService.currentUsagePeriod.byAccount]
* @member {object} [usage.buildService.currentUsagePeriod.byApp]
* @member {object} [usage.pushService]
* @member {object} [usage.pushService.currentUsagePeriod]
* @member {string} [usage.pushService.currentUsagePeriod.startTime] Inclusive
* start time of the usage period
* @member {string} [usage.pushService.currentUsagePeriod.endTime] Exclusive
* end time of the usage period.
* @member {object} [usage.pushService.currentUsagePeriod.byAccount]
* @member {object} [usage.pushService.currentUsagePeriod.byApp]
* @member {object} [usage.testService]
* @member {object} [usage.testService.currentUsagePeriod]
* @member {string} [usage.testService.currentUsagePeriod.startTime] Inclusive
* start time of the usage period
* @member {string} [usage.testService.currentUsagePeriod.endTime] Exclusive
* end time of the usage period.
* @member {object} [usage.testService.currentUsagePeriod.byAccount]
* @member {object} [usage.testService.currentUsagePeriod.byApp]
*/
export interface AggregatedBillingInformation {
version?: string;
timestamp?: string;
id?: string;
billingPlans?: BillingInformationPlans;
usage?: BillingResourceUsage;
}
/**
* @class
* Initializes a new instance of the BillingErrorError class.
* @constructor
* @member {number} [code] The status code return by the API. It can be 400 or
* 403 or 500.
* @member {string} [message] The reason for the request failed
*/
export interface BillingErrorError {
code?: number;
message?: string;
}
/**
* @class
* Initializes a new instance of the BillingError class.
* @constructor
* Error
*
* @member {object} [error]
* @member {number} [error.code] The status code return by the API. It can be
* 400 or 403 or 500.
* @member {string} [error.message] The reason for the request failed
*/
export interface BillingError {
error?: BillingErrorError;
}
/**
* @class
* Initializes a new instance of the BillingPlansChangeTypeResponse class.
* @constructor
* Responses for requests that detect billing plans change type
*
* @member {string} [result] Possible values include: 'NoChange', 'Downgrade',
* 'Upgrade'
*/
export interface BillingPlansChangeTypeResponse {
result?: string;
}
/**
* @class
* Initializes a new instance of the BillingPlansSelection class.
* @constructor
* Selection of a billing plan for one or more services
*
* @member {object} [buildService]
* @member {number} [buildService.count] Number of instances of the billing
* plan.
* @member {object} [buildService.plan]
* @member {string} [buildService.plan.id] The Billing Plan ID
* @member {string} [buildService.plan.version] Version of the Billing Plan
* schema
* @member {number} [buildService.plan.priceBucket] Price bucket of the billing
* plan. Free plans start with 0, paid plans have higher price buckets
* @member {string} [buildService.plan.service] Name of the service that the
* plan applies to. Possible values include: 'Build', 'Push', 'Test'
* @member {object} [buildService.plan.limits]
* @member {object} [buildService.plan.attributes]
* @member {object} [pushService]
* @member {number} [pushService.count] Number of instances of the billing
* plan.
* @member {object} [pushService.plan]
* @member {string} [pushService.plan.id] The Billing Plan ID
* @member {string} [pushService.plan.version] Version of the Billing Plan
* schema
* @member {number} [pushService.plan.priceBucket] Price bucket of the billing
* plan. Free plans start with 0, paid plans have higher price buckets
* @member {string} [pushService.plan.service] Name of the service that the
* plan applies to. Possible values include: 'Build', 'Push', 'Test'
* @member {object} [pushService.plan.limits]
* @member {object} [pushService.plan.attributes]
* @member {object} [testService]
* @member {number} [testService.count] Number of instances of the billing
* plan.
* @member {object} [testService.plan]
* @member {string} [testService.plan.id] The Billing Plan ID
* @member {string} [testService.plan.version] Version of the Billing Plan
* schema
* @member {number} [testService.plan.priceBucket] Price bucket of the billing
* plan. Free plans start with 0, paid plans have higher price buckets
* @member {string} [testService.plan.service] Name of the service that the
* plan applies to. Possible values include: 'Build', 'Push', 'Test'
* @member {object} [testService.plan.limits]
* @member {object} [testService.plan.attributes]
*/
export interface BillingPlansSelection {
buildService?: BillingPlanSelection;
pushService?: BillingPlanSelection;
testService?: BillingPlanSelection;
}
/**
* @class
* Initializes a new instance of the UsageRecordStatus class.
* @constructor
* Status of the usage record creation
*
* @member {boolean} [expectedLatestBuildExists] Is the age of the most recent
* Build service usage record within expected limits
* @member {boolean} [expectedLatestPushExists] Is the age of the most recent
* Push service usage record within expected limits
* @member {boolean} [expectedLatestTestExists] Is the age of the most recent
* Test service usage record within expected limits
* @member {string} [latestBuildUsageRecordTime] The time of the most recent
* Build service usage record
* @member {string} [latestPushUsageRecordTime] The time of the most recent
* Push service usage record
* @member {string} [latestTestUsageRecordTime] The time of the most recent
* Test service usage record
*/
export interface UsageRecordStatus {
expectedLatestBuildExists?: boolean;
expectedLatestPushExists?: boolean;
expectedLatestTestExists?: boolean;
latestBuildUsageRecordTime?: string;
latestPushUsageRecordTime?: string;
latestTestUsageRecordTime?: string;
}
/**
* @class
* Initializes a new instance of the VersionedBillingPlan class.
* @constructor
* Billing Plan with a version
*
* @member {object} [document]
* @member {string} [document.id] The Billing Plan ID
* @member {string} [document.version] Version of the Billing Plan schema
* @member {number} [document.priceBucket] Price bucket of the billing plan.
* Free plans start with 0, paid plans have higher price buckets
* @member {string} [document.service] Name of the service that the plan
* applies to. Possible values include: 'Build', 'Push', 'Test'
* @member {object} [document.limits]
* @member {object} [document.attributes]
* @member {string} [etag] The version of the object
*/
export interface VersionedBillingPlan {
document?: BillingPlan;
etag?: string;
}
/**
* @class
* Initializes a new instance of the MessageEnvelope class.
* @constructor
* Envelope for messages sent to actors
*
* @member {string} [messageId] Unique id of the message
* @member {string} [messageType] Type of the message
* @member {object} [message] Body of the message
*/
export interface MessageEnvelope {
messageId?: string;
messageType?: string;
message?: any;
}
/**
* @class
* Initializes a new instance of the DataSubjectRightResponse class.
* @constructor
* @member {string} token Unique request identifier
* @member {string} createdAt ISO 8601 format timestamp of when request was
* created.
*/
export interface DataSubjectRightResponse {
token: string;
createdAt: string;
}
/**
* @class
* Initializes a new instance of the DataSubjectRightStatusResponse class.
* @constructor
* @member {string} [sasUrl] Azure Storage shared access signature (SAS) URL
* for exported user data.
* @member {boolean} [sasUrlExpired] Whether Azure Storage shared access
* signature (SAS) URL has expired or not.
* @member {string} status Status of data subject right request. Possible
* values include: 'None', 'Created', 'Queued', 'InProgress', 'Completed',
* 'Failed'
* @member {string} message explanation message of the status
*/
export interface DataSubjectRightStatusResponse {
sasUrl?: string;
sasUrlExpired?: boolean;
status: string;
message: string;
}
/**
* @class
* Initializes a new instance of the ListOKResponseItem class.
* @constructor
* @member {string} displayName The display name of the organization
* @member {string} name The slug name of the organization
* @member {string} origin The creation origin of this organization. Possible
* values include: 'appcenter', 'hockeyapp'
*/
export interface ListOKResponseItem {
displayName: string;
name: string;
origin: string;
}