appcenter-cli
Version:
Command line tool for Visual Studio App Center
2,445 lines (2,273 loc) • 235 kB
TypeScript
/*
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License. See License.txt in the project root for license information.
*
* 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";
export interface GetInAppUpdateTokenResponse {
/**
* The api token generated will not be accessible again
*/
token: string;
}
export interface ApiTokensCreateResponse {
/**
* The unique id (UUID) of the api token
*/
id: string;
/**
* The api token generated will not be accessible again
*/
apiToken: string;
/**
* The description of the token
*/
description?: string;
/**
* The scope for this token.
*/
scope?: string[];
/**
* The creation time
*/
createdAt: string;
}
export interface ApiTokensCreateRequest {
/**
* The description of the token
*/
description?: string;
/**
* The scope for this token.
*/
scope?: string[];
}
export interface ApiTokensGetResponse {
/**
* The unique id (UUID) of the api token
*/
id: string;
/**
* The description of the token
*/
description?: string;
/**
* The scope for this token.
*/
scope?: string[];
/**
* The creation time
*/
createdAt: string;
}
export interface Status {
status: string;
}
export interface Failure {
message: string;
}
export interface ErrorDetails {
/**
* Possible values include: 'BadRequest', 'Conflict', 'NotAcceptable', 'NotFound',
* 'InternalServerError', 'Unauthorized', 'TooManyRequests'
*/
code: string;
message: string;
}
export interface ErrorResponse {
error: ErrorDetails;
}
export interface SuccessResponse {
message: string;
}
export interface AADTenantAddRequest {
/**
* The user wanting to add this tenant to the organization, must be an admin of the organization
*/
userId: string;
/**
* The AAD tenant id
*/
aadTenantId: string;
/**
* The name of the AAD Tenant
*/
displayName: string;
}
export interface AADTenantResponse {
/**
* The AAD tenant id
*/
aadTenantId: string;
/**
* The name of the AAD Tenant
*/
displayName: string;
}
export interface AddAppTesterRequest {
/**
* The user ID of the tester that needs to be added
*/
userId: string;
/**
* The ID of the release the user was added to
*/
releaseId: number;
}
export interface AddAppTesterResponse {
/**
* The user ID of the tester that needs to be added
*/
userId: string;
/**
* The ID of the release the user was added to
*/
releaseId: number;
}
export interface ApiTokensPostRequest {
/**
* The description of the token
*/
description?: string;
/**
* An encrypted value of the token.
*/
encryptedToken?: string;
/**
* The scope for this token. An array of supported roles.
*/
scope?: string[];
/**
* The hashed value of api token
*/
tokenHash?: string;
/**
* 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'
*/
tokenType?: string;
}
export interface AppPatchRequest {
/**
* A short text describing the app
*/
description?: string;
/**
* The display name of the app
*/
displayName?: string;
/**
* A one-word descriptive release type value that starts with a capital letter but is otherwise
* lowercase
*/
releaseType?: string;
/**
* The name of the app used in URLs
*/
name?: string;
/**
* The string representation of the URL pointing to the app's icon
*/
iconUrl?: string;
}
export interface AppRepoPatchRequest {
/**
* The absolute URL of the repository
*/
repoUrl?: string;
/**
* The unique id (UUID) of the user
*/
userId?: string;
}
export interface AppRepoPostRequest {
/**
* The absolute URL of the repository
*/
repoUrl: string;
/**
* The provider of the repository. Possible values include: 'github', 'bitbucket', 'vsts'
*/
repoProvider?: string;
/**
* The unique id (UUID) of the user who configured the repository
*/
userId: string;
/**
* Installation id from the provider
*/
installationId?: string;
/**
* Repository id from the provider
*/
repoId?: string;
}
export interface AppRequest {
/**
* A short text describing the app
*/
description?: string;
/**
* A one-word descriptive release-type value that starts with a capital letter but is otherwise
* lowercase
*/
releaseType?: string;
/**
* The descriptive name of the app. This can contain any characters
*/
displayName: string;
/**
* The name of the app used in URLs
*/
name?: string;
/**
* The OS the app will be running on. Possible values include: 'Android', 'iOS', 'macOS',
* 'Tizen', 'tvOS', 'Windows', 'Linux'
*/
os: string;
/**
* The platform of the app. Possible values include: 'Java', 'Objective-C-Swift', 'UWP',
* 'Cordova', 'React-Native', 'Xamarin', 'Unity', 'Electron'
*/
platform: string;
}
export interface AppAddRequest {
/**
* The name of the app to be added to the distribution group
*/
name: string;
}
export interface AppDeleteRequest {
/**
* The name of the app to be deleted from the distribution group
*/
name: string;
}
export interface AzureSubscriptionAddRequest {
/**
* The azure subscription id
*/
subscriptionId: string;
/**
* The tenant id of the azure subscription belongs to
*/
tenantId: string;
/**
* The name of the azure subscription
*/
subscriptionName: string;
/**
* If the subscription is used for billing
*/
isBilling?: boolean;
}
export interface AzureSubscriptionUpdateBillableRequest {
/**
* Billable status of the subscription
*/
isBillable: boolean;
}
export interface AzureSubscriptionPatchRequest {
/**
* If the subscription is used for billing
*/
isBilling: boolean;
}
export interface AzureSubscriptionAddToAppRequest {
/**
* The azure subscription id
*/
subscriptionId: string;
}
export interface DistributionGroupPatchRequest {
/**
* The name of the distribution group
*/
name?: string;
/**
* Whether the distribution group is public
*/
isPublic?: boolean;
}
export interface DistributionGroupRequest {
/**
* The name of the distribution group
*/
name: string;
/**
* The display name of the distribution group. If not specified, the name will be used.
*/
displayName?: string;
}
export interface AppDistributionGroupUsersRequest {
memberIds?: string[];
}
export interface DistributionGroupUserRequest {
/**
* The list of emails of the users
*/
userEmails?: string[];
}
export interface DistributionGroupAppAddRequest {
/**
* The list of apps to add to distribution group
*/
apps?: AppAddRequest[];
}
export interface DistributionGroupAppsDeleteRequest {
/**
* The list of apps to delete from the distribution group
*/
apps?: AppDeleteRequest[];
}
export interface DistributionGroupAADGroupsDeleteRequest {
/**
* The list of aad group ids
*/
aadGroupIds?: string[];
}
export interface DataDeletionRequest {
/**
* Type of data to delete
*/
dataDeletionType?: string;
}
export interface DistributionGroupAADGroupBase {
/**
* The id of the aad group
*/
aadGroupId?: string;
/**
* The display name of the aad group
*/
displayName?: string;
}
export interface DistributionGroupAADGroupRequest {
/**
* The list of aad group ids and names to add
*/
aadGroups?: DistributionGroupAADGroupBase[];
}
export interface DistributionGroupIdRequest {
/**
* The id of the distribution group
*/
id: string;
}
export interface DistributionGroupsUserVerifyRequest {
/**
* An array of distribution group ids
*/
distributionGroupIds: DistributionGroupIdRequest[];
}
export interface EmailVerificationRequest {
/**
* The verification token that was sent to the user
*/
token: string;
}
export interface ExternalUserRequest {
/**
* The token of the app invitation which lead to signup
*/
appInvitation?: string;
/**
* The token of the test invitation which lead to signup
*/
testerInvitation?: string;
/**
* The token of the organization invitation which lead to signup
*/
organizationInvitation?: string;
/**
* The avatar URL of the user
*/
avatarUrl?: string;
/**
* The full name of the user. Might for example be first and last name
*/
displayName?: string;
/**
* The email address of the user
*/
email: string;
/**
* 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
*/
name?: string;
}
export interface ExternalAppId {
/**
* The identifier for external apps that map to an App Center app
*/
externalId?: string;
}
export interface FeaturePatchRequest {
/**
* The friendly name of the feature
*/
description?: string;
/**
* The full (friendly) name of the feature.
*/
displayName?: string;
/**
* The state of the feature
*/
state?: number;
}
export interface FeatureCreateRequest {
/**
* The unique name of the feature
*/
name: string;
/**
* The full (friendly) name of the feature.
*/
displayName: string;
/**
* The state of the feature
*/
state?: number;
/**
* The friendly name of the feature
*/
description?: string;
}
export interface GrantAdminRoleRequest {
/**
* The new admin_role. Possible values include: 'superAdmin', 'admin', 'devOps',
* 'customerSupport', 'notAdmin'
*/
adminRole: string;
}
export interface InternalBulkAppResponse {
/**
* The name of the app
*/
appName?: string;
/**
* The display name of the owner
*/
ownerDisplayName?: string;
}
export interface InternalHockeyAppCompatibilityResponse {
/**
* The owner type of the app. Possible values include: 'user', 'organization'
*/
ownerType?: string;
/**
* The OS of the app. Possible values include: 'Android', 'iOS', 'macOS', 'Windows', 'Linux',
* 'Custom'
*/
os?: string;
/**
* The OS of the app. Possible values include: 'Java', 'Objective-C-Swift', 'Cordova',
* 'React-Native', 'Unity', 'Electron', 'Xamarin', 'Unknown'
*/
platform?: string;
/**
* Does the HockeyApp app have crashes from within the last 90 days?
*/
hasCrashes?: boolean;
/**
* Does the HockeyApp app have feedback from within the last 90 days?
*/
hasFeedback?: boolean;
/**
* Does the HockeyApp app have metrics from within the last 30 days?
*/
hasMetrics?: boolean;
/**
* Does the HockeyApp app have any external builds?
*/
hasExternalBuilds?: boolean;
/**
* Does the HockeyApp app have any build server URLs specified?
*/
hasSpecifiedBuildServerUrl?: boolean;
/**
* Does the HockeyApp app have an associated Distribution Group that is owned by a different
* owner?
*/
hasDistributionGroupsOutsideOfOwnership?: boolean;
/**
* Does the HockeyApp app's owner own any Distribution Groups?
*/
ownerHasDistributionGroups?: boolean;
/**
* Does the HockeyApp app have any bugtracker configured? Which type?. Possible values include:
* 'none', 'vso', 'jira5', 'github', 'other'
*/
bugtrackerType?: string;
/**
* Does the HockeyApp app have any webhooks configured? Which types?
*/
webhookTypes?: string[];
}
export interface InternalHockeyAppCutoverStatusResponse {
/**
* The ID of the app
*/
id: string;
/**
* Does the HockeyApp app have crashes from within the last 90 days?. Possible values include:
* 'not_requested', 'requested', 'in_progress', 'completed'
*/
status?: string;
}
export interface InternalUserRequest {
/**
* The token of the app invitation which lead to signup
*/
appInvitation?: string;
/**
* The token of the test invitation which lead to signup
*/
testerInvitation?: string;
/**
* The token of the organization invitation which lead to signup
*/
organizationInvitation?: string;
/**
* The avatar URL of the user
*/
avatarUrl?: string;
/**
* The full name of the user. Might for example be first and last name
*/
displayName?: string;
/**
* The email address of the user
*/
email: string;
/**
* The unique name that is used to identify the user.
*/
name: string;
/**
* The password of the user. Needs to be at least 8 characters long and contain at least one
* lower- and one uppercase letter.
*/
password: string;
/**
* The sub-domain of the portal from which this request was made. Will be used to build the
* invitation link. Possible values include: 'install.'
*/
portalSubdomain?: string;
}
export interface OrganizationPatchRequest {
/**
* The full (friendly) name of the organization.
*/
displayName?: string;
/**
* The name of the organization used in URLs
*/
name?: string;
}
export interface OrganizationRequest {
/**
* The display name of the organization
*/
displayName?: string;
/**
* The name of the organization used in URLs
*/
name?: string;
}
export interface OrganizationUserPatchRequest {
/**
* The user's role in the organizatiion. Possible values include: 'admin', 'collaborator'
*/
role?: string;
}
export interface AddOrganizationAdminRequest {
/**
* The internal unique id (UUID) of the account.
*/
userId: string;
}
export interface TransferAppAdminRequest {
/**
* The internal unique id (UUID) of the user/org.
*/
newOwnerId: string;
}
export interface PasswordUpdateRequest {
/**
* 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.
*/
newPassword: string;
/**
* The old password, if needed.
*/
oldPassword?: string;
}
export interface PostRepositoryProviderMappingRequest {
/**
* Id of user in the external provider service
*/
externalAccountId: string;
/**
* App Center account id to link to this provider and external id
*/
accountId: string;
}
export interface GetOrCreateRepositoryProviderMappingRequest {
/**
* The account name given by the external provider. If provided, create an organization and the
* mapping. If not, create mapping with user.
*/
externalAccountName?: string;
}
export interface ResendVerificationRequest {
/**
* The email or name of the user to resend verification
*/
name: string;
}
export interface ResetPasswordUsingTokenRequest {
/**
* The new password. Needs to be at least 8 characters long and contain at least one lower- and
* one uppercase letter.
*/
newPassword: string;
/**
* The reset password token that was sent to the user
*/
token: string;
}
export interface UserAppPermissionsUpdateRequest {
/**
* The permissions the user has for the app
*/
permissions: string[];
}
export interface UserInvitationPermissionsUpdateRequest {
/**
* The permissions the user has for the app in the invitation
*/
permissions: string[];
}
export interface UserEmailRequest {
/**
* The user's email address'
*/
userEmail: string;
}
export interface UserNameUpdateRequest {
/**
* The new, unique name that is used to identify.
*/
name?: string;
}
export interface UserUpdateRequest {
/**
* The full name of the user. Might for example be first and last name
*/
displayName?: string;
}
export interface UserUpdateRequestInternal {
/**
* The full name of the user. Might for example be first and last name
*/
displayName?: string;
/**
* The new, unique name that is used to identify.
*/
name?: string;
/**
* The date in the future when the user should be checked again for NPS eligibility
*/
nextNpsSurveyDate?: string;
/**
* The email address for this user
*/
email?: string;
}
export interface UserSettingRequest {
/**
* The setting value
*/
value: string;
}
export interface AccountResponse {
/**
* The internal unique id (UUID) of the account.
*/
id: string;
/**
* The display name of the account
*/
displayName: string;
/**
* The slug name of the account
*/
name: string;
/**
* The account's email. For org that value might be empty.
*/
email?: string;
/**
* The creation origin of this account. Possible values include: 'appcenter', 'hockeyapp'
*/
origin: string;
/**
* The type of this account. Possible values include: 'user', 'org'
*/
type: string;
}
export interface ApiTokenDeleteResponse {
/**
* The unique id (UUID) of the api token
*/
id: string;
/**
* The hashed value of api token
*/
tokenHash: string;
}
export interface ApiTokenGetUserResponse {
/**
* The token's unique id (UUID)
*/
tokenId: string;
/**
* The token's scope. A list of allowed roles.
*/
tokenScope: string[];
/**
* The user email
*/
userEmail: string;
/**
* The unique id (UUID) of the user
*/
userId: string;
/**
* The creation origin of the user who created this api token. Possible values include:
* 'appcenter', 'hockeyapp', 'codepush'
*/
userOrigin: string;
}
export interface ApiTokenResponse {
/**
* The unique id (UUID) of the api token
*/
id: string;
/**
* The creation time
*/
createdAt: string;
/**
* The token's scope. A list of allowed roles.
*/
scope?: string[];
/**
* The encrypted value of a token. This value will only be returned for token of type
* in_app_update.
*/
encryptedToken?: string;
/**
* The description of the token
*/
description?: string;
}
export interface AppGroupResponse {
/**
* The unique ID (UUID) of the app
*/
id: string;
/**
* The unique ID (UUID) of the group that the app belongs to
*/
groupId: string;
/**
* The display name of the app
*/
displayName?: string;
/**
* A one-word descriptive release-type value that starts with a capital letter but is otherwise
* lowercase
*/
releaseType?: string;
/**
* The name of the app used in URLs
*/
name: string;
/**
* The OS the app will be running on. Possible values include: 'Android', 'iOS', 'macOS',
* 'Tizen', 'tvOS', 'Windows', 'Linux', 'Custom'
*/
os: string;
/**
* The platform of the app. Possible values include: 'Java', 'Objective-C-Swift', 'UWP',
* 'Cordova', 'React-Native', 'Unity', 'Electron', 'Xamarin', 'Unknown'
*/
platform: string;
}
export interface AzureSubscriptionResponse {
/**
* The azure subscription id
*/
subscriptionId: string;
/**
* The tenant id of the azure subscription belongs to
*/
tenantId: string;
/**
* The name of the azure subscription
*/
subscriptionName: string;
/**
* If the subscription is used for billing
*/
isBilling?: boolean;
/**
* If the subscription can be used for billing
*/
isBillable?: boolean;
/**
* If the subscription is internal Microsoft subscription
*/
isMicrosoftInternal?: boolean;
}
export interface BasicAppResponse {
/**
* The unique ID (UUID) of the app
*/
id: string;
/**
* The description of the app
*/
description?: string;
/**
* The display name of the app
*/
displayName: string;
/**
* A one-word descriptive release-type value that starts with a capital letter but is otherwise
* lowercase
*/
releaseType?: string;
/**
* The string representation of the URL pointing to the app's icon
*/
iconUrl?: string;
/**
* The string representation of the source of the app's icon
*/
iconSource?: string;
/**
* The name of the app used in URLs
*/
name: string;
/**
* The OS the app will be running on. Possible values include: 'Android', 'iOS', 'macOS',
* 'Tizen', 'tvOS', 'Windows', 'Linux', 'Custom'
*/
os: string;
owner: Owner;
}
export interface AppResponse extends BasicAppResponse {
/**
* A unique and secret key used to identify the app in communication with the ingestion endpoint
* for crash reporting and analytics
*/
appSecret: string;
azureSubscription?: AzureSubscriptionResponse;
/**
* The platform of the app. Possible values include: 'Java', 'Objective-C-Swift', 'UWP',
* 'Cordova', 'React-Native', 'Unity', 'Electron', 'Xamarin', 'Unknown'
*/
platform: string;
/**
* The creation origin of this app. Possible values include: 'appcenter', 'hockeyapp', 'codepush'
*/
origin: string;
/**
* The created date of this app
*/
createdAt?: string;
/**
* The last updated date of this app
*/
updatedAt?: string;
/**
* The permissions of the calling user
*/
memberPermissions?: string[];
}
export interface UserProfileResponse {
/**
* The unique id (UUID) of the user
*/
id: string;
/**
* The avatar URL of the user
*/
avatarUrl?: string;
/**
* User is required to send an old password in order to change the password.
*/
canChangePassword?: boolean;
/**
* The full name of the user. Might for example be first and last name
*/
displayName: string;
/**
* The email address of the user
*/
email: string;
/**
* The unique name that is used to identify the user.
*/
name: string;
/**
* The permissions the user has for the app
*/
permissions?: string[];
/**
* The creation origin of this user. Possible values include: 'appcenter', 'hockeyapp',
* 'codepush'
*/
origin: string;
}
/**
* The information about the app's owner
*/
export interface Owner {
/**
* The unique id (UUID) of the owner
*/
id: string;
/**
* The avatar URL of the owner
*/
avatarUrl?: string;
/**
* The owner's display name
*/
displayName: string;
/**
* The owner's email address
*/
email?: string;
/**
* The unique name that used to identify the owner
*/
name: string;
/**
* The owner type. Can either be 'org' or 'user'. Possible values include: 'org', 'user'
*/
type: string;
}
/**
* The organization that owns the distribution group, if it exists
*/
export interface AppInvitationDetailResponseDistributionGroup {
owner?: Owner;
}
export interface AppInvitationDetailResponse {
/**
* The unique ID (UUID) of the invitation
*/
id: string;
app: AppResponse;
/**
* The email address of the invited user
*/
email: string;
/**
* The invitation type. Possible values include: 'developer', 'tester'
*/
inviteType: string;
invitedBy: UserProfileResponse;
/**
* Indicates whether the invited user already exists
*/
isExistingUser: boolean;
/**
* The permissions the user has for the app
*/
permissions?: string[];
/**
* The number of apps in the group
*/
appCount?: number;
/**
* The organization that owns the distribution group, if it exists
*/
distributionGroup?: AppInvitationDetailResponseDistributionGroup;
}
export interface AppRepoResponse {
/**
* The unique id (UUID) of the repository integration
*/
id: string;
/**
* The unique id (UUID) of the app that this repository integration belongs to
*/
appId: string;
/**
* The absolute URL of the repository
*/
repoUrl: string;
/**
* The provider of the repository. Possible values include: 'github', 'bitbucket', 'vsts'
*/
repoProvider?: string;
/**
* The unique id (UUID) of the user who configured the repository
*/
userId: string;
/**
* Installation id from the provider
*/
installationId?: string;
/**
* Repository id from the provider
*/
repoId?: string;
}
export interface TesterAppResponse extends BasicAppResponse {
/**
* it indicates if the app is microsoft internal
*/
microsoftInternal?: boolean;
/**
* The permissions associated with the app
*/
permissions?: string[];
}
export interface OrgDistributionGroupAppResponse extends BasicAppResponse {
/**
* The platform of the app
*/
platform?: string;
/**
* The creation origin of this app
*/
origin?: string;
}
export interface AppResponseInternalRepositoriesItem {
repoProvider?: string;
repoUrl?: string;
}
export interface AppResponseInternal extends AppResponse {
/**
* The feature flags that are enabled for this app
*/
featureFlags?: string[];
/**
* The repositories associated with this app
*/
repositories?: AppResponseInternalRepositoriesItem[];
}
export interface AppUserPermissionResponse {
/**
* The unique id (UUID) of the app
*/
appId: string;
/**
* The permissions the user has for the app
*/
permissions: string[];
/**
* The email of the user
*/
userEmail: string;
/**
* The unique id (UUID) of the user
*/
userId: string;
/**
* The creation origin of this app. Possible values include: 'appcenter', 'hockeyapp', 'codepush'
*/
appOrigin: string;
/**
* A unique and secret key used to identify the app in communication with the ingestion endpoint
* for crash reporting and analytics
*/
appSecret: string;
}
export interface AppWithTeamPermissionsResponse extends AppResponse {
/**
* The permissions the team has for the app
*/
teamPermissions?: string[];
}
export interface OrgUserPermissionResponse {
/**
* The unique id (UUID) of the org
*/
orgId: string;
/**
* The user role for the org. Possible values include: 'admin', 'collaborator'
*/
userRole: string;
}
export interface DistributionGroupResponse {
/**
* The unique ID of the distribution group
*/
id: string;
/**
* The name of the distribution group used in URLs
*/
name: string;
/**
* The name of the distribution group
*/
displayName?: string;
/**
* The creation origin of this distribution group. Possible values include: 'appcenter',
* 'hockeyapp'
*/
origin: string;
/**
* Whether the distribution group is public
*/
isPublic: boolean;
}
export interface DistributionGroupUserGetResponse {
/**
* The unique id (UUID) of the user
*/
id?: string;
/**
* The avatar URL of the user
*/
avatarUrl?: string;
/**
* User is required to send an old password in order to change the password.
*/
canChangePassword?: boolean;
/**
* The full name of the user. Might for example be first and last name
*/
displayName?: string;
/**
* The email address of the user
*/
email: string;
/**
* Whether the has accepted the invite. Available when an invite is pending, and the value will
* be "true".
*/
invitePending?: boolean;
/**
* The unique name that is used to identify the user.
*/
name?: string;
}
export interface DistributionGroupDetailsResponse extends DistributionGroupResponse {
/**
* Whether the distribution group is shared group or not
*/
isShared: boolean;
/**
* The count of apps associated with this distribution group
*/
totalAppsCount: number;
/**
* The count of users in the distribution group
*/
totalUserCount: number;
/**
* The count of non-pending users in the distribution group who will be notified by new releases
*/
notifiedUserCount: number;
/**
* Type of group (Default, HockeyAppDefault or MicrosoftDogfooding). Possible values include:
* 'Default', 'HockeyAppDefault', 'MicrosoftDogfooding'
*/
groupType?: string;
/**
* The distribution group users
*/
users: DistributionGroupUserGetResponse[];
}
export interface OrgDistributionGroupDetailsResponse extends DistributionGroupResponse {
/**
* The count of apps associated with this distribution group
*/
totalAppsCount: number;
/**
* The count of users in the distribution group
*/
totalUsersCount: number;
/**
* The apps associated with the distribution group
*/
apps: AppResponse[];
}
export interface GeneralDistributionGroupDetailsResponse extends DistributionGroupResponse {
/**
* Whether the distribution group is shared group or not
*/
isShared: boolean;
/**
* If distribution group is owned by an app, this is the unique app ID
*/
ownerAppId?: string;
/**
* If distribution group is owned by an org, this is the unique org ID
*/
ownerOrgId?: string;
}
export interface DistributionGroupUserDeleteResponse {
/**
* The code of the result
*/
code?: string;
/**
* The message of the result
*/
message?: number;
/**
* The status code of the result
*/
status: number;
/**
* The email of the user
*/
userEmail?: string;
}
export interface OrganizationResponse {
/**
* The internal unique id (UUID) of the organization.
*/
id: string;
/**
* The display name of the organization
*/
displayName: string;
/**
* The slug name of the organization
*/
name: string;
/**
* The URL to a user-uploaded Avatar image
*/
avatarUrl?: string;
/**
* The creation origin of this organization. Possible values include: 'appcenter', 'hockeyapp'
*/
origin: string;
/**
* The creation date of this organization
*/
createdAt: string;
/**
* The date the organization was last updated at
*/
updatedAt: string;
}
export interface CloseAccountOrganizationResponse extends OrganizationResponse {
/**
* The number of collaborators from the organization
*/
collaboratorsCount: number;
}
export interface DistributionGroupUserPostResponse {
/**
* The code of the result
*/
code?: string;
/**
* Whether the has accepted the invite. Available when an invite is pending, and the value will
* be "true".
*/
invitePending?: boolean;
/**
* The message of the result
*/
message?: number;
/**
* The status code of the result
*/
status: number;
/**
* The email of the user
*/
userEmail?: string;
}
export interface DistributionGroupTesterGetResponse {
/**
* The full name of the tester. Might for example be first and last name
*/
displayName?: string;
/**
* The unique name that is used to identify the tester.
*/
name: string;
/**
* The email address of the tester
*/
email: string;
}
export interface DistributionGroupAADGroupPostResponse {
/**
* The internal unique id (UUID) of the AAD group.
*/
id?: string;
/**
* The AAD unique id (UUID) of the AAD group.
*/
aadGroupId?: string;
/**
* The display name of the AAD group
*/
displayName?: string;
}
export interface DistributionGroupAadGroupsDeleteResponse {
/**
* The code of the result
*/
code?: string;
/**
* The message of the result
*/
message?: number;
/**
* The status code of the result
*/
status: number;
/**
* The aad id of the group
*/
aadGroupId?: string;
}
export interface DistributionGroupWithUsersResponse {
/**
* The unique ID of the distribution group
*/
id: string;
/**
* The name of the distribution group used in URLs
*/
name: string;
/**
* The count of users in the distribution group
*/
totalUserCount: number;
/**
* The count of aad groups in the distribution group
*/
totalGroupsCount?: number;
/**
* The count of non-pending users in the distribution group who will be notified by new releases
*/
notifiedUserCount: number;
/**
* Whether the distribution group is public
*/
isPublic?: boolean;
/**
* The distribution group users
*/
users: DistributionGroupUserGetResponse[];
/**
* The distribution group aad groups
*/
aadGroups?: DistributionGroupAADGroupPostResponse[];
}
export interface FeatureFlagsResponse {
featureFlags: string[];
}
export interface FeatureResponse {
/**
* The description of the feature
*/
description?: string;
/**
* The friendly name of the feature
*/
displayName: string;
/**
* The unique name of the feature
*/
name: string;
/**
* The state (unset, enabled, disabled) of the feature
*/
state: number;
}
export interface InternalUserSignupResponse {
/**
* The unique id (UUID) of the user
*/
id: string;
/**
* The full name of the user. Might for example be first and last name
*/
displayName: string;
/**
* The email address of the user
*/
email: string;
/**
* The name of the external auth provider
*/
externalProvider?: string;
/**
* The user ID given by the external provider
*/
externalUserId?: string;
/**
* The unique name that is used to identify the user.
*/
name: string;
/**
* The current status of the user record after signup. Possible values include: 'Complete',
* 'NeedsVerification'
*/
status?: string;
}
export interface InvitationDetailResponse {
/**
* The id of the invitation
*/
invitationId: string;
invitedBy: UserProfileResponse;
organization?: OrganizationResponse;
app?: AppResponse;
}
export interface GDPRInvitationDetailResponse {
/**
* The id of the invitation
*/
invitationId: string;
organization?: OrganizationResponse;
app?: AppResponse;
}
export interface OrgNameAvailabilityResponse {
/**
* The availability status of the requested org name
*/
available: boolean;
/**
* The generated org name
*/
name: string;
}
export interface OrganizationInvitationDetailResponse {
/**
* The unique ID (UUID) of the invitation
*/
id: string;
organization: OrganizationResponse;
/**
* The email address of the invited user
*/
email: string;
invitedBy: UserProfileResponse;
/**
* Indicates whether the invited user already exists
*/
isExistingUser: boolean;
/**
* The role assigned to the invited user
*/
role?: string;
}
export interface OrganizationInvitationSimpleDetailResponse {
/**
* The unique ID (UUID) of the invitation
*/
id: string;
/**
* The email address of the invited user
*/
email: string;
/**
* The role assigned to the invited user
*/
role: string;
}
export interface OrganizationResponseInternal extends OrganizationResponse {
/**
* The feature flags that are enabled for this organization
*/
featureFlags?: string[];
}
export interface OrganizationResponseManagement extends OrganizationResponseInternal {
/**
* The organization email, if the app was synced from HockeyApp
*/
email?: string;
}
export interface OrganizationUserResponse {
/**
* The email address of the user
*/
email: string;
/**
* The full name of the user. Might for example be first and last name
*/
displayName: string;
/**
* The date when the user joined the organization
*/
joinedAt: string;
/**
* The unique name that is used to identify the user.
*/
name: string;
/**
* The role the user has within the organization
*/
role: string;
}
export interface TeamAppUpdateRequest {
/**
* The permissions all members of the team have on the app
*/
permissions: string[];
}
export interface TeamRequest {
/**
* The display name of the team
*/
displayName: string;
/**
* The name of the team
*/
name?: string;
/**
* The description of the team
*/
description?: string;
}
export interface TeamResponse {
/**
* The internal unique id (UUID) of the team.
*/
id: string;
/**
* The name of the team
*/
name: string;
/**
* The display name of the team
*/
displayName: string;
/**
* The description of the team
*/
description?: string;
}
export interface TeamAppResponse extends TeamResponse {
/**
* The permissions the team has for the app
*/
permissions?: string[];
}
export interface StatusResponse {
status: string;
}
export interface PurgeResponse {
status: string;
}
export interface SubscriptionMetrics {
/**
* The name of the subsciption (prefixed with the topic name)
*/
name: string;
/**
* The number of messages in the subscription
*/
messageCount: number;
}
export interface ServiceBusStatusResponse {
status: string;
subscriptions?: SubscriptionMetrics[];
}
export interface TeamUserResponse {
/**
* The email address of the user
*/
email: string;
/**
* The full name of the user. Might for example be first and last name
*/
displayName: string;
/**
* The unique name that is used to identify the user.
*/
name: string;
/**
* The role of the user has within the team
*/
role: any;
}
export interface UserAuthResponse {
/**
* The unique id (UUID) of the user
*/
id: string;
/**
* The full name of the user. Might for example be first and last name
*/
displayName: string;
/**
* The email address of the user
*/
email: string;
/**
* The name of the external auth provider
*/
externalProvider?: string;
/**
* The user ID given by the external provider
*/
externalUserId?: string;
/**
* The unique name that is used to identify the user
*/
name: string;
/**
* The creation origin of this user. Possible values include: 'appcenter', 'hockeyapp',
* 'codepush'
*/
origin: string;
}
export interface UserLiteProfileResponse {
/**
* The unique id (UUID) of the user
*/
id: string;
/**
* The full name of the user. Might for example be first and last name
*/
displayName: string;
/**
* The email address of the user
*/
email: string;
}
export interface UserNameAvailabilityResponse {
/**
* The availability status of the requested user name
*/
available: boolean;
/**
* The requested user name
*/
name: string;
}
export interface AppIntegration {
/**
* app id
*/
appId: string;
/**
* integration state
*/
state: string;
/**
* provider type
*/
provider: string;
}
export interface AppIntegrationResponse {
/**
* app id
*/
appId: string;
}
export interface AppMembershipsResponseMembershipsItem {
appId?: string;
userId?: string;
permissions?: string[];
/**
* Possible values include: 'appcenter', 'hockeyapp', 'codepush', 'testcloud',
* 'hockeyapp-dogfood'
*/
origin?: string;
/**
* Possible values include: 'user', 'org', 'distribution_group', 'team', 'release'
*/
sourceType?: string;
}
export interface AppMembershipsResponse {
/**
* The app's origin
*/
appOrigin?: string;
/**
* An array of all ways a user has access to the app, based on the app_memberships table.
*/
memberships?: AppMembershipsResponseMembershipsItem[];
}
/**
* The user's settings
*/
export interface UserProfileResponseInternalSettings {
/**
* The marketing opt-in setting
*/
marketingOptIn?: string;
}
export interface UserProfileResponseInternal extends UserProfileResponse {
/**
* The feature flags that are enabled for this app
*/
featureFlags?: string[];
/**
* The new admin_role. Possible values include: 'superAdmin', 'admin', 'devOps',
* 'customerSupport', 'notAdmin'
*/
adminRole?: string;
/**
* The user's settings
*/
settings?: UserProfileResponseInternalSettings;
}
export interface UserProfileResponseManagement extends UserProfileResponseInternal {
/**
* The date when the app was last updated
*/
updatedAt?: string;
/**
* A boolean flag that indicates if the user is already verified
*/
verified?: boolean;
}
/**
* A user's setting
*/
export interface UserSettingResponse {
/**
* The marketing opt-in setting
*/
marketingOptIn?: string;
}
/**
* an AAD user's id and tenant id
*/
export interface AADUser {
/**
* the aad user's id
*/
objectId: string;
/**
* the aad user's tenant id
*/
tenantId: string;
}
/**
* an MSA user's hex CID
*/
export interface MSAUser {
/**
* the user's CID
*/
hexcid: string;
}
/**
* Shared connection patch request
*/
export interface SharedConnectionPatchRequest {
/**
* Display name of the shared connection
*/
displayName?: string;
/**
* Represents the data for connecting to service
*/
data: any;
}
/**
* SharedConnectionRequest
*/
export interface SharedConnectionRequest {
/**
* display name of shared connection
*/
displayName?: string;
/**
* credential type of the shared connection. Values can be credentials|certificate. Possible
* values include: 'credentials', 'certificate'
*/
credentialType?: string;
/**
* Polymorphic Discriminator
*/
serviceType: string;
}
/**
* SharedConnectionResponse
*/
export interface SharedConnectionResponse {
/**
* id of the shared connection
*/
id: string;
/**
* display name of shared connection
*/
displayName?: string;
/**
* the type of the credential. Possible values include: 'credentials', 'certificate'
*/
credentialType: string;
/**
* whether the credentials are valid or not
*/
isValid?: boolean;
/**
* if the account is a 2FA account or not
*/
is2FA?: boolean;
/**
* Polymorphic Discriminator
*/
serviceType: string;
}
/**
* PrivateSharedConnectionResponse
*/
export interface PrivateSharedConnectionResponse {
/**
* id of the shared connection
*/
id: string;
/**
* display name of shared connection
*/
displayName?: string;
/**
* whether the credentials are valid or not
*/
isValid?: boolean;
/**
* if the account is a 2FA account or not
*/
is2FA?: boolean;
/**
* Polymorphic Discriminator
*/
serviceType: string;
}
/**
* Apple connection secrets
*/
export interface AppleConnectionSecretRequest extends SharedConnectionRequest {
}
/**
* Apple secret details
*/
export interface AppleMultifactorSecretDetails {
/**
* username to connect to apple store.
*/
username: string;
/**
* password to connect to apple store.
*/
password: string;
/**
* The 6 digit Apple OTP for Multifactor accounts
*/
authCode: string;
/**
* The app specific password required for app publishing for 2FA accounts
*/
appSpecificPassword?: string;
}
/**
* Apple connection secrets
*/
export interface AppleCredentialsMultifactorSecretRequest extends AppleConnectionSecretRequest {
/**
* apple secret details
*/
data: AppleMultifactorSecretDetails;
}
/**
* Apple secret details
*/
export interface AppleSecretDetails {
/**
* username to connect to apple store.
*/
username?: string;
/**
* 6 digit auth code
*/
authCode?: string;
/**
* password to connect to apple store.
*/
password?: string;
}
/**
* Apple connection secrets
*/
export interface AppleCredentialsSecretRequest extends AppleConnectionSecretRequest {
/**
* apple secret details
*/
data: AppleSecretDetails;
}
/**
* Apple Certificate Details
*/
export interface AppleCertificateDetails {
/**
* The certificate contents in base 64 encoded string
*/
base64Certificate: string;
/**
* The password for the certificate
*/
password: string;
}
/**
* Apple certificate secrets
*/
export interface AppleCertificateSecretRequest extends AppleConnectionSecretRequest {
/**
* apple secret details
*/
data: AppleCertificateDetails;
}
/**
* private Apple connection secrets response
*/
export interface PrivateAppleSecretResponse extends PrivateSharedConnectionResponse {
}
/**
* private Apple connection secrets response
*/
export interface PrivateAppleCredentialsSecretResponse extends PrivateAppleSecretResponse {
/**
* apple secret details
*/
data: AppleSecretDetails;
}
/**
* Apple Certificate Secret Details
*/
export interface AppleCertificateSecretDetails {
/**
* The certificate contents in base 64 encoded string
*/
base64Certificate: string;
/**
* The password for the certificate
*/
password: string;
/**
* The display name (CN) of the certificate
*/
displayName: string;
/**
* The date-time from which the certificate is valid
*/
certificateValidityStartDate: string;
/**
* The date-time till which the certificate is valid
*/
certificateValidityEndDate: string;
}
/**
* private Apple connection secrets response
*/
export interface PrivateAppleCertificateSecretResponse extends PrivateAppleSecretResponse {
/**
* apple secret details
*/
data: AppleCertificateSecretDetails;
}
/**
* Apple secret details
*/
export interface AppleSecretDetailsResponse {
/**
* username to connect to apple store
*/
username: string;
}
/**
* Apple connection secrets
*/
export interface AppleConnectionSecretResponse extends SharedConnectionResponse {
/**
* apple secret details
*/
data: AppleSecretDetailsResponse;
}
/**
* Apple connection secrets
*/
export interface AppleConnectionNonSecretResponse extends SharedConnectionResponse {
}
/**
* Apple credentials non-secret details
*/
export interface AppleCredentialNonSecretDetailsResponse extends AppleConnectionNonSecretResponse {
/**
* Apple credentials non-secret data
*/
data: AppleSecretDetailsResponse;
}
/**
* Apple Certificate Secret Details
*/
export interface AppleCertificateNonSecretDetails {
/**
* The display name (CN) of the certificate
*/
displayName: string;
/**
* The date-time from which the certificate is valid
*/
certificateValidityStartDate: string;
/**
* The date-time till which the certificate is valid
*/
certificateValidityEndDate: string;
}
/**
* Apple certificate non-secret details
*/
export interface AppleCertificateNonSecretDetailsResponse extends AppleConnectionNonSecretResponse
{
/**
* apple certificate non-secret details
*/
data: AppleCertificateNonSecretDetails;
}
/**
* Apple connection secrets
*/
export interface AppleCertificateSecretDetailsResponse extends SharedConnectionResponse {
/**
* apple certificate secret details.
*/
data: AppleCertificateSecretDetails;
}
/**
* Jira secret details
*/
export interface JiraSecretDetails {
/**
* baseUrl to connect to jira instance
*/
baseUrl: string;
/**
* username to connect to jira instance
*/
username: string;
/**
* password to connect to jira instance
*/
password: string;
}
/**
* Jira connection secrets
*/
export interface JiraConnectionSecretRequest extends SharedConnectionRequest {
/**
* jira secret details
*/
data: JiraSecretDetails;
}
/**
* Jira secret details
*/
export interface JiraSecretDetailsResponse {
/**
* baseUrl to connect to jira instance
*/
baseUrl: string;
/**
* username to connect to jira instance
*/
username: string;
}
/**
* Jira connection secrets
*/
export interface JiraConnectionSecretResponse extends SharedConnectionResponse {
/**
* jira secret details
*/
data: JiraSecretDetailsResponse;
}
/**
* private Jira connection secrets response
*/
export interface PrivateJiraConnectionSecretResponse extends PrivateSharedConnectionResponse {
/**
* jira secret details
*/
data: JiraSecretDetails;
}
/**
* Google Play connection secrets this should be the JSON file data which is provided by google
* play
*/
export interface GooglePlayConnectionSecretRequest extends SharedConnectionRequest {
/**
* google secret details
*/
data: any;
}
/**
* Google Play connection secrets
*/
export interface GooglePlayConnectionSecretResponse extends SharedConnectionResponse {
/**
* google play secret details
*/
data: any;
}
/**
* private google connection secrets response
*/
export interface PrivateGooglePlayConnectionSecretResponse extends PrivateSharedConnectionResponse
{
/**
* google secret details
*/
data: any;
}
/**
* Google Play non-secret data
*/
export interface GooglePlayConnectionNonSecretResponse extends SharedConnectionResponse {
}
/**
* Google Play credentials non-secret details
*/
export interface GooglePlayCredentialNonSecretDetailsResponse extends
GooglePlayConnectionNonSecretResponse {
/**
* Google Play credentials non-secret details
*/
data: any;
}
/**
* Jira non-secret data
*/
export interface JiraConnectionNonSecretResponse extends SharedConnectionResponse {
}
/**
* Jira credentials non-secret details
*/
export interface JiraCredentialNonSecretDetailsResponse extends
GooglePlayConnectionNonSecretResponse {
/**
* Jira credentials non-secret details
*/
data: JiraSecretDetailsResponse;
}
export interface ApiTokenResponsev2 {
/**
* The unique id (UUID) of the api token
*/
id: string;
/**
* The creation time
*/
createdAt: string;
/**
* The token's scope. A list of allowed roles.
*/
scope?: string[];
/**
* The encrypted value of a token. This value will only be returned for token of type
* in_app_update.
*/
encryptedToken?: string;
/**
* The description of the token
*/
description?: string;
}
export interface UserDataResponse {
/**
* The unique id (UUID) of the user
*/
id?: string;
/**
* The display name of the user
*/
displayName?: string;
/**
* The name of the user
*/
name?: string;
/**
* The url at which the user's avatar can be reached
*/
avatarUrl?: string;
}
export interface ErrorDetailsv2 {
/**
* Possible values include: 'BadRequest', 'Conflict', 'NotAcceptable', 'NotFound',
* 'InternalServerError', 'Unauthorized'
*/
code: string;
message: string;
}
export interface ErrorResponsev2 {
error: ErrorDetailsv2;
}
export interface FileAsset {
id?: string;
location?: string;
token?: string;
uploadDomain?: string;
uploadWindowLocation?: string;
urlEncodedToken?: string;
}
/**
* The source repository
*/
export interface SourceRepository {
/**
* The repository name
*/
name?: string;
/**
* URL used to clone the repository
*/
cloneUrl?: string;
}
/**
* The GitHub Installation
*/
export interface GitHubAccountLite {
/**
* GitHub Account Id
*/
id?: string;
/**
* GitHub Account Login Name
*/
login?: string;
/**
* GitHub Account Type
*/
type?: string;
/**
* GitHub Account Url
*/
url?: string;
}
/**
* The GitHub Installation
*/
export interface