@blickwerk/n8n-nodes-microsoft-planner 1.3.3 → 1.3.4

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/README.md CHANGED
@@ -86,7 +86,7 @@ Configure the Microsoft Planner OAuth2 API credentials in n8n:
86
86
 
87
87
  ## Features
88
88
 
89
- - **Dynamic Dropdowns**: Automatically loads and displays your Plans, Buckets, and Tasks - no need to manually copy IDs!
89
+ - **Resource Locator UI**: Choose between "From List" (dropdown) or "By ID" (manual input) for Buckets
90
90
  - **User Assignment**: Assign tasks to users by email address
91
91
  - **Priority Management**: Easy-to-use priority dropdown (Urgent, Important, Medium, Low)
92
92
  - **Full CRUD Operations**: Create, Read, Update, and Delete tasks
@@ -125,17 +125,18 @@ Optional fields:
125
125
  ### Getting Tasks
126
126
 
127
127
  **Get a single task:**
128
- - Select the task from the dropdown (automatically loaded from your plans)
128
+ - Enter the **Task ID** manually (no dropdown available for single task lookups)
129
129
 
130
130
  **Get many tasks:**
131
- - Filter by **Plan** (select from dropdown)
132
- - Or filter by **Bucket** (select from dropdown)
131
+ - Choose filter type: **Plan** or **Bucket**
132
+ - Enter the **Plan ID**
133
+ - If filtering by Bucket: Select bucket from dropdown or enter Bucket ID manually
133
134
  - Set a limit or return all tasks
134
135
 
135
136
  ### Updating a Task
136
137
 
137
138
  To update a task:
138
- 1. Select the **Task** from the dropdown
139
+ 1. Enter the **Task ID** manually
139
140
  2. Update any of these fields:
140
141
  - Title
141
142
  - Description
@@ -161,13 +162,13 @@ You can find your Plan ID in several ways:
161
162
  - Run: `GET /me/planner/plans`
162
163
  - Copy the `id` field from the plan you want
163
164
 
164
- ### Dynamic Dropdowns
165
+ ### Resource Locator (From List / By ID)
165
166
 
166
- Once you enter a Plan ID:
167
- - **Buckets**: Automatically load for that plan
168
- - **Tasks**: Load based on selected Plan/Bucket
167
+ When creating tasks or filtering by bucket:
168
+ - **From List**: Select from dropdown (automatically loads based on Plan ID)
169
+ - **By ID**: Manually enter the ID if you already know it
169
170
 
170
- You can also manually enter Bucket IDs and Task IDs if needed.
171
+ For Get/Update/Delete operations, you need to manually enter the Task ID.
171
172
 
172
173
  ## Compatibility
173
174
 
@@ -181,6 +182,19 @@ Tested with n8n version 1.0.0 and above.
181
182
 
182
183
  ## Version History
183
184
 
185
+ ### 1.3.3
186
+ - **Restructured Get Many Tasks for better UX**
187
+ - Added "Filter By" dropdown to choose between Plan or Bucket filtering
188
+ - Plan ID and Bucket are now separate fields (not in collection)
189
+ - Bucket dropdown now properly loads when Plan ID is entered
190
+ - Simplified Get/Update/Delete Task to use "By ID" only (no dropdown)
191
+ - Resource Locator UI for buckets with "From List" / "By ID" toggle
192
+
193
+ ### 1.3.0 - 1.3.2
194
+ - Added resource locator UI for Buckets and Tasks
195
+ - Converted from loadOptions to listSearch methods
196
+ - Various fixes for dropdown loading issues
197
+
184
198
  ### 1.2.4
185
199
  - **Fixed Bucket and Task dropdowns not showing!**
186
200
  - Changed field type from 'string' back to 'options' for proper dropdown display
@@ -283,9 +283,13 @@ class MicrosoftPlanner {
283
283
  console.warn('No valid user IDs found for assignment. Check if User.Read.All permission is granted.');
284
284
  }
285
285
  }
286
- const responseData = await GenericFunctions_1.microsoftApiRequest.call(this, 'PATCH', `/planner/tasks/${taskId}`, body, {}, undefined, {
287
- 'If-Match': eTag,
288
- });
286
+ let responseData = currentTask;
287
+ // Only send PATCH request if there are fields to update (excluding description)
288
+ if (Object.keys(body).length > 0) {
289
+ responseData = await GenericFunctions_1.microsoftApiRequest.call(this, 'PATCH', `/planner/tasks/${taskId}`, body, {}, undefined, {
290
+ 'If-Match': eTag,
291
+ });
292
+ }
289
293
  // Update description if provided
290
294
  if (updateFields.description) {
291
295
  const details = await GenericFunctions_1.microsoftApiRequest.call(this, 'GET', `/planner/tasks/${taskId}/details`);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@blickwerk/n8n-nodes-microsoft-planner",
3
- "version": "1.3.3",
3
+ "version": "1.3.4",
4
4
  "description": "n8n node for Microsoft Planner - Create and retrieve tasks",
5
5
  "keywords": [
6
6
  "n8n-community-node-package",