-
Notifications
You must be signed in to change notification settings - Fork 0
Project Module
Christian KASSE edited this page Apr 2, 2026
·
2 revisions
Project management: projects, tasks, milestones, resource allocations, task comments, and reports.
Accessor: client.project
| Resource | Accessor | Description |
|---|---|---|
| Projects | client.project.projects |
Project management |
| Tasks | client.project.tasks |
Task tracking |
| Milestones | client.project.milestones |
Project milestones |
| Resource Allocations | client.project.resource_allocations |
Resource assignments |
| Task Comments | client.project.task_comments |
Task discussion comments |
| Reports | client.project.reports |
Project reports |
from essabu import Essabu
client = Essabu(api_key="esa_live_xxx", tenant_id="tenant-id")
project = client.project.projects.create(
name="Website Redesign",
description="Complete redesign of the corporate website",
start_date="2026-04-01",
end_date="2026-09-30",
budget=50000,
currency="USD",
manager_id="user-uuid",
)
projects = client.project.projects.list(status="active")
client.project.projects.update(project["id"], status="in_progress")task = client.project.tasks.create(
project_id=project["id"],
title="Design mockups",
description="Create wireframes and high-fidelity mockups",
assignee_id="user-uuid",
priority="high",
due_date="2026-04-15",
estimated_hours=40,
)
tasks = client.project.tasks.list(project_id=project["id"], status="todo")
client.project.tasks.update(task["id"], status="in_progress", progress=50)
for page in client.project.tasks.list_all(project_id=project["id"]):
for t in page.data:
print(f"{t['title']}: {t['status']}")milestone = client.project.milestones.create(
project_id=project["id"],
name="Design Phase Complete",
due_date="2026-05-01",
description="All design deliverables approved",
)
milestones = client.project.milestones.list(project_id=project["id"])
client.project.milestones.update(milestone["id"], status="completed")allocation = client.project.resource_allocations.create(
project_id=project["id"],
user_id="user-uuid",
role="Designer",
allocation_percentage=80,
start_date="2026-04-01",
end_date="2026-05-31",
)comment = client.project.task_comments.create(
task_id=task["id"],
author_id="user-uuid",
body="Mockups are ready for review.",
)
comments = client.project.task_comments.list(task_id=task["id"])
client.project.task_comments.delete(comment["id"])report = client.project.reports.create(
project_id=project["id"],
type="progress",
period="2026-Q2",
)
details = client.project.reports.retrieve(report["id"])Getting Started
Core Concepts
Modules
Advanced