TaskJuggler Playground

TaskJuggler 3.8.4 を段階的に学ぶためのサンプル集。

各段階に実際に動く .tjp と、その段階の解説を置いてある。
条件だけを変えた比較になるよう作ってあるので、読むだけでなく数値の差で確認できる。

各段階のページには、解説・tj3 が生成したレポート・tjp のソースがまとまっている。
環境を用意しなくてもブラウザだけで読み進められる。

学習ロードマップ

各段階に詳しい解説がある。番号順に進めるのが前提。

# 段階 概要
01 基礎 プロジェクト宣言からレポート出力までの最小の一往復。effort / duration / length の違いを押さえる
02 構造 タスクをツリーに組み、依存を張る。! !! 絶対パスの参照記法とマイルストーン
03 リソース 「誰が」を精密に表現する。複数割当・efficiency・limits・代替リソース
04 カレンダー 「いつ働けるか」の定義。稼働時間・祝日・休暇・シフト。日本の営業日を扱う
05 制約 スケジューラへの指示。ASAP/ALAP・日付固定・priority による競合解決・事後検査
06 進捗と実績 実績を入れて残作業を再計算させる。booking と complete の使い分け
07 レポート 出力の作り分け。列のカスタマイズ・CSV・時系列集計・ページ合成
08 フィルタ 論理式で「何を出すか」を絞る。組み込み関数とスコープ評価
09 シナリオ 同じ計画を条件違いで同時にスケジュールし、横並びで比較する
10 コスト 工数計画から原価と収支を出す。勘定科目・単価・按分
11 モジュール化 規模が大きくなったときのファイル分割。マクロ・supplement・独自属性
12 運用 状況記録・報告書の自動生成・タイムシート。継続運用に乗せる

段階のつながり

06 の実績追跡は 09 のシナリオ機能の上に乗っており、
06 で実績を扱ってから 11 の supplement に進むと、
計画と実績を分離する実務パターンの意味が腑に落ちる。

用語メモ

リファレンスの引き方

構文は推測せずに必ず引く。公式マニュアルがそのまま 3.8.4 のリファレンスになっている。

各段階の「学ぶ内容」に挙げたキーワードは、公式マニュアルの該当ページへリンクしてある。
冒頭に Warning が出るキーワードは非推奨か未テスト。

横断的なハマりどころ

段階固有の注意点は各段階の「ハマりどころ」に書いてある。
ここには複数段階にまたがるものと、段階をまたいで引きたい索引
(「書く場所」「非推奨・未テストのキーワード」) を置く。

日付とタイムゾーン

project ヘッダの日付は timezone 属性を読む前に解釈されるため UTC 基準になる。
timezone "Asia/Tokyo" を指定していても project x "..." 2026-08-03 +2m の開始は
2026-08-03 09:00 JST になり、booking や start で 8/3 0:00 を指すと
「must be within the project time frame」エラーになる。

対処: プロジェクト開始を前の週末側に広げる (06 と 10 はこの方法をとっている)。

区間指定の終了日は 0 時に展開されるため、終了日当日は含まれない。
2026-08-13 - 2026-08-17 は 8/13〜8/16 の 4 日間になる。
leaves の期間 (04) にも booking の期間 (06) にも同じ規則が効く。

書く場所

要素 書く場所
leaves トップレベル (properties スコープ)。project {} の中ではない
extend / scenario / trackingscenario project {} の中
balance トップレベル、またはレポートの中
include タスク定義の中には書けない。taskprefix 付きでトップレベルに置く

論理式 (05・07・08 で共通)

レポート出力

非推奨・未テストのキーワード