/* * 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; }