The TaskJuggler User Manual

Project Management beyond Gantt Chart Drawing

<< alertlevels << Table Of Contents >> alternative >>

Keyword allocate List Attribute


Specify which resources should be allocated to the task. The attributes provide numerous ways to control which resource is used and when exactly it will be assigned to the task. Shifts and limits can be used to restrict the allocation to certain time intervals or to limit them to a certain maximum per time period. The purge statement can be used to remove inherited allocations or flags.

For effort-based tasks the task duration is clipped to only extend from the beginning of the first allocation to the end of the last allocation. This is done to optimize for an overall minimum project duration as dependent tasks can potentially use the unallocated, clipped slots.

Syntax allocate <resource> [{ <attributes> }] [, <resource> [[, ... ]]...]
Arguments resource [ID]
The ID of a defined resource
Context task, supplement (task)

Attributes alternative, mandatory, persistent, select, shifts (allocate)

resource r1 "Resource 1"
resource r2 "Resource 2"

task t1 "Task 1" {
  start 2003-06-05
  # All sub-tasks inherit this allocation of r1
  allocate r1
  task t2 "Task 2" {
    effort 10d
  task t3 "Task 3" {
    effort 20d
    # This task has r1 and r2 allocated
    allocate r2

<< alertlevels << Table Of Contents >> alternative >>

Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020 by Chris Schlaeger <>.TaskJuggler is a trademark of Chris Schlaeger.