Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
env*
dist
node_modules
node_modules
content
132 changes: 128 additions & 4 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

3 changes: 3 additions & 0 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -19,12 +19,15 @@
"devDependencies": {
"@microsoft/microsoft-graph-types": "^2.40.0",
"@types/node": "^20.14.10",
"@types/remove-markdown": "^0.3.4",
"rimraf": "^6.0.1",
"typescript": "^5.5.3"
},
"dependencies": {
"@azure/identity": "^4.3.0",
"@microsoft/microsoft-graph-client": "^3.0.7",
"gray-matter": "^4.0.3",
"remove-markdown": "^0.5.5",
"undici": "^6.19.2"
}
}
2 changes: 1 addition & 1 deletion setup.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ npx -p @pnp/cli-microsoft365 -- m365 login --authType browser

# create AAD app
Write-Host "Creating AAD app..."
$appInfo=$(npx -p @pnp/cli-microsoft365 -- m365 aad app add --name "Microsoft Graph documentation" --withSecret --apisApplication "https://graph.microsoft.com/ExternalConnection.ReadWrite.OwnedBy, https://graph.microsoft.com/ExternalItem.ReadWrite.OwnedBy" --grantAdminConsent --output json)
$appInfo=$(npx -p @pnp/cli-microsoft365 -- m365 entra app add --name "Microsoft Graph documentation" --withSecret --apisApplication "https://graph.microsoft.com/ExternalConnection.ReadWrite.OwnedBy, https://graph.microsoft.com/ExternalItem.ReadWrite.OwnedBy" --grantAdminConsent --output json)

# write app to env.ts
Write-Host "Writing app to src/env.ts..."
Expand Down
15 changes: 11 additions & 4 deletions src/config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@ import { ExternalConnectors } from '@microsoft/microsoft-graph-types';

export const config = {
connection: {
id: '',
name: '',
description: '',
id: 'msgraphdocs',
name: 'Microsoft Graph documentation',
description: 'Documentation for Microsoft Graph API which explains what Microsoft Graph is and how to use it.',
activitySettings: {
// URL to item resolves track activity such as sharing external items.
// The recorded activity is used to improve search relevance.
Expand Down Expand Up @@ -60,7 +60,14 @@ export const config = {
labels: [
'iconUrl'
]
}
},
{
name: 'description',
type: 'string',
isQueryable: true,
isSearchable: true,
isRetrievable: true
},
]
}
} as ExternalConnectors.ExternalConnection
Expand Down
20 changes: 12 additions & 8 deletions src/createConnection.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { ExternalConnectors } from '@microsoft/microsoft-graph-types';
import { ExternalAudienceScope, ExternalConnectors } from '@microsoft/microsoft-graph-types';
import fs from 'fs';
import { config } from './config.js';
import { client } from './graphClient.js';
Expand All @@ -14,15 +14,19 @@ async function createConnection(): Promise<void> {
const adaptiveCard = fs.readFileSync('./resultLayout.json', 'utf8');
searchSettings!.searchResultTemplates![0].layout = JSON.parse(adaptiveCard);

const requestBody : ExternalConnectors.ExternalConnection = {
id,
name,
description,
activitySettings,
searchSettings
};

console.log(requestBody);

await client
.api('/external/connections')
.post({
id,
name,
description,
activitySettings,
searchSettings
});
.post(requestBody);

console.log('Connection created');
}
Expand Down
Loading