Skip to the content.

Checkout our latest project

Donate to help keep this project maintained. Donate with PayPal button

:star: If you use it, you should star it on Github! It’s the least you can do for all the work put into it!

Group_assign

Assign Tasks to Groups or from Multi-Select of Users with permissions from the project

Requirements

Kanboard v1.1.0 or Higher, except 1.2.45 to 1.2.48.

Group_assign Version 1.8.3 will support Kanboard 1.2.45 to 1.2.48.

Group_assign Versions 1.7.7 and below will support PHP version below 7

Features and usage

JSON-RPC API

The plugin registers these Kanboard JSON-RPC methods. All writes reject groups and users that are not assignable in the target project and return false on validation failure.

createTaskGroupAssign(...)

Creates a task with the standard Kanboard createTask arguments plus:

Extra argument Meaning
group_id Assigned Group id. Use 0 for no group.
other_assignees Array of user ids for Other Assignees. Use [] for none.

The plugin stores these fields as tasks.owner_gp and tasks.owner_ms. When there are no Other Assignees, owner_ms is kept as 0; the plugin does not keep empty multiselect containers as task assignments.

updateTaskGroupAssign(...)

Updates a task with the standard Kanboard updateTask arguments plus group_id and other_assignees.

Warning: this method keeps the historical overwrite behavior:

Prefer patchTaskGroupAssign() when you only need to change group/other-assignee fields.

getTaskGroupAssign(id)

Returns:

{
  "task_id": 123,
  "group_id": 45,
  "other_assignee_ids": [7, 8],
  "other_assignees": [
    {
      "id": 7,
      "username": "alice",
      "name": "Alice",
      "email": "alice@example.com",
      "avatar_path": "",
      "is_active": 1
    }
  ],
  "multiselect_id": 67
}

other_assignees contains only public user fields. multiselect_id is an internal container id; use other_assignee_ids for API updates.

patchTaskGroupAssign(id, group_id = null, other_assignees = null)

Safely updates only the assignment fields passed by the caller:

Safe merge flow:

  1. Call getTaskGroupAssign(id).
  2. Merge your intended group_id or other_assignee_ids change locally.
  3. Call patchTaskGroupAssign(id, group_id, other_assignees).
  4. Call getTaskGroupAssign(id) again and verify the returned assignment.

Future enhancments

Find bugs or missing functionality, please report it.

Manual Installation

In the event that you use the master repo, ensure that the directory of the plugin is named Group_assign, or else the plugin will not work.

Screenshots

Task Details:

image

Task Creation/Modification:

image image

Board View:

image

Users Calendar View

image

Automatic Actions:

image

image

image