@pnp/cli-microsoft365 6.4.0 → 6.5.0-beta.699c15b
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.eslintrc.js +2 -0
- package/README.md +3 -3
- package/dist/Command.js +17 -7
- package/dist/cli/Cli.js +15 -11
- package/dist/m365/cli/commands/config/config-set.js +1 -0
- package/dist/m365/commands/request.js +18 -1
- package/dist/m365/flow/commands/flow-export.js +6 -6
- package/dist/m365/pa/commands/app/app-export.js +197 -0
- package/dist/m365/pa/commands.js +1 -0
- package/dist/m365/purview/commands/threatassessment/threatassessment-get.js +79 -0
- package/dist/m365/purview/commands.js +2 -1
- package/dist/m365/spfx/commands/project/project-doctor/doctor-1.17.0.js +23 -0
- package/dist/m365/spfx/commands/project/project-doctor.js +2 -1
- package/dist/m365/spfx/commands/project/project-upgrade/{upgrade-1.17.0-beta.3.js → upgrade-1.17.0.js} +26 -26
- package/dist/m365/spfx/commands/project/project-upgrade.js +13 -15
- package/dist/m365/spfx/commands/spfx-doctor.js +15 -0
- package/dist/m365/spo/commands/applicationcustomizer/applicationcustomizer-add.js +27 -13
- package/dist/m365/spo/commands/applicationcustomizer/applicationcustomizer-list.js +72 -0
- package/dist/m365/spo/commands/commandset/commandset-add.js +2 -1
- package/dist/m365/spo/commands/commandset/commandset-remove.js +12 -9
- package/dist/m365/spo/commands/commandset/commandset-set.js +12 -9
- package/dist/m365/spo/commands/file/file-move.js +1 -1
- package/dist/m365/spo/commands/file/file-retentionlabel-ensure.js +22 -1
- package/dist/m365/spo/commands/listitem/listitem-get.js +21 -6
- package/dist/m365/spo/commands/listitem/listitem-retentionlabel-ensure.js +35 -1
- package/dist/m365/spo/commands/web/web-set.js +33 -13
- package/dist/m365/spo/commands.js +1 -0
- package/dist/m365/teams/commands/team/team-list.js +4 -6
- package/dist/m365/todo/commands/task/task-set.js +25 -1
- package/dist/settingsNames.js +2 -1
- package/dist/utils/md.js +4 -3
- package/docs/docs/_clisettings.md +1 -0
- package/docs/docs/cmd/aad/o365group/o365group-add.md +3 -3
- package/docs/docs/cmd/pa/app/app-export.md +52 -0
- package/docs/docs/cmd/purview/threatassessment/threatassessment-get.md +191 -0
- package/docs/docs/cmd/request.md +10 -4
- package/docs/docs/cmd/spfx/project/project-upgrade.md +2 -2
- package/docs/docs/cmd/spo/applicationcustomizer/applicationcustomizer-add.md +4 -1
- package/docs/docs/cmd/spo/applicationcustomizer/applicationcustomizer-list.md +109 -0
- package/docs/docs/cmd/spo/file/file-retentionlabel-ensure.md +12 -1
- package/docs/docs/cmd/spo/list/list-view-remove.md +1 -1
- package/docs/docs/cmd/spo/list/list-view-set.md +2 -2
- package/docs/docs/cmd/spo/listitem/listitem-get.md +14 -5
- package/docs/docs/cmd/spo/listitem/listitem-retentionlabel-ensure.md +15 -2
- package/docs/docs/cmd/teams/team/team-list.md +44 -4
- package/docs/docs/cmd/todo/task/task-set.md +50 -0
- package/npm-shrinkwrap.json +460 -273
- package/package.json +13 -12
|
@@ -69,20 +69,37 @@ class SpoWebSetCommand extends SpoCommand_1.default {
|
|
|
69
69
|
const searchScope = args.options.searchScope.toLowerCase();
|
|
70
70
|
payload.SearchScope = SpoWebSetCommand.searchScopeOptions.indexOf(searchScope);
|
|
71
71
|
}
|
|
72
|
-
const requestOptions = {
|
|
73
|
-
url: `${args.options.url}/_api/web`,
|
|
74
|
-
headers: {
|
|
75
|
-
'content-type': 'application/json;odata=nometadata',
|
|
76
|
-
accept: 'application/json;odata=nometadata'
|
|
77
|
-
},
|
|
78
|
-
responseType: 'json',
|
|
79
|
-
data: payload
|
|
80
|
-
};
|
|
81
|
-
if (this.verbose) {
|
|
82
|
-
logger.logToStderr(`Updating properties of subsite ${args.options.url}...`);
|
|
83
|
-
}
|
|
84
72
|
try {
|
|
73
|
+
const requestOptions = {
|
|
74
|
+
url: `${args.options.url}/_api/web`,
|
|
75
|
+
headers: {
|
|
76
|
+
'content-type': 'application/json;odata=nometadata',
|
|
77
|
+
accept: 'application/json;odata=nometadata'
|
|
78
|
+
},
|
|
79
|
+
responseType: 'json',
|
|
80
|
+
data: payload
|
|
81
|
+
};
|
|
82
|
+
if (this.verbose) {
|
|
83
|
+
logger.logToStderr(`Updating properties of subsite ${args.options.url}...`);
|
|
84
|
+
}
|
|
85
85
|
yield request_1.default.patch(requestOptions);
|
|
86
|
+
if (typeof args.options.welcomePage !== 'undefined') {
|
|
87
|
+
if (this.verbose) {
|
|
88
|
+
logger.logToStderr(`Setting welcome page to: ${args.options.welcomePage}...`);
|
|
89
|
+
}
|
|
90
|
+
const requestOptions = {
|
|
91
|
+
url: `${args.options.url}/_api/web/RootFolder`,
|
|
92
|
+
headers: {
|
|
93
|
+
'content-type': 'application/json;odata=nometadata',
|
|
94
|
+
accept: 'application/json;odata=nometadata'
|
|
95
|
+
},
|
|
96
|
+
responseType: 'json',
|
|
97
|
+
data: {
|
|
98
|
+
WelcomePage: args.options.welcomePage
|
|
99
|
+
}
|
|
100
|
+
};
|
|
101
|
+
yield request_1.default.patch(requestOptions);
|
|
102
|
+
}
|
|
86
103
|
}
|
|
87
104
|
catch (err) {
|
|
88
105
|
this.handleRejectedODataJsonPromise(err);
|
|
@@ -105,7 +122,8 @@ _SpoWebSetCommand_instances = new WeakSet(), _SpoWebSetCommand_initTelemetry = f
|
|
|
105
122
|
quickLaunchEnabled: typeof args.options.quickLaunchEnabled !== 'undefined',
|
|
106
123
|
footerEnabled: typeof args.options.footerEnabled !== 'undefined',
|
|
107
124
|
navAudienceTargetingEnabled: typeof args.options.navAudienceTargetingEnabled !== 'undefined',
|
|
108
|
-
searchScope: args.options.searchScope !== 'undefined'
|
|
125
|
+
searchScope: typeof args.options.searchScope !== 'undefined',
|
|
126
|
+
welcomePage: typeof args.options.welcomePage !== 'undefined'
|
|
109
127
|
});
|
|
110
128
|
this.trackUnknownOptions(this.telemetryProperties, args.options);
|
|
111
129
|
});
|
|
@@ -139,6 +157,8 @@ _SpoWebSetCommand_instances = new WeakSet(), _SpoWebSetCommand_initTelemetry = f
|
|
|
139
157
|
}, {
|
|
140
158
|
option: '--searchScope [searchScope]',
|
|
141
159
|
autocomplete: SpoWebSetCommand.searchScopeOptions
|
|
160
|
+
}, {
|
|
161
|
+
option: '--welcomePage [welcomePage]'
|
|
142
162
|
});
|
|
143
163
|
}, _SpoWebSetCommand_initTypes = function _SpoWebSetCommand_initTypes() {
|
|
144
164
|
this.types.boolean.push('megaMenuEnabled', 'footerEnabled', 'quickLaunchEnabled', 'navAudienceTargetingEnabled');
|
|
@@ -14,6 +14,7 @@ exports.default = {
|
|
|
14
14
|
APP_UNINSTALL: `${prefix} app uninstall`,
|
|
15
15
|
APP_UPGRADE: `${prefix} app upgrade`,
|
|
16
16
|
APPLICATIONCUSTOMIZER_ADD: `${prefix} applicationcustomizer add`,
|
|
17
|
+
APPLICATIONCUSTOMIZER_LIST: `${prefix} applicationcustomizer list`,
|
|
17
18
|
APPPAGE_ADD: `${prefix} apppage add`,
|
|
18
19
|
APPPAGE_SET: `${prefix} apppage set`,
|
|
19
20
|
CDN_GET: `${prefix} cdn get`,
|
|
@@ -26,6 +26,9 @@ class TeamsTeamListCommand extends GraphCommand_1.default {
|
|
|
26
26
|
get description() {
|
|
27
27
|
return 'Lists Microsoft Teams in the current tenant';
|
|
28
28
|
}
|
|
29
|
+
defaultProperties() {
|
|
30
|
+
return ['id', 'displayName', 'isArchived', 'description'];
|
|
31
|
+
}
|
|
29
32
|
constructor() {
|
|
30
33
|
super();
|
|
31
34
|
_TeamsTeamListCommand_instances.add(this);
|
|
@@ -67,12 +70,7 @@ class TeamsTeamListCommand extends GraphCommand_1.default {
|
|
|
67
70
|
request_1.default
|
|
68
71
|
.get(requestOptions)
|
|
69
72
|
.then((res) => {
|
|
70
|
-
resolve(
|
|
71
|
-
id: group.id,
|
|
72
|
-
displayName: group.displayName,
|
|
73
|
-
isArchived: res.isArchived,
|
|
74
|
-
description: group.description
|
|
75
|
-
});
|
|
73
|
+
resolve(res);
|
|
76
74
|
}, (err) => {
|
|
77
75
|
// If the user is not member of the team he/she cannot access it
|
|
78
76
|
if (err.statusCode === 403) {
|
|
@@ -108,6 +108,15 @@ class TodoTaskSetCommand extends GraphCommand_1.default {
|
|
|
108
108
|
if (options.reminderDateTime) {
|
|
109
109
|
requestBody.reminderDateTime = this.getDateTimeTimeZone(options.reminderDateTime);
|
|
110
110
|
}
|
|
111
|
+
if (options.categories) {
|
|
112
|
+
requestBody.categories = options.categories.split(',');
|
|
113
|
+
}
|
|
114
|
+
if (options.completedDateTime) {
|
|
115
|
+
requestBody.completedDateTime = this.getDateTimeTimeZone(options.completedDateTime);
|
|
116
|
+
}
|
|
117
|
+
if (options.startDateTime) {
|
|
118
|
+
requestBody.startDateTime = this.getDateTimeTimeZone(options.startDateTime);
|
|
119
|
+
}
|
|
111
120
|
return requestBody;
|
|
112
121
|
}
|
|
113
122
|
}
|
|
@@ -122,7 +131,10 @@ _TodoTaskSetCommand_instances = new WeakSet(), _TodoTaskSetCommand_initTelemetry
|
|
|
122
131
|
bodyContentType: args.options.bodyContentType,
|
|
123
132
|
dueDateTime: typeof args.options.dueDateTime !== 'undefined',
|
|
124
133
|
importance: args.options.importance,
|
|
125
|
-
reminderDateTime: typeof args.options.reminderDateTime !== 'undefined'
|
|
134
|
+
reminderDateTime: typeof args.options.reminderDateTime !== 'undefined',
|
|
135
|
+
categories: typeof args.options.categories !== 'undefined',
|
|
136
|
+
completedDateTime: typeof args.options.completedDateTime !== 'undefined',
|
|
137
|
+
startDateTime: typeof args.options.startDateTime !== 'undefined'
|
|
126
138
|
});
|
|
127
139
|
});
|
|
128
140
|
}, _TodoTaskSetCommand_initOptions = function _TodoTaskSetCommand_initOptions() {
|
|
@@ -149,6 +161,12 @@ _TodoTaskSetCommand_instances = new WeakSet(), _TodoTaskSetCommand_initTelemetry
|
|
|
149
161
|
autocomplete: ['low', 'normal', 'high']
|
|
150
162
|
}, {
|
|
151
163
|
option: '--reminderDateTime [reminderDateTime]'
|
|
164
|
+
}, {
|
|
165
|
+
option: '--categories [categories]'
|
|
166
|
+
}, {
|
|
167
|
+
option: '--completedDateTime [completedDateTime]'
|
|
168
|
+
}, {
|
|
169
|
+
option: '--startDateTime [startDateTime]'
|
|
152
170
|
});
|
|
153
171
|
}, _TodoTaskSetCommand_initValidators = function _TodoTaskSetCommand_initValidators() {
|
|
154
172
|
this.validators.push((args) => __awaiter(this, void 0, void 0, function* () {
|
|
@@ -172,6 +190,12 @@ _TodoTaskSetCommand_instances = new WeakSet(), _TodoTaskSetCommand_initTelemetry
|
|
|
172
190
|
if (args.options.reminderDateTime && !validation_1.validation.isValidISODateTime(args.options.reminderDateTime)) {
|
|
173
191
|
return `'${args.options.reminderDateTime}' is not a valid ISO date string`;
|
|
174
192
|
}
|
|
193
|
+
if (args.options.completedDateTime && !validation_1.validation.isValidISODateTime(args.options.completedDateTime)) {
|
|
194
|
+
return `'${args.options.completedDateTime}' is not a valid datetime.`;
|
|
195
|
+
}
|
|
196
|
+
if (args.options.startDateTime && !validation_1.validation.isValidISODateTime(args.options.startDateTime)) {
|
|
197
|
+
return `'${args.options.startDateTime}' is not a valid datetime.`;
|
|
198
|
+
}
|
|
175
199
|
return true;
|
|
176
200
|
}));
|
|
177
201
|
}, _TodoTaskSetCommand_initOptionSets = function _TodoTaskSetCommand_initOptionSets() {
|
package/dist/settingsNames.js
CHANGED
|
@@ -15,7 +15,8 @@ const settingsNames = {
|
|
|
15
15
|
output: 'output',
|
|
16
16
|
printErrorsAsPlainText: 'printErrorsAsPlainText',
|
|
17
17
|
prompt: 'prompt',
|
|
18
|
-
showHelpOnFailure: 'showHelpOnFailure'
|
|
18
|
+
showHelpOnFailure: 'showHelpOnFailure',
|
|
19
|
+
showSpinner: 'showSpinner'
|
|
19
20
|
};
|
|
20
21
|
exports.settingsNames = settingsNames;
|
|
21
22
|
//# sourceMappingURL=settingsNames.js.map
|
package/dist/utils/md.js
CHANGED
|
@@ -1,17 +1,18 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.md = void 0;
|
|
4
|
+
const chalk = require("chalk");
|
|
4
5
|
const fs = require("fs");
|
|
5
6
|
const os_1 = require("os");
|
|
6
7
|
const path = require("path");
|
|
7
8
|
function convertTitle(md) {
|
|
8
9
|
return md.replace(/^#\s+(.*)/gm, (match, title) => {
|
|
9
|
-
return title.toLocaleUpperCase() + os_1.EOL + Array(title.length + 1).join('=');
|
|
10
|
+
return chalk.bold(title.toLocaleUpperCase()) + os_1.EOL + Array(title.length + 1).join('=');
|
|
10
11
|
});
|
|
11
12
|
}
|
|
12
13
|
function convertHeadings(md) {
|
|
13
14
|
return md.replace(/^(#+)\s+(.*)/gm, (match, level, content) => {
|
|
14
|
-
return `${os_1.EOL}${content.toLocaleUpperCase()}`;
|
|
15
|
+
return `${os_1.EOL}${chalk.bold(content.toLocaleUpperCase())}`;
|
|
15
16
|
});
|
|
16
17
|
}
|
|
17
18
|
function convertAdmonitions(md) {
|
|
@@ -31,7 +32,7 @@ function convertDd(md) {
|
|
|
31
32
|
});
|
|
32
33
|
}
|
|
33
34
|
function convertHyperlinks(md) {
|
|
34
|
-
return md.replace(
|
|
35
|
+
return md.replace(/(?!\[1m)(?!\[22m)\[([^\]]+)\]\(([^\)]+)\)/gm, (match, label, url) => {
|
|
35
36
|
// if the link is the same as the content, return just the link
|
|
36
37
|
if (label === url) {
|
|
37
38
|
return url;
|
|
@@ -18,3 +18,4 @@ Setting name|Definition|Default value
|
|
|
18
18
|
`printErrorsAsPlainText`|When output mode is set to `json`, print error messages as plain-text rather than JSON|`true`
|
|
19
19
|
`prompt`|Prompts for missing values in required options|`false`
|
|
20
20
|
`showHelpOnFailure`|Automatically display help when executing a command failed|`true`
|
|
21
|
+
`showSpinner`|Display spinner when executing commands|`true`
|
|
@@ -48,7 +48,7 @@ m365 aad o365group add [options]
|
|
|
48
48
|
## Remarks
|
|
49
49
|
|
|
50
50
|
When specifying the path to the logo image you can use both relative and absolute paths. Note, that ~ in the path, will not be resolved and will most likely result in an error.
|
|
51
|
-
If an invalid user is provided in the comma-separated list
|
|
51
|
+
If an invalid user is provided in the comma-separated list of Owners or Members, the command operation will fail and the Microsoft 365 Group will not be created.
|
|
52
52
|
|
|
53
53
|
## Examples
|
|
54
54
|
|
|
@@ -76,13 +76,13 @@ Create a public Microsoft 365 Group and set specified users as its members
|
|
|
76
76
|
m365 aad o365group add --displayName Finance --description "This is the Contoso Finance Group. Please come here and check out the latest news, posts, files, and more." --mailNickname finance --members "DebraB@contoso.onmicrosoft.com,DiegoS@contoso.onmicrosoft.com"
|
|
77
77
|
```
|
|
78
78
|
|
|
79
|
-
Create a public Microsoft 365 Group and
|
|
79
|
+
Create a public Microsoft 365 Group and allow only group members to be able to post conversations to the group.
|
|
80
80
|
|
|
81
81
|
```sh
|
|
82
82
|
m365 aad o365group add --displayName Finance --description "This is the Contoso Finance Group. Please come here and check out the latest news, posts, files, and more." --mailNickname finance --allowMembersToPost
|
|
83
83
|
```
|
|
84
84
|
|
|
85
|
-
Create a public Microsoft 365 Group and
|
|
85
|
+
Create a public Microsoft 365 Group and hide it from the Outlook experiences (web and client).
|
|
86
86
|
|
|
87
87
|
```sh
|
|
88
88
|
m365 aad o365group add --displayName Finance --description "This is the Contoso Finance Group. Please come here and check out the latest news, posts, files, and more." --mailNickname finance --hideGroupInOutlook
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
# pa app export
|
|
2
|
+
|
|
3
|
+
Exports the specified Power App
|
|
4
|
+
|
|
5
|
+
## Usage
|
|
6
|
+
|
|
7
|
+
```sh
|
|
8
|
+
m365 pa app export [options]
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
## Options
|
|
12
|
+
|
|
13
|
+
`-i, --id <id>`
|
|
14
|
+
: The id of the Power App to export
|
|
15
|
+
|
|
16
|
+
`-e, --environment <environment>`
|
|
17
|
+
: The name of the environment for which to export the app
|
|
18
|
+
|
|
19
|
+
`-n, --packageDisplayName [packageDisplayName]`
|
|
20
|
+
: The display name to use in the exported package
|
|
21
|
+
|
|
22
|
+
`-d, --packageDescription [packageDescription]`
|
|
23
|
+
: The description to use in the exported package
|
|
24
|
+
|
|
25
|
+
`-c, --packageCreatedBy [packageCreatedBy]`
|
|
26
|
+
: The name of the person to be used as the creator of the exported package
|
|
27
|
+
|
|
28
|
+
`-s, --packageSourceEnvironment [packageSourceEnvironment]`
|
|
29
|
+
: The name of the source environment from which the exported package was taken
|
|
30
|
+
|
|
31
|
+
`-p, --path [path]`
|
|
32
|
+
: The path to save the exported package to. If not specified the app will be exported in the current working directory
|
|
33
|
+
|
|
34
|
+
--8<-- "docs/cmd/_global.md"
|
|
35
|
+
|
|
36
|
+
## Examples
|
|
37
|
+
|
|
38
|
+
Export the specified Power App as a ZIP file
|
|
39
|
+
|
|
40
|
+
```sh
|
|
41
|
+
m365 pa app export --environment Default-d87a7535-dd31-4437-bfe1-95340acd55c5 --id 3989cb59-ce1a-4a5c-bb78-257c5c39381d
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
Export the specified Power App as a ZIP file with the package displayname, package description, the one who created it, the package source environment and the path
|
|
45
|
+
|
|
46
|
+
```sh
|
|
47
|
+
m365 pa app export --environment Default-d87a7535-dd31-4437-bfe1-95340acd55c5 --id 3989cb59-ce1a-4a5c-bb78-257c5c39381d --packageDisplayName "PowerApp" --packageDescription "Power App Description" --packageCreatedBy "John Doe" --packageSourceEnvironment "Contoso" --path "C:/Users/John/Documents"
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
## Response
|
|
51
|
+
|
|
52
|
+
The command won't return a response on success.
|
|
@@ -0,0 +1,191 @@
|
|
|
1
|
+
# purview threatassessment get
|
|
2
|
+
|
|
3
|
+
Get a threat assessment
|
|
4
|
+
|
|
5
|
+
## Usage
|
|
6
|
+
|
|
7
|
+
```sh
|
|
8
|
+
m365 purview threatassessment get [options]
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
## Options
|
|
12
|
+
|
|
13
|
+
`-i, --id <id>`
|
|
14
|
+
: The Id of the threat assessment
|
|
15
|
+
|
|
16
|
+
`--includeResults`
|
|
17
|
+
: Include the threat assessment results
|
|
18
|
+
|
|
19
|
+
--8<-- "docs/cmd/_global.md"
|
|
20
|
+
|
|
21
|
+
## Examples
|
|
22
|
+
|
|
23
|
+
Get a threat assessment
|
|
24
|
+
|
|
25
|
+
```sh
|
|
26
|
+
m365 purview threatassessment get --id c37d695e-d581-4ae9-82a0-9364eba4291e
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
Get a threat assessment including results
|
|
30
|
+
|
|
31
|
+
```sh
|
|
32
|
+
m365 purview threatassessment get --id c37d695e-d581-4ae9-82a0-9364eba4291e --includeResults
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
## Response
|
|
36
|
+
|
|
37
|
+
### Standard Response
|
|
38
|
+
|
|
39
|
+
=== "JSON"
|
|
40
|
+
|
|
41
|
+
```json
|
|
42
|
+
{
|
|
43
|
+
"id": "8aaba0ac-ec4d-4e62-5774-08db16c68731",
|
|
44
|
+
"createdDateTime": "2023-02-25T00:23:33.0550644Z",
|
|
45
|
+
"contentType": "mail",
|
|
46
|
+
"expectedAssessment": "block",
|
|
47
|
+
"category": "spam",
|
|
48
|
+
"status": "pending",
|
|
49
|
+
"requestSource": "administrator",
|
|
50
|
+
"recipientEmail": "john@contoso.com",
|
|
51
|
+
"destinationRoutingReason": "notJunk",
|
|
52
|
+
"messageUri": "https://graph.microsoft.com/v1.0/users/john@contoso.com/messages/AAMkADgzN2Q1NThiLTI0NjYtNGIxYS05MDdjLTg1OWQxNzgwZGM2ZgBGAAAAAAC6jQfUzacTSIHqMw2yacnUBwBiOC8xvYmdT6G2E_hLMK5kAAAAAAEMAABiOC8xvYmdT6G2E_hLMK5kAALHNaMuAAA=",
|
|
53
|
+
"createdBy": {
|
|
54
|
+
"user": {
|
|
55
|
+
"id": "fe36f75e-c103-410b-a18a-2bf6df06ac3a",
|
|
56
|
+
"displayName": "John Doe"
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
=== "Text"
|
|
63
|
+
|
|
64
|
+
```text
|
|
65
|
+
category : spam
|
|
66
|
+
contentType : mail
|
|
67
|
+
createdBy : {"user":{"id":"fe36f75e-c103-410b-a18a-2bf6df06ac3a","displayName":"John Doe"}}
|
|
68
|
+
createdDateTime : 2023-02-25T00:23:33.0550644Z
|
|
69
|
+
destinationRoutingReason: notJunk
|
|
70
|
+
expectedAssessment : block
|
|
71
|
+
id : 8aaba0ac-ec4d-4e62-5774-08db16c68731
|
|
72
|
+
messageUri : https://graph.microsoft.com/v1.0/users/john@contoso.com/messages/AAMkADgzN2Q1NThiLTI0NjYtNGIxYS05MDdjLTg1OWQxNzgwZGM2ZgBGAAAAAAC6jQfUzacTSIHqMw2yacnUBwBiOC8xvYmdT6G2E_hLMK5kAAAAAAEMAABiOC8xvYmdT6G2E_hLMK5kAALHNaMuAAA=
|
|
73
|
+
recipientEmail : john@contoso.com
|
|
74
|
+
requestSource : administrator
|
|
75
|
+
status : pending
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
=== "CSV"
|
|
79
|
+
|
|
80
|
+
```csv
|
|
81
|
+
id,createdDateTime,contentType,expectedAssessment,category,status,requestSource,recipientEmail,destinationRoutingReason,messageUri,createdBy
|
|
82
|
+
8aaba0ac-ec4d-4e62-5774-08db16c68731,2023-02-25T00:23:33.0550644Z,mail,block,spam,pending,administrator,john@contoso.com,notJunk,https://graph.microsoft.com/v1.0/users/john@contoso.com/messages/AAMkADgzN2Q1NThiLTI0NjYtNGIxYS05MDdjLTg1OWQxNzgwZGM2ZgBGAAAAAAC6jQfUzacTSIHqMw2yacnUBwBiOC8xvYmdT6G2E_hLMK5kAAAAAAEMAABiOC8xvYmdT6G2E_hLMK5kAALHNaMuAAA=,"{""user"":{""id"":""fe36f75e-c103-410b-a18a-2bf6df06ac3a"",""displayName"":""John Doe""}}"
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
=== "Markdown"
|
|
86
|
+
|
|
87
|
+
```md
|
|
88
|
+
# purview threatassessment get --id "8aaba0ac-ec4d-4e62-5774-08db16c68731"
|
|
89
|
+
|
|
90
|
+
Date: 25/02/2023
|
|
91
|
+
|
|
92
|
+
## 8aaba0ac-ec4d-4e62-5774-08db16c68731
|
|
93
|
+
|
|
94
|
+
Property | Value
|
|
95
|
+
---------|-------
|
|
96
|
+
id | 8aaba0ac-ec4d-4e62-5774-08db16c68731
|
|
97
|
+
createdDateTime | 2023-02-25T00:23:33.0550644Z
|
|
98
|
+
contentType | mail
|
|
99
|
+
expectedAssessment | block
|
|
100
|
+
category | spam
|
|
101
|
+
status | pending
|
|
102
|
+
requestSource | administrator
|
|
103
|
+
recipientEmail | john@contoso.com
|
|
104
|
+
destinationRoutingReason | notJunk
|
|
105
|
+
messageUri | https://graph.microsoft.com/v1.0/users/john@contoso.com/messages/AAMkADgzN2Q1NThiLTI0NjYtNGIxYS05MDdjLTg1OWQxNzgwZGM2ZgBGAAAAAAC6jQfUzacTSIHqMw2yacnUBwBiOC8xvYmdT6G2E\_hLMK5kAAAAAAEMAABiOC8xvYmdT6G2E\_hLMK5kAALHNaMuAAA=
|
|
106
|
+
createdBy | {"user":{"id":"fe36f75e-c103-410b-a18a-2bf6df06ac3a","displayName":"John Doe"}}
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
### `includeResults` response
|
|
110
|
+
|
|
111
|
+
When we make use of the option `includeResults` the response will differ.
|
|
112
|
+
|
|
113
|
+
=== "JSON"
|
|
114
|
+
|
|
115
|
+
```json
|
|
116
|
+
{
|
|
117
|
+
"id": "8aaba0ac-ec4d-4e62-5774-08db16c68731",
|
|
118
|
+
"createdDateTime": "2023-02-25T00:23:33.0550644Z",
|
|
119
|
+
"contentType": "mail",
|
|
120
|
+
"expectedAssessment": "block",
|
|
121
|
+
"category": "spam",
|
|
122
|
+
"status": "pending",
|
|
123
|
+
"requestSource": "administrator",
|
|
124
|
+
"recipientEmail": "john@contoso.com",
|
|
125
|
+
"destinationRoutingReason": "notJunk",
|
|
126
|
+
"messageUri": "https://graph.microsoft.com/v1.0/users/john@contoso.com/messages/AAMkADgzN2Q1NThiLTI0NjYtNGIxYS05MDdjLTg1OWQxNzgwZGM2ZgBGAAAAAAC6jQfUzacTSIHqMw2yacnUBwBiOC8xvYmdT6G2E_hLMK5kAAAAAAEMAABiOC8xvYmdT6G2E_hLMK5kAALHNaMuAAA=",
|
|
127
|
+
"createdBy": {
|
|
128
|
+
"user": {
|
|
129
|
+
"id": "fe36f75e-c103-410b-a18a-2bf6df06ac3a",
|
|
130
|
+
"displayName": "John Doe"
|
|
131
|
+
}
|
|
132
|
+
},
|
|
133
|
+
"results": [
|
|
134
|
+
{
|
|
135
|
+
"id": "a5455871-18d1-44d8-0866-08db16c68b85",
|
|
136
|
+
"createdDateTime": "2023-02-25T00:23:40.28Z",
|
|
137
|
+
"resultType": "checkPolicy",
|
|
138
|
+
"message": "No policy was hit."
|
|
139
|
+
}
|
|
140
|
+
]
|
|
141
|
+
}
|
|
142
|
+
```
|
|
143
|
+
|
|
144
|
+
=== "Text"
|
|
145
|
+
|
|
146
|
+
```text
|
|
147
|
+
category : spam
|
|
148
|
+
contentType : mail
|
|
149
|
+
createdBy : {"user":{"id":"fe36f75e-c103-410b-a18a-2bf6df06ac3a","displayName":"John Doe"}}
|
|
150
|
+
createdDateTime : 2023-02-25T00:23:33.0550644Z
|
|
151
|
+
destinationRoutingReason: notJunk
|
|
152
|
+
expectedAssessment : block
|
|
153
|
+
id : 8aaba0ac-ec4d-4e62-5774-08db16c68731
|
|
154
|
+
messageUri : https://graph.microsoft.com/v1.0/users/john@contoso.com/messages/AAMkADgzN2Q1NThiLTI0NjYtNGIxYS05MDdjLTg1OWQxNzgwZGM2ZgBGAAAAAAC6jQfUzacTSIHqMw2yacnUBwBiOC8xvYmdT6G2E_hLMK5kAAAAAAEMAABiOC8xvYmdT6G2E_hLMK5kAALHNaMuAAA=
|
|
155
|
+
recipientEmail : john@contoso.com
|
|
156
|
+
requestSource : administrator
|
|
157
|
+
results : [{"id":"a5455871-18d1-44d8-0866-08db16c68b85","createdDateTime":"2023-02-25T00:23:40.28Z","resultType":"checkPolicy","message":"No policy was hit."}]
|
|
158
|
+
status : pending
|
|
159
|
+
```
|
|
160
|
+
|
|
161
|
+
=== "CSV"
|
|
162
|
+
|
|
163
|
+
```csv
|
|
164
|
+
id,createdDateTime,contentType,expectedAssessment,category,status,requestSource,recipientEmail,destinationRoutingReason,messageUri,createdBy,results
|
|
165
|
+
8aaba0ac-ec4d-4e62-5774-08db16c68731,2023-02-25T00:23:33.0550644Z,mail,block,spam,pending,administrator,john@contoso.com,notJunk,https://graph.microsoft.com/v1.0/users/john@contoso.com/messages/AAMkADgzN2Q1NThiLTI0NjYtNGIxYS05MDdjLTg1OWQxNzgwZGM2ZgBGAAAAAAC6jQfUzacTSIHqMw2yacnUBwBiOC8xvYmdT6G2E_hLMK5kAAAAAAEMAABiOC8xvYmdT6G2E_hLMK5kAALHNaMuAAA=,"{""user"":{""id"":""fe36f75e-c103-410b-a18a-2bf6df06ac3a"",""displayName"":""John Doe""}}","[{""id"":""a5455871-18d1-44d8-0866-08db16c68b85"",""createdDateTime"":""2023-02-25T00:23:40.28Z"",""resultType"":""checkPolicy"",""message"":""No policy was hit.""}]"
|
|
166
|
+
```
|
|
167
|
+
|
|
168
|
+
=== "Markdown"
|
|
169
|
+
|
|
170
|
+
```md
|
|
171
|
+
# purview threatassessment get --id "8aaba0ac-ec4d-4e62-5774-08db16c68731" --includeResults "true"
|
|
172
|
+
|
|
173
|
+
Date: 25/02/2023
|
|
174
|
+
|
|
175
|
+
## 8aaba0ac-ec4d-4e62-5774-08db16c68731
|
|
176
|
+
|
|
177
|
+
Property | Value
|
|
178
|
+
---------|-------
|
|
179
|
+
id | 8aaba0ac-ec4d-4e62-5774-08db16c68731
|
|
180
|
+
createdDateTime | 2023-02-25T00:23:33.0550644Z
|
|
181
|
+
contentType | mail
|
|
182
|
+
expectedAssessment | block
|
|
183
|
+
category | spam
|
|
184
|
+
status | pending
|
|
185
|
+
requestSource | administrator
|
|
186
|
+
recipientEmail | john@contoso.com
|
|
187
|
+
destinationRoutingReason | notJunk
|
|
188
|
+
messageUri | https://graph.microsoft.com/v1.0/users/john@contoso.com/messages/AAMkADgzN2Q1NThiLTI0NjYtNGIxYS05MDdjLTg1OWQxNzgwZGM2ZgBGAAAAAAC6jQfUzacTSIHqMw2yacnUBwBiOC8xvYmdT6G2E\_hLMK5kAAAAAAEMAABiOC8xvYmdT6G2E\_hLMK5kAALHNaMuAAA=
|
|
189
|
+
createdBy | {"user":{"id":"fe36f75e-c103-410b-a18a-2bf6df06ac3a","displayName":"John Doe"}}
|
|
190
|
+
results | [{"id":"a5455871-18d1-44d8-0866-08db16c68b85","createdDateTime":"2023-02-25T00:23:40.28Z","resultType":"checkPolicy","message":"No policy was hit."}]
|
|
191
|
+
```
|
package/docs/docs/cmd/request.md
CHANGED
|
@@ -40,6 +40,12 @@ If you specify the `resource` option, the CLI will try to retrieve a valid token
|
|
|
40
40
|
|
|
41
41
|
Specify additional headers by typing them as options, for example: `--content-type "application/json"`, `--if-match "*"`, `--x-requestdigest "somedigest"`.
|
|
42
42
|
|
|
43
|
+
You can simplify the request by using tokens for the `url` option. Following tokens are available:
|
|
44
|
+
|
|
45
|
+
- `@graph` resolves to `https://graph.microsoft.com/v1.0`
|
|
46
|
+
- `@graphbeta` resolves to `https://graph.microsoft.com/beta`
|
|
47
|
+
- `@spo` resolves to the current SharePoint URL if available. You can set a SharePoint URL using the [spo set](./spo/spo-set.md) command.
|
|
48
|
+
|
|
43
49
|
!!! important
|
|
44
50
|
When building the request, depending on the shell you use, you might need to escape all `$` characters in the URL, request headers, and the body. If you don't do it, the shell will treat it as a variable and will remove the following word from the request, breaking the request.
|
|
45
51
|
|
|
@@ -63,16 +69,16 @@ Call the SharePoint API to retrieve a form digest.
|
|
|
63
69
|
m365 request --method post --url "https://contoso.sharepoint.com/sites/project-x/_api/contextinfo"
|
|
64
70
|
```
|
|
65
71
|
|
|
66
|
-
Call the SharePoint API to update a site title.
|
|
72
|
+
Call the SharePoint API to update a site title using the @spo token.
|
|
67
73
|
|
|
68
74
|
```sh
|
|
69
|
-
m365 request --method post --url "
|
|
75
|
+
m365 request --method post --url "@spo/sites/project-x/_api/web" --body '{ "Title": "New title" }' --content-type "application/json" --x-http-method "PATCH"
|
|
70
76
|
```
|
|
71
77
|
|
|
72
|
-
Call the Microsoft Graph to get a profile photo.
|
|
78
|
+
Call the Microsoft Graph to get a profile photo using the @graphbeta token.
|
|
73
79
|
|
|
74
80
|
```sh
|
|
75
|
-
m365 request --url
|
|
81
|
+
m365 request --url '@graphbeta/me/photo/$value' --filePath ./profile-pic.jpg
|
|
76
82
|
```
|
|
77
83
|
|
|
78
84
|
## Response
|
|
@@ -29,13 +29,13 @@ m365 spfx project upgrade [options]
|
|
|
29
29
|
|
|
30
30
|
## Remarks
|
|
31
31
|
|
|
32
|
-
The `spfx project upgrade` command helps you upgrade your SharePoint Framework project to the specified version. If no version is specified, the command will upgrade to the latest version of the SharePoint Framework it supports (v1.
|
|
32
|
+
The `spfx project upgrade` command helps you upgrade your SharePoint Framework project to the specified version. If no version is specified, the command will upgrade to the latest version of the SharePoint Framework it supports (v1.17.0).
|
|
33
33
|
|
|
34
34
|
This command doesn't change your project files. Instead, it gives you a report with all steps necessary to upgrade your project to the specified version of the SharePoint Framework. Changing project files is error-prone, especially when it comes to updating your solution's code. This is why at this moment, this command produces a report that you can use yourself to perform the necessary updates and verify that everything is working as expected.
|
|
35
35
|
|
|
36
36
|
!!! important
|
|
37
37
|
Run this command in the folder where the project that you want to upgrade is located. This command doesn't change your project files.
|
|
38
|
-
|
|
38
|
+
|
|
39
39
|
## Examples
|
|
40
40
|
|
|
41
41
|
Get instructions to upgrade the current SharePoint Framework project to SharePoint Framework version 1.5.0 and save the findings in a Markdown file
|
|
@@ -22,6 +22,9 @@ m365 spo applicationcustomizer add [options]
|
|
|
22
22
|
`--clientSideComponentProperties [clientSideComponentProperties]`
|
|
23
23
|
: JSON string with application customizer properties
|
|
24
24
|
|
|
25
|
+
`-s, --scope [scope]`
|
|
26
|
+
: Scope of the application customizer. Allowed values: `Site`, `Web`. Defaults to `Site`.
|
|
27
|
+
|
|
25
28
|
--8<-- "docs/cmd/_global.md"
|
|
26
29
|
|
|
27
30
|
## Remarks
|
|
@@ -48,7 +51,7 @@ m365 spo applicationcustomizer add --title 'Some customizer' --clientSideCompone
|
|
|
48
51
|
Adds an application customizer to the sales site with some properties.
|
|
49
52
|
|
|
50
53
|
```sh
|
|
51
|
-
m365 spo applicationcustomizer add --title 'Some customizer' --clientSideComponentId 799883f5-7962-4384-a10a-105adaec6ffc --clientSideComponentProperties '{ "someProperty": "Some value" }' --webUrl https://contoso.sharepoint.com/sites/sales
|
|
54
|
+
m365 spo applicationcustomizer add --title 'Some customizer' --clientSideComponentId 799883f5-7962-4384-a10a-105adaec6ffc --clientSideComponentProperties '{ "someProperty": "Some value" }' --webUrl https://contoso.sharepoint.com/sites/sales --scope 'Site'
|
|
52
55
|
```
|
|
53
56
|
|
|
54
57
|
## Response
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
# spo applicationcustomizer list
|
|
2
|
+
|
|
3
|
+
Get a list of application customizers that are added to a site.
|
|
4
|
+
|
|
5
|
+
## Usage
|
|
6
|
+
|
|
7
|
+
```sh
|
|
8
|
+
m365 spo applicationcustomizer list [options]
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
## Options
|
|
12
|
+
|
|
13
|
+
`-u, --webUrl <webUrl>`
|
|
14
|
+
: The url of the site.
|
|
15
|
+
|
|
16
|
+
`-s, --scope [scope]`
|
|
17
|
+
: Scope of the application customizers. Allowed values `Site`, `Web`, `All`. Defaults to `All`
|
|
18
|
+
|
|
19
|
+
--8<-- "docs/cmd/_global.md"
|
|
20
|
+
|
|
21
|
+
## Examples
|
|
22
|
+
|
|
23
|
+
Retrieves a list of application customizers.
|
|
24
|
+
|
|
25
|
+
```sh
|
|
26
|
+
m365 spo applicationcustomizer list --webUrl https://contoso.sharepoint.com/sites/sales
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
## Response
|
|
30
|
+
|
|
31
|
+
=== "JSON"
|
|
32
|
+
|
|
33
|
+
```json
|
|
34
|
+
[
|
|
35
|
+
{
|
|
36
|
+
"ClientSideComponentId": "4358e70e-ec3c-4713-beb6-39c88f7621d1",
|
|
37
|
+
"ClientSideComponentProperties": "{\"listTitle\":\"News\",\"listViewTitle\":\"Published News\"}",
|
|
38
|
+
"CommandUIExtension": null,
|
|
39
|
+
"Description": null,
|
|
40
|
+
"Group": null,
|
|
41
|
+
"HostProperties": "",
|
|
42
|
+
"Id": "f405303c-6048-4636-9660-1b7b2cadaef9",
|
|
43
|
+
"ImageUrl": null,
|
|
44
|
+
"Location": "ClientSideExtension.ApplicationCustomizer",
|
|
45
|
+
"Name": "{f405303c-6048-4636-9660-1b7b2cadaef9}",
|
|
46
|
+
"RegistrationId": null,
|
|
47
|
+
"RegistrationType": 0,
|
|
48
|
+
"Rights": {
|
|
49
|
+
"High": 0,
|
|
50
|
+
"Low": 0
|
|
51
|
+
},
|
|
52
|
+
"Scope": 3,
|
|
53
|
+
"ScriptBlock": null,
|
|
54
|
+
"ScriptSrc": null,
|
|
55
|
+
"Sequence": 65536,
|
|
56
|
+
"Title": "NewsTicker",
|
|
57
|
+
"Url": null,
|
|
58
|
+
"VersionOfUserCustomAction": "1.0.1.0"
|
|
59
|
+
}
|
|
60
|
+
]
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
=== "Text"
|
|
64
|
+
|
|
65
|
+
```text
|
|
66
|
+
Name Location Scope Id
|
|
67
|
+
-------------------------------------- ----------------------------------------- ----- ------------------------------------
|
|
68
|
+
{f405303c-6048-4636-9660-1b7b2cadaef9} ClientSideExtension.ApplicationCustomizer 3 f405303c-6048-4636-9660-1b7b2cadaef9
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
=== "CSV"
|
|
72
|
+
|
|
73
|
+
```csv
|
|
74
|
+
Name,Location,Scope,Id
|
|
75
|
+
{f405303c-6048-4636-9660-1b7b2cadaef9},ClientSideExtension.ApplicationCustomizer,3,f405303c-6048-4636-9660-1b7b2cadaef9
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
=== "Markdown"
|
|
79
|
+
|
|
80
|
+
```md
|
|
81
|
+
# spo applicationcustomizer list --webUrl "https://contoso.sharepoint.com"
|
|
82
|
+
|
|
83
|
+
Date: 28/2/2023
|
|
84
|
+
|
|
85
|
+
## NewsTicker (f405303c-6048-4636-9660-1b7b2cadaef9)
|
|
86
|
+
|
|
87
|
+
Property | Value
|
|
88
|
+
---------|-------
|
|
89
|
+
ClientSideComponentId | 4358e70e-ec3c-4713-beb6-39c88f7621d1
|
|
90
|
+
ClientSideComponentProperties | {"listTitle":"News","listViewTitle":"Published News"}
|
|
91
|
+
CommandUIExtension | null
|
|
92
|
+
Description | null
|
|
93
|
+
Group | null
|
|
94
|
+
HostProperties |
|
|
95
|
+
Id | f405303c-6048-4636-9660-1b7b2cadaef9
|
|
96
|
+
ImageUrl | null
|
|
97
|
+
Location | ClientSideExtension.ApplicationCustomizer
|
|
98
|
+
Name | {f405303c-6048-4636-9660-1b7b2cadaef9}
|
|
99
|
+
RegistrationId | null
|
|
100
|
+
RegistrationType | 0
|
|
101
|
+
Rights | {"High":0,"Low":0}
|
|
102
|
+
Scope | 3
|
|
103
|
+
ScriptBlock | null
|
|
104
|
+
ScriptSrc | null
|
|
105
|
+
Sequence | 65536
|
|
106
|
+
Title | NewsTicker
|
|
107
|
+
Url | null
|
|
108
|
+
VersionOfUserCustomAction | 1.0.1.0
|
|
109
|
+
```
|