A Python client for interacting with the ClickUp API V2, providing convenient methods to fetch data, update tasks, and manage custom fields. Features
- Retrieve team IDs.
- Fetch workspaces, folders, lists, and tasks.
- Get custom fields for a specific list.
- Update task attributes.
- Set custom field values for tasks.
pip install clickup-apiv2
Initialize the Client
from clickup_apiv2 import Client
api_token = "your_clickup_api_token"
client = Client(api_token)
- Get Team IDs
Retrieve the IDs of your teams.
team_ids = client.get_team_id()
print("Team IDs:", team_ids)
- Get Workspaces
Fetch all workspaces (spaces) for a given team.
team_id = "your_team_id"
workspaces = client.get_workspaces(team_id)
print("Workspaces:", workspaces)
- Get Workspace Folders
Fetch all folders within a specific workspace.
workspace_id = "your_workspace_id"
folders = client.get_workspace_folders(workspace_id)
print("Folders:", folders)
- Get Workspace Lists
Retrieve lists directly under a workspace.
workspace_id = "your_workspace_id"
lists = client.get_workspace_lists(workspace_id)
print("Lists:", lists)
- Get Folder Lists
Fetch lists contained within a folder.
folder_id = "your_folder_id"
lists = client.get_folder_lists(folder_id)
print("Folder Lists:", lists)
- Get List Tasks
Retrieve all tasks in a specific list.
list_id = "your_list_id"
tasks = client.get_list_tasks(list_id)
print("Tasks:", tasks)
- Get List Custom Fields
Fetch all custom fields for a list.
list_id = "your_list_id"
custom_fields = client.get_list_custom_fields(list_id)
print("Custom Fields:", custom_fields)
- Update a Task
Update attributes of a task (e.g., name, status).
task_id = "your_task_id"
update_task_data = {
"name": "New Task Name",
"status": "in progress"
}
response = client.update_task(task_id, update_task_data)
print("Task Update Response:", response)
- Set Task Custom Field Value
Set or update a custom field value for a task.
task_id = "your_task_id"
field_id = "your_field_id"
custom_field_data = {"value": "New Value"}
response = client.set_task_custom_field_value(task_id, field_id, custom_field_data)
print("Set Custom Field Response:", response)
api_token = "your_clickup_api_token"
client = Client(api_token)
team_ids = client.get_team_id()
if team_ids:
team_id = team_ids[0]
# Get workspaces
workspaces = client.get_workspaces(team_id)
print("Workspaces:", workspaces)
if workspaces:
workspace_id = workspaces[0]["id"]
# Get lists in workspace
lists = client.get_workspace_lists(workspace_id)
print("Lists:", lists)
if lists:
list_id = lists[0]["id"]
# Get tasks in the list
tasks = client.get_list_tasks(list_id)
print("Tasks:", tasks)
if tasks:
task_id = tasks[0]["id"]
# Update a task
update_data = {"status": "completed"}
client.update_task(task_id, update_data)
# Set custom field value
field_id = "your_field_id"
client.set_task_custom_field_value(task_id, field_id, {"value": "Updated Value"})
The client handles HTTP errors gracefully by catching requests.exceptions.RequestException and printing a relevant error message.
Feel free to submit issues or pull requests to enhance the functionality.
This project is licensed under the MIT License.