@pnp/cli-microsoft365 6.7.0-beta.f5f5666 → 6.8.0-beta.2463cfa

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.
Files changed (35) hide show
  1. package/README.md +9 -9
  2. package/dist/Command.js +56 -7
  3. package/dist/m365/flow/commands/run/run-get.js +31 -1
  4. package/dist/m365/planner/commands/roster/roster-plan-list.js +102 -0
  5. package/dist/m365/planner/commands.js +1 -0
  6. package/dist/m365/spo/commands/file/file-list.js +108 -32
  7. package/dist/m365/spo/commands/folder/folder-list.js +73 -16
  8. package/dist/m365/spo/commands/tenant/tenant-settings-set.js +4 -0
  9. package/dist/m365/teams/commands/meeting/meeting-transcript-list.js +124 -0
  10. package/dist/m365/teams/commands.js +1 -0
  11. package/docs/docs/cmd/flow/run/run-get.md +110 -9
  12. package/docs/docs/cmd/planner/roster/roster-plan-list.md +109 -0
  13. package/docs/docs/cmd/planner/task/task-add.md +3 -1
  14. package/docs/docs/cmd/planner/task/task-set.md +6 -4
  15. package/docs/docs/cmd/spo/feature/feature-enable.md +2 -2
  16. package/docs/docs/cmd/spo/file/file-list.md +87 -2
  17. package/docs/docs/cmd/spo/folder/folder-list.md +36 -1
  18. package/docs/docs/cmd/spo/spo-get.md +12 -0
  19. package/docs/docs/cmd/spo/spo-search.md +16 -3
  20. package/docs/docs/cmd/spo/tenant/tenant-settings-set.md +57 -54
  21. package/docs/docs/cmd/spo/user/user-ensure.md +1 -2
  22. package/docs/docs/cmd/spo/user/user-get.md +24 -0
  23. package/docs/docs/cmd/spo/user/user-list.md +27 -3
  24. package/docs/docs/cmd/spo/userprofile/userprofile-get.md +21 -0
  25. package/docs/docs/cmd/spo/web/web-add.md +24 -0
  26. package/docs/docs/cmd/spo/web/web-clientsidewebpart-list.md +16 -0
  27. package/docs/docs/cmd/spo/web/web-get.md +124 -0
  28. package/docs/docs/cmd/spo/web/web-installedlanguage-list.md +16 -0
  29. package/docs/docs/cmd/spo/web/web-list.md +16 -0
  30. package/docs/docs/cmd/spo/web/web-retentionlabel-list.md +29 -2
  31. package/docs/docs/cmd/teams/meeting/meeting-transcript-list.md +96 -0
  32. package/npm-shrinkwrap.json +2 -2
  33. package/package.json +3 -1
  34. package/dist/m365/spo/commands/file/FilePropertiesCollection.js +0 -3
  35. package/dist/m365/spo/commands/folder/FileFolderCollection.js +0 -3
@@ -0,0 +1,124 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
12
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
13
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
14
+ return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
15
+ };
16
+ var _TeamsMeetingTranscriptListCommand_instances, _TeamsMeetingTranscriptListCommand_initTelemetry, _TeamsMeetingTranscriptListCommand_initOptions, _TeamsMeetingTranscriptListCommand_initValidators, _TeamsMeetingTranscriptListCommand_initOptionSets;
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ const Auth_1 = require("../../../../Auth");
19
+ const GraphCommand_1 = require("../../../base/GraphCommand");
20
+ const commands_1 = require("../../commands");
21
+ const odata_1 = require("../../../../utils/odata");
22
+ const validation_1 = require("../../../../utils/validation");
23
+ const accessToken_1 = require("../../../../utils/accessToken");
24
+ const aadUser_1 = require("../../../../utils/aadUser");
25
+ class TeamsMeetingTranscriptListCommand extends GraphCommand_1.default {
26
+ get name() {
27
+ return commands_1.default.MEETING_TRANSCRIPT_LIST;
28
+ }
29
+ get description() {
30
+ return 'Lists all transcripts for a given meeting';
31
+ }
32
+ defaultProperties() {
33
+ return ['id', 'createdDateTime'];
34
+ }
35
+ constructor() {
36
+ super();
37
+ _TeamsMeetingTranscriptListCommand_instances.add(this);
38
+ __classPrivateFieldGet(this, _TeamsMeetingTranscriptListCommand_instances, "m", _TeamsMeetingTranscriptListCommand_initTelemetry).call(this);
39
+ __classPrivateFieldGet(this, _TeamsMeetingTranscriptListCommand_instances, "m", _TeamsMeetingTranscriptListCommand_initOptions).call(this);
40
+ __classPrivateFieldGet(this, _TeamsMeetingTranscriptListCommand_instances, "m", _TeamsMeetingTranscriptListCommand_initValidators).call(this);
41
+ __classPrivateFieldGet(this, _TeamsMeetingTranscriptListCommand_instances, "m", _TeamsMeetingTranscriptListCommand_initOptionSets).call(this);
42
+ }
43
+ commandAction(logger, args) {
44
+ return __awaiter(this, void 0, void 0, function* () {
45
+ try {
46
+ const isAppOnlyAccessToken = accessToken_1.accessToken.isAppOnlyAccessToken(Auth_1.default.service.accessTokens[this.resource].accessToken);
47
+ if (this.verbose) {
48
+ logger.logToStderr(`Retrieving transcript list for the given meeting...`);
49
+ }
50
+ let requestUrl = `${this.resource}/beta/`;
51
+ if (isAppOnlyAccessToken) {
52
+ if (!args.options.userId && !args.options.userName && !args.options.email) {
53
+ throw `The option 'userId', 'userName' or 'email' is required when retrieving meeting transcripts list using app only permissions`;
54
+ }
55
+ requestUrl += 'users/';
56
+ if (args.options.userId) {
57
+ requestUrl += args.options.userId;
58
+ }
59
+ else if (args.options.userName) {
60
+ requestUrl += args.options.userName;
61
+ }
62
+ else if (args.options.email) {
63
+ if (this.verbose) {
64
+ logger.logToStderr(`Getting user ID for user with email '${args.options.email}'.`);
65
+ }
66
+ const userId = yield aadUser_1.aadUser.getUserIdByEmail(args.options.email);
67
+ requestUrl += userId;
68
+ }
69
+ }
70
+ else {
71
+ if (args.options.userId || args.options.userName || args.options.email) {
72
+ throw `The options 'userId', 'userName' and 'email' cannot be used while retrieving meeting transcripts using delegated permissions`;
73
+ }
74
+ requestUrl += `me`;
75
+ }
76
+ requestUrl += `/onlineMeetings/${args.options.meetingId}/transcripts`;
77
+ const res = yield odata_1.odata.getAllItems(requestUrl);
78
+ logger.log(res);
79
+ }
80
+ catch (err) {
81
+ this.handleRejectedODataJsonPromise(err);
82
+ }
83
+ });
84
+ }
85
+ }
86
+ _TeamsMeetingTranscriptListCommand_instances = new WeakSet(), _TeamsMeetingTranscriptListCommand_initTelemetry = function _TeamsMeetingTranscriptListCommand_initTelemetry() {
87
+ this.telemetry.push((args) => {
88
+ Object.assign(this.telemetryProperties, {
89
+ userId: typeof args.options.userId !== 'undefined',
90
+ userName: typeof args.options.userName !== 'undefined',
91
+ email: typeof args.options.email !== 'undefined'
92
+ });
93
+ });
94
+ }, _TeamsMeetingTranscriptListCommand_initOptions = function _TeamsMeetingTranscriptListCommand_initOptions() {
95
+ this.options.unshift({
96
+ option: '-u, --userId [userId]'
97
+ }, {
98
+ option: '-n, --userName [userName]'
99
+ }, {
100
+ option: '--email [email]'
101
+ }, {
102
+ option: '-m, --meetingId <meetingId>'
103
+ });
104
+ }, _TeamsMeetingTranscriptListCommand_initValidators = function _TeamsMeetingTranscriptListCommand_initValidators() {
105
+ this.validators.push((args) => __awaiter(this, void 0, void 0, function* () {
106
+ if (args.options.userId && !validation_1.validation.isValidGuid(args.options.userId)) {
107
+ return `${args.options.userId} is not a valid Guid`;
108
+ }
109
+ if (args.options.userName && !validation_1.validation.isValidUserPrincipalName(args.options.userName)) {
110
+ return `${args.options.userName} is not a valid user principal name (UPN)`;
111
+ }
112
+ if (args.options.email && !validation_1.validation.isValidUserPrincipalName(args.options.email)) {
113
+ return `${args.options.email} is not a valid email`;
114
+ }
115
+ return true;
116
+ }));
117
+ }, _TeamsMeetingTranscriptListCommand_initOptionSets = function _TeamsMeetingTranscriptListCommand_initOptionSets() {
118
+ this.optionSets.push({
119
+ options: ['userId', 'userName', 'email'],
120
+ runsWhen: (args) => args.options.userId || args.options.userName || args.options.email
121
+ });
122
+ };
123
+ module.exports = new TeamsMeetingTranscriptListCommand();
124
+ //# sourceMappingURL=meeting-transcript-list.js.map
@@ -30,6 +30,7 @@ exports.default = {
30
30
  MEETING_ATTENDANCEREPORT_LIST: `${prefix} meeting attendancereport list`,
31
31
  MEETING_GET: `${prefix} meeting get`,
32
32
  MEETING_LIST: `${prefix} meeting list`,
33
+ MEETING_TRANSCRIPT_LIST: `${prefix} meeting transcript list`,
33
34
  MEMBERSETTINGS_LIST: `${prefix} membersettings list`,
34
35
  MEMBERSETTINGS_SET: `${prefix} membersettings set`,
35
36
  MESSAGE_GET: `${prefix} message get`,
@@ -19,6 +19,9 @@ m365 flow run get [options]
19
19
  `-e, --environmentName <environmentName>`
20
20
  : The name of the environment where the flow is located
21
21
 
22
+ `--includeTriggerInformation`
23
+ : If specified, include information about the trigger details
24
+
22
25
  --8<-- "docs/cmd/_global.md"
23
26
 
24
27
  ## Remarks
@@ -32,6 +35,8 @@ If the Microsoft Flow with the name you specified doesn't exist, you will get th
32
35
 
33
36
  If the run with the name you specified doesn't exist, you will get the `The provided workflow run name is not valid.` error.
34
37
 
38
+ If the option `includeTriggerInformation` is specified, but the trigger does not contain an outputsLink such as for example with a `Recurrence` trigger, this option will be ignored.
39
+
35
40
  ## Examples
36
41
 
37
42
  Get information about the given run of the specified Power Automate flow
@@ -40,6 +45,11 @@ Get information about the given run of the specified Power Automate flow
40
45
  m365 flow run get --environmentName Default-d87a7535-dd31-4437-bfe1-95340acd55c5 --flowName 5923cb07-ce1a-4a5c-ab81-257ce820109a --name 08586653536760200319026785874CU62
41
46
  ```
42
47
 
48
+ Get information about the given run of the specified Power Automate flow including trigger information
49
+
50
+ ```sh
51
+ m365 flow run get --environmentName Default-d87a7535-dd31-4437-bfe1-95340acd55c5 --flowName 5923cb07-ce1a-4a5c-ab81-257ce820109a --name 08586653536760200319026785874CU62 --includeTriggerInformation
52
+ ```
43
53
 
44
54
  ## Response
45
55
 
@@ -61,7 +71,7 @@ m365 flow run get --environmentName Default-d87a7535-dd31-4437-bfe1-95340acd55c5
61
71
  "trigger": {
62
72
  "name": "When_a_new_response_is_submitted",
63
73
  "inputsLink": {
64
- "uri": "https://prod-08.centralindia.logic.azure.com:443/workflows/f7bf8f6b5c494e63bfc21b54087a596e/runs/08585329112602833828909892130CU17/contents/TriggerInputs?api-version=2016-06-01&se=2022-11-17T18%3A00%3A00.0000000Z&sp=%2Fruns%2F08585329112602833828909892130CU17%2Fcontents%2FTriggerInputs%2Fread&sv=1.0&sig=jmdMRWvY7uGoxTmqd3_a2bJtegXuVyuKTKKUVLiwh38",
74
+ "uri": "https://prod-08.centralindia.logic.azure.com:443/workflows/f7bf8f6b5c494e63bfc21b54087a596e/runs/08585329112602833828909892130CU17/contents/TriggerInputs?api-version=2016-06-01&se=2022-11-17T18%3A00%3A00.0000000Z&sp=%2Fruns%2F08585329112602833828909892130CU17%2Fcontents%2FTriggerInputs%2Fread&sv=1.0&sig=",
65
75
  "contentVersion": "6ZrBBE+MJg7IvhMgyJLMmA==",
66
76
  "contentSize": 349,
67
77
  "contentHash": {
@@ -70,7 +80,7 @@ m365 flow run get --environmentName Default-d87a7535-dd31-4437-bfe1-95340acd55c5
70
80
  }
71
81
  },
72
82
  "outputsLink": {
73
- "uri": "https://prod-08.centralindia.logic.azure.com:443/workflows/f7bf8f6b5c494e63bfc21b54087a596e/runs/08585329112602833828909892130CU17/contents/TriggerOutputs?api-version=2016-06-01&se=2022-11-17T18%3A00%3A00.0000000Z&sp=%2Fruns%2F08585329112602833828909892130CU17%2Fcontents%2FTriggerOutputs%2Fread&sv=1.0&sig=Y3qqjuWrrcQJrmF7uvm6LVzQy5w-dNOFWJ8Yt8khXvA",
83
+ "uri": "https://prod-08.centralindia.logic.azure.com:443/workflows/f7bf8f6b5c494e63bfc21b54087a596e/runs/08585329112602833828909892130CU17/contents/TriggerOutputs?api-version=2016-06-01&se=2022-11-17T18%3A00%3A00.0000000Z&sp=%2Fruns%2F08585329112602833828909892130CU17%2Fcontents%2FTriggerOutputs%2Fread&sv=1.0&sig=",
74
84
  "contentVersion": "Z/4a8tfYygNAR1xpc44iww==",
75
85
  "contentSize": 493,
76
86
  "contentHash": {
@@ -97,17 +107,108 @@ m365 flow run get --environmentName Default-d87a7535-dd31-4437-bfe1-95340acd55c5
97
107
  === "Text"
98
108
 
99
109
  ```text
100
- endTime :
101
- name : 08585329112602833828909892130CU17
102
- startTime : 2022-11-17T14:33:45.2763872Z
103
- status : Running
104
- triggerName: When_a_new_response_is_submitted
110
+ endTime : 2023-03-04T09:05:22.5880202Z
111
+ name : 08585236861638480597867166179CU104
112
+ startTime : 2023-03-04T09:05:21.8066368Z
113
+ status : Succeeded
114
+ triggerName: When_an_email_is_flagged_(V4)
105
115
  ```
106
116
 
107
117
  === "CSV"
108
118
 
109
119
  ```csv
110
120
  name,startTime,endTime,status,triggerName
111
- 08585329112602833828909892130CU17,2022-11-17T14:33:45.2763872Z,,Running,When_a_new_response_is_submitted
121
+ 08585236861638480597867166179CU104,2023-03-04T09:05:21.8066368Z,2023-03-04T09:05:22.5880202Z,Succeeded,When_an_email_is_flagged_(V4)
122
+ ```
123
+
124
+ === "Markdown"
125
+
126
+ ```md
127
+ # flow run get --environmentName Default-d87a7535-dd31-4437-bfe1-95340acd55c5 --flowName 5923cb07-ce1a-4a5c-ab81-257ce820109a --name 08586653536760200319026785874CU62
128
+
129
+ Date: 04/03/2023
130
+
131
+ ## 08586653536760200319026785874CU62 (/providers/Microsoft.ProcessSimple/environments/Default-d87a7535-dd31-4437-bfe1-95340acd55c5/flows/5923cb07-ce1a-4a5c-ab81-257ce820109a/runs/08586653536760200319026785874CU62)
132
+
133
+ Property | Value
134
+ ---------|-------
135
+ name | 08586653536760200319026785874CU62
136
+ id | /providers/Microsoft.ProcessSimple/environments/Default-e1dd4023-a656-480a-8a0e-c1b1eec51e1d/flows/c3c707b5-fefd-4f7a-a96c-b8e0d5ca3cc1/runs/08585208964855963748594654409CU47
137
+ type | Microsoft.ProcessSimple/environments/flows/runs
138
+ startTime | 2023-03-04T09:05:21.8066368Z
139
+ endTime | 2023-03-04T09:05:22.5880202Z
140
+ status | Succeeded
141
+ triggerName | When\_an\_email\_is\_flagged\_(V4)
142
+ ```
143
+
144
+ ### `includeTriggerInformation` response
145
+
146
+ When using the option `includeTriggerInformation`, the response for the json-output will differ.
147
+
148
+ === "JSON"
149
+
150
+ ```json
151
+ {
152
+ "name": "08585236861638480597867166179CU104",
153
+ "id": "/providers/Microsoft.ProcessSimple/environments/Default-e1dd4023-a656-480a-8a0e-c1b1eec51e1d/flows/24335774-daf6-4183-acb7-f5155c2cd2fe/runs/08585236861638480597867166179CU104",
154
+ "type": "Microsoft.ProcessSimple/environments/flows/runs",
155
+ "properties": {
156
+ "startTime": "2023-03-04T09:05:21.8066368Z",
157
+ "endTime": "2023-03-04T09:05:22.5880202Z",
158
+ "status": "Succeeded",
159
+ "correlation": {
160
+ "clientTrackingId": "08585236861638480598867166179CU131"
161
+ },
162
+ "trigger": {
163
+ "name": "When_an_email_is_flagged_(V4)",
164
+ "inputsLink": {
165
+ "uri": "https://prod-130.westeurope.logic.azure.com:443/workflows/3ebadb794f6641e0b7f4fda131cdfb0b/runs/08585236861638480597867166179CU104/contents/TriggerInputs?api-version=2016-06-01&se=2023-03-04T14%3A00%3A00.0000000Z&sp=%2Fruns%2F08585236861638480597867166179CU104%2Fcontents%2FTriggerInputs%2Fread&sv=1.0&sig=",
166
+ "contentVersion": "2v/VLXFrKV6JvwSdcN7aHg==",
167
+ "contentSize": 343,
168
+ "contentHash": {
169
+ "algorithm": "md5",
170
+ "value": "2v/VLXFrKV6JvwSdcN7aHg=="
171
+ }
172
+ },
173
+ "outputsLink": {
174
+ "uri": "https://prod-130.westeurope.logic.azure.com:443/workflows/3ebadb794f6641e0b7f4fda131cdfb0b/runs/08585236861638480597867166179CU104/contents/TriggerOutputs?api-version=2016-06-01&se=2023-03-04T14%3A00%3A00.0000000Z&sp=%2Fruns%2F08585236861638480597867166179CU104%2Fcontents%2FTriggerOutputs%2Fread&sv=1.0&sig=",
175
+ "contentVersion": "AHZEeWNlQ0bLe48yDmpzrQ==",
176
+ "contentSize": 3478,
177
+ "contentHash": {
178
+ "algorithm": "md5",
179
+ "value": "AHZEeWNlQ0bLe48yDmpzrQ=="
180
+ }
181
+ },
182
+ "startTime": "2023-03-04T09:05:21.6192576Z",
183
+ "endTime": "2023-03-04T09:05:21.7442626Z",
184
+ "scheduledTime": "2023-03-04T09:05:21.573561Z",
185
+ "originHistoryName": "08585236861638480598867166179CU131",
186
+ "correlation": {
187
+ "clientTrackingId": "08585236861638480598867166179CU131"
188
+ },
189
+ "code": "OK",
190
+ "status": "Succeeded"
191
+ }
192
+ },
193
+ "startTime": "2023-03-04T09:05:21.8066368Z",
194
+ "endTime": "2023-03-04T09:05:22.5880202Z",
195
+ "status": "Succeeded",
196
+ "triggerName": "When_an_email_is_flagged_(V4)",
197
+ "triggerInformation": {
198
+ "from": "john@contoso.com",
199
+ "toRecipients": "doe@contoso.com",
200
+ "subject": "Dummy email",
201
+ "body": "<html><head>\r\\\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\"></head><body><p>This is dummy content</p></body></html>",
202
+ "importance": "normal",
203
+ "bodyPreview": "This is dummy content",
204
+ "hasAttachments": false,
205
+ "id": "AAMkADgzN2Q1NThiLTI0NjYtNGIxYS05MDdjLTg1OWQxNzgwZGM2ZgBGAAAAAAC6jQfUzacTSIHqMw2yacnUBwBiOC8xvYmdT6G2E_hLMK5kAAAAAAEMAABiOC8xvYmdT6G2E_hLMK5kAALUqy81AAA=",
206
+ "internetMessageId": "<DB7PR03MB5018879914324FC65695809FE1AD9@DB7PR03MB5018.eurprd03.prod.outlook.com>",
207
+ "conversationId": "AAQkADgzN2Q1NThiLTI0NjYtNGIxYS05MDdjLTg1OWQxNzgwZGM2ZgAQAMqP9zsK8a1CnIYEgHclLTk=",
208
+ "receivedDateTime": "2023-03-01T15:06:57+00:00",
209
+ "isRead": false,
210
+ "attachments": [],
211
+ "isHtml": true
212
+ }
213
+ }
112
214
  ```
113
-
@@ -0,0 +1,109 @@
1
+ # planner roster plan list
2
+
3
+ Lists all Microsoft Planner Roster plans for a specific user
4
+
5
+ ## Usage
6
+
7
+ ```sh
8
+ m365 planner roster plan list [options]
9
+ ```
10
+
11
+ ## Options
12
+
13
+ `--userId [userId]`
14
+ : User's Azure AD ID. Specify either `userId` or `userName` but not both. Specify this option only when using application permissions.
15
+
16
+ `--userName [userName]`
17
+ : User's UPN (user principal name, e.g. johndoe@example.com). Specify either `userId` or `userName` but not both. Specify this option only when using application permissions.
18
+
19
+ --8<-- "docs/cmd/_global.md"
20
+
21
+ ## Remarks
22
+
23
+ !!! attention
24
+ This command is based on an API that is currently in preview and is subject to change once the API reached general availability.
25
+
26
+ ## Examples
27
+
28
+ List all Planner plans contained in a Roster where the current logged in user is member of.
29
+
30
+ ```sh
31
+ m365 planner roster plan list
32
+ ```
33
+
34
+ List all Planner plans contained in a Roster where specific user is member of by its UPN.
35
+
36
+ ```sh
37
+ m365 planner roster plan list --userName john.doe@contoso.com
38
+ ```
39
+
40
+ List all Planner plans contained in a Roster where specific user is member of by its Id.
41
+
42
+ ```sh
43
+ m365 planner roster plan list --userId 59f80e08-24b1-41f8-8586-16765fd830d3
44
+ ```
45
+
46
+ ## Response
47
+
48
+ === "JSON"
49
+
50
+ ```json
51
+ [
52
+ {
53
+ "createdDateTime": "2023-04-06T14:41:49.8676617Z",
54
+ "owner": "59f80e08-24b1-41f8-8586-16765fd830d3",
55
+ "title": "My Planner Plan",
56
+ "creationSource": null,
57
+ "id": "_5GY9MJpZU2vb3DC46CP3MkACr8m",
58
+ "createdBy": {
59
+ "user": {
60
+ "displayName": null,
61
+ "id": "59f80e08-24b1-41f8-8586-16765fd830d3"
62
+ },
63
+ "application": {
64
+ "displayName": null,
65
+ "id": "31359c7f-bd7e-475c-86db-fdb8c937548e"
66
+ }
67
+ },
68
+ "container": {
69
+ "containerId": "_5GY9MJpZU2vb3DC46CP3MkACr8m",
70
+ "type": "unknownFutureValue",
71
+ "url": "https://graph.microsoft.com/beta/planner/rosters/_5GY9MJpZU2vb3DC46CP3MkACr8m"
72
+ },
73
+ "contexts": {},
74
+ "sharedWithContainers": []
75
+ }
76
+ ]
77
+ ```
78
+
79
+ === "Text"
80
+
81
+ ```text
82
+ id title createdDateTime owner
83
+ ---------------------------- --------------- ---------------------------- ------------------------------------
84
+ _5GY9MJpZU2vb3DC46CP3MkACr8m My Planner Plan 2023-04-06T14:41:49.8676617Z 59f80e08-24b1-41f8-8586-16765fd830d3
85
+ ```
86
+
87
+ === "CSV"
88
+
89
+ ```csv
90
+ createdDateTime,owner,title,id
91
+ 2023-04-06T14:41:49.8676617Z,59f80e08-24b1-41f8-8586-16765fd830d3,My Planner Plan,_5GY9MJpZU2vb3DC46CP3MkACr8m
92
+ ```
93
+
94
+ === "Markdown"
95
+
96
+ ```md
97
+ # planner roster plan list --userId "59f80e08-24b1-41f8-8586-16765fd830d3"
98
+
99
+ Date: 4/8/2023
100
+
101
+ ## My Planner Plan (_5GY9MJpZU2vb3DC46CP3MkACr8m)
102
+
103
+ Property | Value
104
+ ---------|-------
105
+ createdDateTime | 2023-04-06T14:41:49.8676617Z
106
+ owner | 59f80e08-24b1-41f8-8586-16765fd830d3
107
+ title | My Planner Plan
108
+ id | \_5GY9MJpZU2vb3DC46CP3MkACr8m
109
+ ```
@@ -50,7 +50,7 @@ m365 planner task add [options]
50
50
  : Hint used to order items of this type in a list view. The format is defined as outlined [here](https://docs.microsoft.com/graph/api/resources/planner-order-hint-format?view=graph-rest-1.0).
51
51
 
52
52
  `--description [description]`
53
- : Description of the task
53
+ : Description of the task.
54
54
 
55
55
  `--appliedCategories [appliedCategories]`
56
56
  : Comma-separated categories that should be added to the task. The possible options are: `category1`, `category2`, `category3`, `category4`, `category5` and/or `category6`. Additional info defined [here](https://docs.microsoft.com/graph/api/resources/plannerappliedcategories?view=graph-rest-1.0).
@@ -81,6 +81,8 @@ When you specify an integer value for `priority`, consider the following:
81
81
  - values 5, 6 and 7 are interpreted as _Medium_
82
82
  - values 8, 9 and 10 are interpreted as _Low_
83
83
 
84
+ When using `description` with a multiple lines value, use the new line character of the shell you are using to indicate line breaks. For PowerShell this is `` `n ``. For Zsh or Bash use `\n` with a `$` in front. E.g. `$"Line 1\nLine 2"`.
85
+
84
86
  ## Examples
85
87
 
86
88
  Adds a Microsoft Planner task with the name _My Planner Task_ for plan with the ID _8QZEH7b3wkSbGQobscsM5gADCBa_ and for the bucket with the ID _IK8tuFTwQEa5vTonM7ZMRZgAKdna_
@@ -50,16 +50,16 @@ m365 planner task set [options]
50
50
  : Comma-separated UPNs of the assignees that should be added to the task assignment. Specify either `assignedToUserIds` or `assignedToUserNames` but not both.
51
51
 
52
52
  `--description [description]`
53
- : Description of the task
53
+ : Description of the task.
54
54
 
55
55
  `--orderHint [orderHint]`
56
- : Hint used to order items of this type in a list view
56
+ : Hint used to order items of this type in a list view.
57
57
 
58
58
  `--assigneePriority [assigneePriority]`
59
- : Hint used to order items of this type in a list view
59
+ : Hint used to order items of this type in a list view.
60
60
 
61
61
  `--appliedCategories [appliedCategories]`
62
- : Comma-separated categories that should be added to the task
62
+ : Comma-separated categories that should be added to the task.
63
63
 
64
64
  `--priority [priority]`
65
65
  : Priority of the task: Urgent, Important, Medium, Low. Or an integer between 0 and 10 (check remarks section for more info).
@@ -83,6 +83,8 @@ When you specify an integer value for `priority`, consider the following:
83
83
 
84
84
  You can add up to 6 categories to the task. An example to add _category1_ and _category3_ would be `category1,category3`.
85
85
 
86
+ When using `description` with a multiple lines value, use the new line character of the shell you are using to indicate line breaks. For PowerShell this is `` `n ``. For Zsh or Bash use `\n` with a `$` in front. E.g. `$"Line 1\nLine 2"`.
87
+
86
88
  ## Examples
87
89
 
88
90
  Updates a Microsoft Planner task name to _My Planner Task_ for the task with the ID _Z-RLQGfppU6H3663DBzfs5gAMD3o_
@@ -33,11 +33,11 @@ If the specified url doesn't refer to an existing site collection, you will get
33
33
  Enable site feature
34
34
 
35
35
  ```sh
36
- m365 spo feature enable --url https://contoso.sharepoint.com/sites/sales --featureId 915c240e-a6cc-49b8-8b2c-0bff8b553ed3 --scope Site
36
+ m365 spo feature enable --webUrl https://contoso.sharepoint.com/sites/sales --id 915c240e-a6cc-49b8-8b2c-0bff8b553ed3 --scope Site
37
37
  ```
38
38
 
39
39
  Enable web feature (with force to overwrite feature with same id)
40
40
 
41
41
  ```sh
42
- m365 spo feature enable --url https://contoso.sharepoint.com/sites/sales --featureId 00bfea71-5932-4f9c-ad71-1557e5751100 --scope Web --force
42
+ m365 spo feature enable --webUrl https://contoso.sharepoint.com/sites/sales --id 00bfea71-5932-4f9c-ad71-1557e5751100 --scope Web --force
43
43
  ```
@@ -16,21 +16,106 @@ m365 spo file list [options]
16
16
  `-f, --folder <folder>`
17
17
  : The server- or site-relative URL of the folder from which to retrieve files
18
18
 
19
+ `--fields [fields]`
20
+ : Comma-separated list of fields to retrieve. Will retrieve all fields if not specified.
21
+
22
+ `--filter [filter]`
23
+ : OData filter to use to query the list of items with
24
+
19
25
  `-r, --recursive`
20
26
  : Set to retrieve files from subfolders
21
27
 
22
28
  --8<-- "docs/cmd/_global.md"
23
29
 
30
+ ## Remarks
31
+
32
+ When the `fields` option includes values with a `/`, for example: `ListItemAllFields/Id`, an additional `$expand` query parameter will be included on `ListItemAllFields`.
33
+
24
34
  ## Examples
25
35
 
26
- Return all files from folder _Shared Documents_ located in site _https://contoso.sharepoint.com/sites/project-x_
36
+ Return all files from a folder
27
37
 
28
38
  ```sh
29
39
  m365 spo file list --webUrl https://contoso.sharepoint.com/sites/project-x --folder 'Shared Documents'
30
40
  ```
31
41
 
32
- Return all files from the folder _Shared Documents_ and all the sub-folders of _Shared Documents_ located in site _https://contoso.sharepoint.com/sites/project-x_
42
+ Return all files from a folder and all the sub-folders
33
43
 
34
44
  ```sh
35
45
  m365 spo file list --webUrl https://contoso.sharepoint.com/sites/project-x --folder 'Shared Documents' --recursive
36
46
  ```
47
+
48
+ Return the files from a folder with specific fields which will be expanded
49
+
50
+ ```sh
51
+ m365 spo file list --webUrl https://contoso.sharepoint.com/sites/project-x --folder 'Shared Documents' --fields "Title,Length"
52
+ ```
53
+
54
+ Return the files from a folder that meet the criteria of the filter with specific fields which will be expanded
55
+
56
+ ```sh
57
+ m365 spo file list --webUrl https://contoso.sharepoint.com/sites/project-x --folder 'Shared Documents' --fields ListItemAllFields/Id --filter "Name eq 'document.docx'"
58
+ ```
59
+
60
+ ## Response
61
+
62
+ === "JSON"
63
+
64
+ ```json
65
+ [
66
+ {
67
+ "CheckInComment": "",
68
+ "CheckOutType": 2,
69
+ "ContentTag": "{F09C4EFE-B8C0-4E89-A166-03418661B89B},9,12",
70
+ "CustomizedPageStatus": 0,
71
+ "ETag": "\"{F09C4EFE-B8C0-4E89-A166-03418661B89B},9\"",
72
+ "Exists": true,
73
+ "IrmEnabled": false,
74
+ "Length": 331673,
75
+ "Level": 1,
76
+ "LinkingUri": "https://contoso.sharepoint.com/sites/project-x/Shared Documents/Document.docx?d=wf09c4efeb8c04e89a16603418661b89b",
77
+ "LinkingUrl": "https://contoso.sharepoint.com/sites/project-x/Shared Documents/Document.docx?d=wf09c4efeb8c04e89a16603418661b89b",
78
+ "MajorVersion": 3,
79
+ "MinorVersion": 0,
80
+ "Name": "Document.docx",
81
+ "ServerRelativeUrl": "/sites/project-x/Shared Documents/Document.docx",
82
+ "TimeCreated": "2018-02-05T08:42:36Z",
83
+ "TimeLastModified": "2018-02-05T08:44:03Z",
84
+ "Title": "",
85
+ "UIVersion": 1536,
86
+ "UIVersionLabel": "3.0",
87
+ "UniqueId": "f09c4efe-b8c0-4e89-a166-03418661b89b"
88
+ }
89
+ ]
90
+ ```
91
+
92
+ === "Text"
93
+
94
+ ```text
95
+ Name ServerRelativeUrl UniqueId
96
+ --------------------------------- ----------------------------------------------- ------------------------------------
97
+ Document.docx /sites/project-x/Shared Documents/Document.docx 5eb97525-2167-4d26-94b8-092a97d65716
98
+ ```
99
+
100
+ === "CSV"
101
+
102
+ ```csv
103
+ Name,ServerRelativeUrl,UniqueId
104
+ Document.docx,/sites/project-x/Shared Documents/Document.docx,5eb97525-2167-4d26-94b8-092a97d65716
105
+ ```
106
+
107
+ === "Markdown"
108
+
109
+ ```md
110
+ # spo file list --webUrl "https://contoso.sharepoint.com" --folder "Shared Documents"
111
+
112
+ Date: 23/3/2023
113
+
114
+ ## Document.docx (5eb97525-2167-4d26-94b8-092a97d65716)
115
+
116
+ Property | Value
117
+ ---------|-------
118
+ Name | Document.docx
119
+ ServerRelativeUrl | /sites/project-x/Shared Documents/Document.docx
120
+ UniqueId | 5eb97525-2167-4d26-94b8-092a97d65716
121
+ ```
@@ -16,6 +16,12 @@ m365 spo folder list [options]
16
16
  `-p, --parentFolderUrl <parentFolderUrl>`
17
17
  : Site-relative URL of the parent folder
18
18
 
19
+ `-f, --fields [fields]`
20
+ : Comma-separated list of fields to retrieve. Will retrieve all fields if not specified and json output is requested.
21
+
22
+ `--filter [filter]`
23
+ : OData filter to use to query the list of folders with.
24
+
19
25
  `-r, --recursive`
20
26
  : Set to retrieve nested folders
21
27
 
@@ -23,7 +29,7 @@ m365 spo folder list [options]
23
29
 
24
30
  ## Examples
25
31
 
26
- Gets list of folders under a parent folder with site-relative url _/Shared Documents_ located in site _https://contoso.sharepoint.com/sites/project-x_
32
+ Gets list of folders under a parent folder
27
33
 
28
34
  ```sh
29
35
  m365 spo folder list --webUrl https://contoso.sharepoint.com/sites/project-x --parentFolderUrl '/Shared Documents'
@@ -35,6 +41,12 @@ Gets recursive list of folders under a specific folder on a specific site
35
41
  m365 spo folder list --webUrl https://contoso.sharepoint.com/sites/project-x --parentFolderUrl '/Shared Documents' --recursive
36
42
  ```
37
43
 
44
+ Return a filtered list of folders and only return the list item ID
45
+
46
+ ```sh
47
+ m365 spo folder list --webUrl https://contoso.sharepoint.com/sites/project-x --parentFolderUrl '/Shared Documents' --fields ListItemAllFields/Id --filter "startswith(Name,'Folder')"
48
+ ```
49
+
38
50
  ## Response
39
51
 
40
52
  === "JSON"
@@ -70,3 +82,26 @@ m365 spo folder list --webUrl https://contoso.sharepoint.com/sites/project-x --p
70
82
  Name,ServerRelativeUrl
71
83
  Folder A,/Shared Documents/Folder A
72
84
  ```
85
+
86
+ === "Markdown"
87
+
88
+ ```md
89
+ # spo folder list --webUrl "https://contoso.sharepoint.com" --parentFolderUrl "/Shared Documents"
90
+
91
+ Date: 29/3/2023
92
+
93
+ ## Folder A (20523746-971b-4488-aa6d-b45d645f61c5)
94
+
95
+ Property | Value
96
+ ---------|-------
97
+ Exists | true
98
+ IsWOPIEnabled | false
99
+ ItemCount | 9
100
+ Name | Folder A
101
+ ProgID | null
102
+ ServerRelativeUrl | /Shared Documents/Folder A
103
+ TimeCreated | 2022-04-26T12:30:56Z
104
+ TimeLastModified | 2022-04-26T12:50:14Z
105
+ UniqueId | 20523746-971b-4488-aa6d-b45d645f61c5
106
+ WelcomePage |
107
+ ```
@@ -46,3 +46,15 @@ m365 spo get --output json
46
46
  SpoUrl
47
47
  https://contoso.sharepoint.com
48
48
  ```
49
+
50
+ === "Markdown"
51
+
52
+ ```md
53
+ # spo get
54
+
55
+ Date: 4/10/2023
56
+
57
+ Property | Value
58
+ ---------|-------
59
+ SpoUrl | https://contoso.sharepoint.com
60
+ ```