bulk_update_tasks
Apply the same partial update to many tasks at once. Pass taskIds (max 50) and any combination of: status (TODO/IN_PROGRESS/REVIEW/DONE/BLOCKED), priority (LOW/MEDIUM/HIGH/CRITICAL, a ranking label that does not put a task on the critical path), shiftDueDateDays (positive or negative integer to add to each task's dueDate). Per-task failures are reported in errors but do not abort the whole call. Permission: task.edit.any on each task's project. PREFER bulk_update_status when the ONLY change is status (cheaper, atomic, single parent-rollup pass).
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| dryRun | No | Preview only: return the per-task diff (current vs proposed) + which tasks would be skipped, without committing. Writes nothing, fires no side effects. | |
| status | No | ||
| taskIds | Yes | Up to 50 task ids. | |
| priority | No | Priority label (LOW/MEDIUM/HIGH/CRITICAL) that people set to rank work. It is not the critical path: the schedule engine computes that from dependencies, durations and the calendar, and priority does not change it. | |
| shiftDueDateDays | No | Integer days to add to each task's dueDate. Negative = earlier. |