@pnp/cli-microsoft365 6.7.0-beta.60f2469 → 6.7.0-beta.872b0f5
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/.devcontainer/Dockerfile +1 -1
- package/README.md +1 -1
- package/dist/Auth.js +75 -4
- package/dist/AuthServer.js +2 -1
- package/dist/Command.js +56 -7
- package/dist/m365/base/AzmgmtCommand.js +11 -0
- package/dist/m365/base/PowerAppsCommand.js +11 -0
- package/dist/m365/base/PowerPlatformCommand.js +11 -0
- package/dist/m365/commands/login.js +17 -1
- package/dist/m365/commands/status.js +4 -2
- package/dist/m365/flow/commands/run/run-get.js +31 -1
- package/dist/m365/spo/commands/file/file-list.js +104 -31
- package/dist/m365/spo/commands/listitem/listitem-list.js +113 -55
- package/dist/request.js +7 -0
- package/dist/utils/misc.js +11 -0
- package/docs/docs/cmd/flow/run/run-get.md +110 -9
- package/docs/docs/cmd/login.md +5 -2
- package/docs/docs/cmd/planner/task/task-add.md +3 -1
- package/docs/docs/cmd/planner/task/task-set.md +6 -4
- package/docs/docs/cmd/spo/file/file-list.md +87 -2
- package/docs/docs/cmd/spo/listitem/listitem-list.md +22 -8
- package/package.json +1 -1
- package/dist/m365/spo/commands/file/FilePropertiesCollection.js +0 -3
- package/dist/m365/spo/commands/folder/FileFolderCollection.js +0 -3
|
@@ -18,6 +18,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
18
18
|
const Cli_1 = require("../../../../cli/Cli");
|
|
19
19
|
const request_1 = require("../../../../request");
|
|
20
20
|
const formatting_1 = require("../../../../utils/formatting");
|
|
21
|
+
const odata_1 = require("../../../../utils/odata");
|
|
21
22
|
const spo_1 = require("../../../../utils/spo");
|
|
22
23
|
const urlUtil_1 = require("../../../../utils/urlUtil");
|
|
23
24
|
const validation_1 = require("../../../../utils/validation");
|
|
@@ -41,63 +42,94 @@ class SpoListItemListCommand extends SpoCommand_1.default {
|
|
|
41
42
|
}
|
|
42
43
|
commandAction(logger, args) {
|
|
43
44
|
return __awaiter(this, void 0, void 0, function* () {
|
|
44
|
-
let
|
|
45
|
+
let listApiUrl = `${args.options.webUrl}/_api/web`;
|
|
45
46
|
if (args.options.listId) {
|
|
46
|
-
|
|
47
|
+
listApiUrl += `/lists(guid'${formatting_1.formatting.encodeQueryParameter(args.options.listId)}')`;
|
|
47
48
|
}
|
|
48
49
|
else if (args.options.listTitle) {
|
|
49
|
-
|
|
50
|
+
listApiUrl += `/lists/getByTitle('${formatting_1.formatting.encodeQueryParameter(args.options.listTitle)}')`;
|
|
50
51
|
}
|
|
51
52
|
else if (args.options.listUrl) {
|
|
52
53
|
const listServerRelativeUrl = urlUtil_1.urlUtil.getServerRelativePath(args.options.webUrl, args.options.listUrl);
|
|
53
|
-
|
|
54
|
-
}
|
|
55
|
-
let formDigestValue = '';
|
|
56
|
-
const fieldsArray = args.options.fields ? args.options.fields.split(",")
|
|
57
|
-
: (!args.options.output || Cli_1.Cli.shouldTrimOutput(args.options.output)) ? ["Title", "Id"] : [];
|
|
58
|
-
const fieldsWithSlash = fieldsArray.filter(item => item.includes('/'));
|
|
59
|
-
const fieldsToExpand = fieldsWithSlash.map(e => e.split('/')[0]);
|
|
60
|
-
const expandFieldsArray = fieldsToExpand.filter((item, pos) => fieldsToExpand.indexOf(item) === pos);
|
|
54
|
+
listApiUrl += `/GetList('${formatting_1.formatting.encodeQueryParameter(listServerRelativeUrl)}')`;
|
|
55
|
+
}
|
|
61
56
|
try {
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
57
|
+
const listItems = args.options.camlQuery
|
|
58
|
+
? yield this.getItemsUsingCAMLQuery(logger, args.options, listApiUrl)
|
|
59
|
+
: yield this.getItems(logger, args.options, listApiUrl);
|
|
60
|
+
listItems.forEach(v => delete v['ID']);
|
|
61
|
+
logger.log(listItems);
|
|
62
|
+
}
|
|
63
|
+
catch (err) {
|
|
64
|
+
this.handleRejectedODataJsonPromise(err);
|
|
65
|
+
}
|
|
66
|
+
});
|
|
67
|
+
}
|
|
68
|
+
getItems(logger, options, listApiUrl) {
|
|
69
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
70
|
+
if (this.verbose) {
|
|
71
|
+
logger.logToStderr(`Getting list items`);
|
|
72
|
+
}
|
|
73
|
+
const queryParams = [];
|
|
74
|
+
const fieldsArray = options.fields ? options.fields.split(",")
|
|
75
|
+
: (!options.output || Cli_1.Cli.shouldTrimOutput(options.output)) ? ["Title", "Id"] : [];
|
|
76
|
+
const expandFieldsArray = this.getExpandFieldsArray(fieldsArray);
|
|
77
|
+
const skipTokenId = yield this.getLastItemIdForPage(logger, options, listApiUrl);
|
|
78
|
+
queryParams.push(`$top=${options.pageSize || 5000}`);
|
|
79
|
+
if (options.filter) {
|
|
80
|
+
queryParams.push(`$filter=${encodeURIComponent(options.filter)}`);
|
|
81
|
+
}
|
|
82
|
+
if (expandFieldsArray.length > 0) {
|
|
83
|
+
queryParams.push(`$expand=${expandFieldsArray.join(",")}`);
|
|
84
|
+
}
|
|
85
|
+
if (fieldsArray.length > 0) {
|
|
86
|
+
queryParams.push(`$select=${formatting_1.formatting.encodeQueryParameter(fieldsArray.join(","))}`);
|
|
87
|
+
}
|
|
88
|
+
if (skipTokenId !== undefined) {
|
|
89
|
+
queryParams.push(`$skiptoken=Paged=TRUE%26p_ID=${skipTokenId}`);
|
|
90
|
+
}
|
|
91
|
+
// If skiptoken is not found, then we are past the last page
|
|
92
|
+
if (options.pageNumber && Number(options.pageNumber) > 0 && skipTokenId === undefined) {
|
|
93
|
+
return [];
|
|
94
|
+
}
|
|
95
|
+
if (!options.pageSize) {
|
|
96
|
+
return yield odata_1.odata.getAllItems(`${listApiUrl}/items?${queryParams.join('&')}`);
|
|
97
|
+
}
|
|
98
|
+
else {
|
|
99
|
+
const requestOptions = {
|
|
100
|
+
url: `${listApiUrl}/items?${queryParams.join('&')}`,
|
|
101
|
+
headers: {
|
|
102
|
+
'accept': 'application/json;odata=nometadata'
|
|
103
|
+
},
|
|
104
|
+
responseType: 'json'
|
|
105
|
+
};
|
|
106
|
+
const listItemCollection = yield request_1.default.get(requestOptions);
|
|
107
|
+
return listItemCollection.value;
|
|
108
|
+
}
|
|
109
|
+
});
|
|
110
|
+
}
|
|
111
|
+
getItemsUsingCAMLQuery(logger, options, listApiUrl) {
|
|
112
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
113
|
+
const formDigestValue = (yield spo_1.spo.getRequestDigest(options.webUrl)).FormDigestValue;
|
|
114
|
+
if (this.verbose) {
|
|
115
|
+
logger.logToStderr(`Getting list items using CAML query`);
|
|
116
|
+
}
|
|
117
|
+
const items = [];
|
|
118
|
+
let skipTokenId = undefined;
|
|
119
|
+
do {
|
|
120
|
+
const requestBody = {
|
|
121
|
+
"query": {
|
|
122
|
+
"ViewXml": options.camlQuery,
|
|
123
|
+
"AllowIncrementalResults": true
|
|
65
124
|
}
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
if (args.options.pageNumber && Number(args.options.pageNumber) > 0) {
|
|
71
|
-
const rowLimit = `$top=${Number(args.options.pageSize) * Number(args.options.pageNumber)}`;
|
|
72
|
-
const filter = args.options.filter ? `$filter=${encodeURIComponent(args.options.filter)}` : ``;
|
|
73
|
-
const fieldSelect = `?$select=Id&${rowLimit}&${filter}`;
|
|
74
|
-
const requestOptions = {
|
|
75
|
-
url: `${requestUrl}/items${fieldSelect}`,
|
|
76
|
-
headers: {
|
|
77
|
-
'accept': 'application/json;odata=nometadata',
|
|
78
|
-
'X-RequestDigest': formDigestValue
|
|
79
|
-
},
|
|
80
|
-
responseType: 'json'
|
|
125
|
+
};
|
|
126
|
+
if (skipTokenId !== undefined) {
|
|
127
|
+
requestBody.query.ListItemCollectionPosition = {
|
|
128
|
+
"PagingInfo": `Paged=TRUE&p_ID=${skipTokenId}`
|
|
81
129
|
};
|
|
82
|
-
res = yield request_1.default.get(requestOptions);
|
|
83
130
|
}
|
|
84
|
-
const skipTokenId = (res && res.value && res.value.length && res.value[res.value.length - 1]) ? res.value[res.value.length - 1].Id : 0;
|
|
85
|
-
const skipToken = (args.options.pageNumber && Number(args.options.pageNumber) > 0 && skipTokenId > 0) ? `$skiptoken=Paged=TRUE%26p_ID=${res.value[res.value.length - 1].Id}` : ``;
|
|
86
|
-
const rowLimit = args.options.pageSize ? `$top=${args.options.pageSize}` : ``;
|
|
87
|
-
const filter = args.options.filter ? `$filter=${encodeURIComponent(args.options.filter)}` : ``;
|
|
88
|
-
const fieldExpand = expandFieldsArray.length > 0 ? `&$expand=${expandFieldsArray.join(",")}` : ``;
|
|
89
|
-
const fieldSelect = fieldsArray.length > 0 ?
|
|
90
|
-
`?$select=${formatting_1.formatting.encodeQueryParameter(fieldsArray.join(","))}${fieldExpand}&${rowLimit}&${skipToken}&${filter}` :
|
|
91
|
-
`?${rowLimit}&${skipToken}&${filter}`;
|
|
92
|
-
const requestBody = args.options.camlQuery ?
|
|
93
|
-
{
|
|
94
|
-
"query": {
|
|
95
|
-
"ViewXml": args.options.camlQuery
|
|
96
|
-
}
|
|
97
|
-
}
|
|
98
|
-
: ``;
|
|
99
131
|
const requestOptions = {
|
|
100
|
-
url: `${
|
|
132
|
+
url: `${listApiUrl}/GetItems`,
|
|
101
133
|
headers: {
|
|
102
134
|
'accept': 'application/json;odata=nometadata',
|
|
103
135
|
'X-RequestDigest': formDigestValue
|
|
@@ -105,13 +137,39 @@ class SpoListItemListCommand extends SpoCommand_1.default {
|
|
|
105
137
|
responseType: 'json',
|
|
106
138
|
data: requestBody
|
|
107
139
|
};
|
|
108
|
-
const listItemInstances =
|
|
109
|
-
listItemInstances.value.
|
|
110
|
-
|
|
140
|
+
const listItemInstances = yield request_1.default.post(requestOptions);
|
|
141
|
+
skipTokenId = listItemInstances.value.length > 0 ? listItemInstances.value[listItemInstances.value.length - 1].Id : undefined;
|
|
142
|
+
items.push(...listItemInstances.value);
|
|
143
|
+
} while (skipTokenId !== undefined);
|
|
144
|
+
return items;
|
|
145
|
+
});
|
|
146
|
+
}
|
|
147
|
+
getExpandFieldsArray(fieldsArray) {
|
|
148
|
+
const fieldsWithSlash = fieldsArray.filter(item => item.includes('/'));
|
|
149
|
+
const fieldsToExpand = fieldsWithSlash.map(e => e.split('/')[0]);
|
|
150
|
+
const expandFieldsArray = fieldsToExpand.filter((item, pos) => fieldsToExpand.indexOf(item) === pos);
|
|
151
|
+
return expandFieldsArray;
|
|
152
|
+
}
|
|
153
|
+
getLastItemIdForPage(logger, options, listApiUrl) {
|
|
154
|
+
var _a;
|
|
155
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
156
|
+
if (!options.pageNumber || Number(options.pageNumber) === 0) {
|
|
157
|
+
return undefined;
|
|
111
158
|
}
|
|
112
|
-
|
|
113
|
-
|
|
159
|
+
if (this.verbose) {
|
|
160
|
+
logger.logToStderr(`Getting skipToken Id for page ${options.pageNumber}`);
|
|
114
161
|
}
|
|
162
|
+
const rowLimit = `$top=${Number(options.pageSize) * Number(options.pageNumber)}`;
|
|
163
|
+
const filter = options.filter ? `$filter=${encodeURIComponent(options.filter)}` : ``;
|
|
164
|
+
const requestOptions = {
|
|
165
|
+
url: `${listApiUrl}/items?$select=Id&${rowLimit}&${filter}`,
|
|
166
|
+
headers: {
|
|
167
|
+
'accept': 'application/json;odata=nometadata'
|
|
168
|
+
},
|
|
169
|
+
responseType: 'json'
|
|
170
|
+
};
|
|
171
|
+
const response = yield request_1.default.get(requestOptions);
|
|
172
|
+
return (_a = response.value[response.value.length - 1]) === null || _a === void 0 ? void 0 : _a.Id;
|
|
115
173
|
});
|
|
116
174
|
}
|
|
117
175
|
}
|
|
@@ -155,16 +213,16 @@ _SpoListItemListCommand_instances = new WeakSet(), _SpoListItemListCommand_initT
|
|
|
155
213
|
return isValidSharePointUrl;
|
|
156
214
|
}
|
|
157
215
|
if (args.options.camlQuery && args.options.fields) {
|
|
158
|
-
return `
|
|
216
|
+
return `You cannot use the fields-option when specifying a camlQuery`;
|
|
159
217
|
}
|
|
160
218
|
if (args.options.camlQuery && args.options.pageSize) {
|
|
161
|
-
return `
|
|
219
|
+
return `You cannot use the pageSize-option when specifying a camlQuery`;
|
|
162
220
|
}
|
|
163
221
|
if (args.options.camlQuery && args.options.pageNumber) {
|
|
164
|
-
return `
|
|
222
|
+
return `You cannot use the pageNumber-option when specifying a camlQuery`;
|
|
165
223
|
}
|
|
166
224
|
if (args.options.pageSize && isNaN(Number(args.options.pageSize))) {
|
|
167
|
-
return `pageSize must be numeric`;
|
|
225
|
+
return `pageSize ${args.options.pageSize} must be numeric`;
|
|
168
226
|
}
|
|
169
227
|
if (args.options.pageNumber && !args.options.pageSize) {
|
|
170
228
|
return `pageSize must be specified if pageNumber is specified`;
|
package/dist/request.js
CHANGED
|
@@ -123,6 +123,7 @@ class Request {
|
|
|
123
123
|
if (!this._logger) {
|
|
124
124
|
return Promise.reject('Logger not set on the request object');
|
|
125
125
|
}
|
|
126
|
+
this.updateRequestForCloudType(options, Auth_1.default.service.cloudType);
|
|
126
127
|
return new Promise((_resolve, _reject) => {
|
|
127
128
|
(() => {
|
|
128
129
|
if (options.headers && options.headers['x-anonymous']) {
|
|
@@ -181,6 +182,12 @@ class Request {
|
|
|
181
182
|
});
|
|
182
183
|
});
|
|
183
184
|
}
|
|
185
|
+
updateRequestForCloudType(options, cloudType) {
|
|
186
|
+
const url = new URL(options.url);
|
|
187
|
+
const hostname = `${url.protocol}//${url.hostname}`;
|
|
188
|
+
const cloudUrl = Auth_1.Auth.getEndpointForResource(hostname, cloudType);
|
|
189
|
+
options.url = options.url.replace(hostname, cloudUrl);
|
|
190
|
+
}
|
|
184
191
|
}
|
|
185
192
|
exports.default = new Request();
|
|
186
193
|
//# sourceMappingURL=request.js.map
|
|
@@ -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=
|
|
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=
|
|
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 :
|
|
102
|
-
startTime :
|
|
103
|
-
status :
|
|
104
|
-
triggerName:
|
|
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
|
-
|
|
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
|
-
|
package/docs/docs/cmd/login.md
CHANGED
|
@@ -37,6 +37,9 @@ m365 login [options]
|
|
|
37
37
|
`--tenant [tenant]`
|
|
38
38
|
: ID of the tenant from which accounts should be able to authenticate. Use `common` or `organization` if the app is multitenant. If not specified, use the tenant specified in the `CLIMICROSOFT365_TENANT` environment variable. If the environment variable is not defined, use `common` as the tenant identifier
|
|
39
39
|
|
|
40
|
+
`--cloud [cloud]`
|
|
41
|
+
: Cloud to connect to. Allowed values `Public`, `USGov`, `USGovHigh`, `USGovDoD` and `China`. Default `Public`
|
|
42
|
+
|
|
40
43
|
--8<-- "docs/cmd/_global.md"
|
|
41
44
|
|
|
42
45
|
## Remarks
|
|
@@ -45,8 +48,6 @@ Using the `login` command you can log in to Microsoft 365.
|
|
|
45
48
|
|
|
46
49
|
By default, the `login` command uses device code OAuth flow to log in to Microsoft 365. Alternatively, you can authenticate using a user name and password or certificate, which are convenient for CI/CD scenarios, but which come with their own [limitations](../user-guide/connecting-office-365.md).
|
|
47
50
|
|
|
48
|
-
When logging in to Microsoft 365, the `login` command stores in memory the access token and the refresh token. Both tokens are cleared from memory after exiting the CLI or by calling the [logout](logout.md) command.
|
|
49
|
-
|
|
50
51
|
When logging in to Microsoft 365 using the user name and password, next to the access and refresh token, the CLI for Microsoft 365 will store the user credentials so that it can automatically re-authenticate if necessary. Similarly to the tokens, the credentials are removed by re-authenticating using the device code or by calling the [logout](logout.md) command.
|
|
51
52
|
|
|
52
53
|
When logging in to Microsoft 365 using a certificate, the CLI for Microsoft 365 will store the contents of the certificate so that it can automatically re-authenticate if necessary. The contents of the certificate are removed by re-authenticating using the device code or by calling the [logout](logout.md) command.
|
|
@@ -55,6 +56,8 @@ To log in to Microsoft 365 using a certificate or secret, you will typically [cr
|
|
|
55
56
|
|
|
56
57
|
Managed identity in Azure Cloud Shell is the identity of the user. It is neither system- nor user-assigned and it can't be configured. To log in to Microsoft 365 using managed identity in Azure Cloud Shell, set `authType` to `identity` and don't specify the `userName` option.
|
|
57
58
|
|
|
59
|
+
When connecting to clouds other than `Public`, you'll need to use an Azure AD application registered in a directory provisioned in that cloud. If you try to login using the default Azure AD application, login will fail.
|
|
60
|
+
|
|
58
61
|
## Examples
|
|
59
62
|
|
|
60
63
|
Log in to Microsoft 365 using the device code
|
|
@@ -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_
|
|
@@ -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
|
|
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
|
|
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
|
+
```
|