diff --git a/extensions/azurecore/src/account-provider/auths/azureAuth.ts b/extensions/azurecore/src/account-provider/auths/azureAuth.ts index 6d5cc7a3cb..cc3aaf8258 100644 --- a/extensions/azurecore/src/account-provider/auths/azureAuth.ts +++ b/extensions/azurecore/src/account-provider/auths/azureAuth.ts @@ -129,6 +129,10 @@ export abstract class AzureAuth implements vscode.Disposable { this.metadata.settings.azureKeyVaultResource ]; + if (this.metadata.settings.azureDevOpsResource) { + this.resources = this.resources.concat(this.metadata.settings.azureDevOpsResource); + } + this.scopes = [...this.metadata.settings.scopes]; this.scopesString = this.scopes.join(' '); } diff --git a/extensions/azurecore/src/account-provider/interfaces.ts b/extensions/azurecore/src/account-provider/interfaces.ts index 91201e66cc..795c5e23e7 100644 --- a/extensions/azurecore/src/account-provider/interfaces.ts +++ b/extensions/azurecore/src/account-provider/interfaces.ts @@ -99,6 +99,11 @@ interface Settings { */ azureKeyVaultResource?: Resource; + /** + * Information that describes the Azure Dev Ops resource + */ + azureDevOpsResource?: Resource; + /** * A list of tenant IDs to authenticate against. If defined, then these IDs will be used * instead of querying the tenants endpoint of the armResource diff --git a/extensions/azurecore/src/account-provider/providerSettings.ts b/extensions/azurecore/src/account-provider/providerSettings.ts index 441ac71647..d8968712f3 100644 --- a/extensions/azurecore/src/account-provider/providerSettings.ts +++ b/extensions/azurecore/src/account-provider/providerSettings.ts @@ -48,6 +48,11 @@ const publicAzureSettings: ProviderSettings = { endpoint: 'https://vault.azure.net', azureResourceId: AzureResource.AzureKeyVault }, + azureDevOpsResource: { + id: 'ado', + endpoint: '499b84ac-1321-427f-aa17-267ca6975798', + azureResourceId: AzureResource.AzureDevOps, + }, redirectUri: 'https://vscode-redirect.azurewebsites.net/', scopes: [ 'openid', 'email', 'profile', 'offline_access', diff --git a/src/sql/azdata.d.ts b/src/sql/azdata.d.ts index d5d456d9b2..ab1e17eff3 100644 --- a/src/sql/azdata.d.ts +++ b/src/sql/azdata.d.ts @@ -2216,7 +2216,8 @@ declare module 'azdata' { OssRdbms = 2, AzureKeyVault = 3, Graph = 4, - MicrosoftResourceManagement = 5 + MicrosoftResourceManagement = 5, + AzureDevOps = 6 } export interface DidChangeAccountsParams { diff --git a/src/sql/workbench/api/common/sqlExtHostTypes.ts b/src/sql/workbench/api/common/sqlExtHostTypes.ts index 1a251aa131..7c97e44036 100644 --- a/src/sql/workbench/api/common/sqlExtHostTypes.ts +++ b/src/sql/workbench/api/common/sqlExtHostTypes.ts @@ -406,7 +406,8 @@ export enum AzureResource { OssRdbms = 2, AzureKeyVault = 3, Graph = 4, - MicrosoftResourceManagement = 5 + MicrosoftResourceManagement = 5, + AzureDevOps = 6 } export class TreeItem extends vsExtTypes.TreeItem {