Crate clickup

Crate clickup 

Source
Expand description

Cliente completo da API ClickUp

Este crate fornece uma interface tipo-segura e ergonômica para interagir com a API do ClickUp, incluindo funcionalidades avançadas como:

  • Smart folder finder (busca fuzzy de folders)
  • Smart assignee finder (busca fuzzy de assignees)
  • Custom fields manager (gerenciamento de campos personalizados)
  • Fuzzy matching utilities (normalização e comparação de strings)

§API ClickUp v2

Este crate utiliza exclusivamente a API v2 do ClickUp que é estável e suporta todos os recursos necessários:

  • Spaces: /team/{team_id}/space
  • Folders: /space/{space_id}/folder
  • Lists: /folder/{folder_id}/list
  • Tasks: /list/{list_id}/task, /team/{team_id}/task
  • Custom Fields: /list/{list_id}/field
  • Webhooks: /team/{team_id}/webhook
  • Attachments: Endpoints de upload/download

§Nomenclatura

O crate usa a nomenclatura workspace_id para consistência conceitual:

  • workspace_id (internamente, mas mapeado para team_id na API v2)
  • ✅ Variáveis de ambiente: CLICKUP_WORKSPACE_ID (com fallback para CLICKUP_TEAM_ID)

§Exemplo Básico

use clickup::{ClickUpClient, folders::SmartFolderFinder};

#[tokio::main]
async fn main() -> clickup::Result<()> {
    // IMPORTANTE: Ler de variáveis de ambiente (NUNCA hardcode!)
    let api_token = std::env::var("CLICKUP_API_TOKEN")
        .expect("CLICKUP_API_TOKEN não configurado");
    let workspace_id = std::env::var("CLICKUP_WORKSPACE_ID")
        .expect("CLICKUP_WORKSPACE_ID não configurado");

    let client = ClickUpClient::new(api_token)?;

    // Usa internamente "workspace_id" mas chama API v2
    let mut finder = SmartFolderFinder::new(client, workspace_id);
    let result = finder.find_folder_for_client("Nexcode").await?;

    Ok(())
}

Re-exports§

pub use client::ClickUpClient;
pub use client::CreateListRequest;
pub use client::ListInfo;
pub use error::ClickUpError;
pub use error::Result;
pub use types::Assignee;
pub use types::CustomField;
pub use types::CustomFieldValue;
pub use types::Priority;
pub use types::Status;
pub use types::Task;
pub use types::TaskBuilder;
pub use types::User;

Modules§

assignees
client
Cliente HTTP para a API do ClickUp
error
Tipos de erro para o crate clickup
fields
folders
matching
Utilitários de fuzzy matching e normalização de strings
tasks
types
Tipos do ClickUp API
webhooks
ClickUp Webhooks API