Skip to main content

A Python client for interacting with the ClickUp API V2.

Project description

ClickUp API V2 Client

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.

Installation

pip install clickup-apiv2

Usage

Initialize the Client

from clickup_apiv2 import Client 

api_token = "your_clickup_api_token"
client = Client(api_token)

Methods

  1. Get Team IDs

Retrieve the IDs of your teams.

team_ids = client.get_team_id()
print("Team IDs:", team_ids)
  1. Get Workspaces

Fetch all workspaces (spaces) for a given team.

team_id = "your_team_id"
workspaces = client.get_workspaces(team_id)
print("Workspaces:", workspaces)
  1. 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)
  1. Get Workspace Lists

Retrieve lists directly under a workspace.

workspace_id = "your_workspace_id"
lists = client.get_workspace_lists(workspace_id)
print("Lists:", lists)
  1. 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)
  1. 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)
  1. 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)
  1. 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)
  1. 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)

Example Workflow

Initialize client

api_token = "your_clickup_api_token"
client = Client(api_token)

Fetch team IDs

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"})

Error Handling

The client handles HTTP errors gracefully by catching requests.exceptions.RequestException and printing a relevant error message.

Contributing

Feel free to submit issues or pull requests to enhance the functionality.

License

This project is licensed under the MIT License.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

clickup-apiv2-0.0.5.tar.gz (4.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

clickup_apiv2-0.0.5-py3-none-any.whl (5.1 kB view details)

Uploaded Python 3

File details

Details for the file clickup-apiv2-0.0.5.tar.gz.

File metadata

  • Download URL: clickup-apiv2-0.0.5.tar.gz
  • Upload date:
  • Size: 4.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.7

File hashes

Hashes for clickup-apiv2-0.0.5.tar.gz
Algorithm Hash digest
SHA256 f84f500bc1a4142439b8f6bc6a6fc14187e3242f9ac58ce939b19645ac26ac6d
MD5 92bdec7117f3135b34f2fd62b03f7480
BLAKE2b-256 d4e6e316b83cb631edfa147d98dd0b079d2059008b0a3bedc85a304eaf15c30b

See more details on using hashes here.

File details

Details for the file clickup_apiv2-0.0.5-py3-none-any.whl.

File metadata

  • Download URL: clickup_apiv2-0.0.5-py3-none-any.whl
  • Upload date:
  • Size: 5.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.7

File hashes

Hashes for clickup_apiv2-0.0.5-py3-none-any.whl
Algorithm Hash digest
SHA256 55ac817b026dc2efeb81afdcd4cfbadab7d383b12d6fd349252e3becfceb13c3
MD5 eb415c9f6a22770e5c879621f8ba98bf
BLAKE2b-256 b991d20d051bff42209c9e0d701bb176b4dba65b237b037076ce5005611597c4

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page