From a4e7e85483fe2fe25655d65b615eff607195ddc6 Mon Sep 17 00:00:00 2001 From: GeoffCoxMSFT Date: Fri, 9 Apr 2021 15:20:14 -0700 Subject: [PATCH 1/3] Added connection string --- Composer/packages/types/src/publish.ts | 1 + .../src/node/azureResourceManager/azureResourceManager.ts | 5 ++++- extensions/azurePublish/src/node/index.ts | 2 ++ extensions/azurePublish/src/node/schema.ts | 4 ++++ 4 files changed, 11 insertions(+), 1 deletion(-) diff --git a/Composer/packages/types/src/publish.ts b/Composer/packages/types/src/publish.ts index e62e9aeca6..e4089261a0 100644 --- a/Composer/packages/types/src/publish.ts +++ b/Composer/packages/types/src/publish.ts @@ -157,6 +157,7 @@ export type PublishProfile = { settings: { applicationInsights?: { InstrumentationKey: string; + connectionString?: string; }; cosmosDb?: { cosmosDBEndpoint: string; diff --git a/extensions/azurePublish/src/node/azureResourceManager/azureResourceManager.ts b/extensions/azurePublish/src/node/azureResourceManager/azureResourceManager.ts index 1982be277f..5ed8e59636 100644 --- a/extensions/azurePublish/src/node/azureResourceManager/azureResourceManager.ts +++ b/extensions/azurePublish/src/node/azureResourceManager/azureResourceManager.ts @@ -470,7 +470,9 @@ export class AzureResourceMananger { * Deploy application insights * @param config */ - public async deployAppInsightsResource(config: ApplicationInsightsConfig): Promise<{ instrumentationKey: string }> { + public async deployAppInsightsResource( + config: ApplicationInsightsConfig + ): Promise<{ instrumentationKey: string; connectionString: string }> { try { this.logger({ status: BotProjectDeployLoggerType.PROVISION_INFO, @@ -500,6 +502,7 @@ export class AzureResourceMananger { // Update output and status return { instrumentationKey: deployResult.instrumentationKey, + connectionString: deployResult.connectionString, }; } catch (err) { this.logger({ diff --git a/extensions/azurePublish/src/node/index.ts b/extensions/azurePublish/src/node/index.ts index d5e108f1cf..c7fabebb91 100644 --- a/extensions/azurePublish/src/node/index.ts +++ b/extensions/azurePublish/src/node/index.ts @@ -316,6 +316,8 @@ export default async (composer: IExtensionRegistration): Promise => { InstrumentationKey: provisionResults.appInsights?.instrumentationKey ?? currentSettings?.applicationInsights?.InstrumentationKey, + connectionString: + provisionResults.appInsights?.connectionString ?? currentSettings?.applicationInsights?.connectionString, }, cosmosDb: provisionResults.cosmosDB ?? currentSettings?.cosmosDb, blobStorage: provisionResults.blobStorage ?? currentSettings?.blobStorage, diff --git a/extensions/azurePublish/src/node/schema.ts b/extensions/azurePublish/src/node/schema.ts index 4ec369b647..853501b068 100644 --- a/extensions/azurePublish/src/node/schema.ts +++ b/extensions/azurePublish/src/node/schema.ts @@ -61,6 +61,9 @@ const schema: JSONSchema7 = { InstrumentationKey: { type: 'string', }, + connectionString: { + type: 'string', + }, }, }, cosmosDb: { @@ -149,6 +152,7 @@ const schema: JSONSchema7 = { settings: { applicationInsights: { InstrumentationKey: '', + connectionString: '', }, cosmosDb: { cosmosDBEndpoint: '', From ab1b82c7189177ae5e85cae7682a9967778a0e4b Mon Sep 17 00:00:00 2001 From: Ben Brown Date: Tue, 13 Apr 2021 12:00:02 -0500 Subject: [PATCH 2/3] fix #6843: apply new connectionstring to settings during publish --- Composer/packages/lib/shared/src/settings.ts | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/Composer/packages/lib/shared/src/settings.ts b/Composer/packages/lib/shared/src/settings.ts index 4a3a272b46..ed393ad7ca 100644 --- a/Composer/packages/lib/shared/src/settings.ts +++ b/Composer/packages/lib/shared/src/settings.ts @@ -16,9 +16,12 @@ export const applyPublishingProfileToSettings = (settings: DialogSetting, profil // apply the application insights resource from the publish profile // to the telemetry setting - if (profile.settings.applicationInsights?.InstrumentationKey) { + if (profile.settings.applicationInsights?.InstrumentationKey || profile.settings.applicationInsights?.connectionString) { settings.runtimeSettings.telemetry = { - instrumentationKey: profile.settings.applicationInsights.InstrumentationKey, + options: { + connectionString: profile.settings.applicationInsights.connectionString, + instrumentationKey: profile.settings.applicationInsights.InstrumentationKey, + } }; } From 34652395629458c38194d78b9c5ca6b7225e2df4 Mon Sep 17 00:00:00 2001 From: GeoffCoxMSFT Date: Tue, 13 Apr 2021 12:46:19 -0700 Subject: [PATCH 3/3] Fix lint issue --- Composer/packages/lib/shared/src/settings.ts | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/Composer/packages/lib/shared/src/settings.ts b/Composer/packages/lib/shared/src/settings.ts index ed393ad7ca..8bc424ac9a 100644 --- a/Composer/packages/lib/shared/src/settings.ts +++ b/Composer/packages/lib/shared/src/settings.ts @@ -16,12 +16,15 @@ export const applyPublishingProfileToSettings = (settings: DialogSetting, profil // apply the application insights resource from the publish profile // to the telemetry setting - if (profile.settings.applicationInsights?.InstrumentationKey || profile.settings.applicationInsights?.connectionString) { + if ( + profile.settings.applicationInsights?.InstrumentationKey || + profile.settings.applicationInsights?.connectionString + ) { settings.runtimeSettings.telemetry = { options: { connectionString: profile.settings.applicationInsights.connectionString, instrumentationKey: profile.settings.applicationInsights.InstrumentationKey, - } + }, }; }