Skip to main content

render-lab-tasks-zendesk

Unreleased Python port: 11 registered tasks from render-lab/render-tasks. Python 3.12+, Render SDK 1.0.1. Requires core 0.1.1 or later.

From the repository root:

uv sync --all-packages --locked

Import render_lab_tasks_zendesk.tasks to register tasks. The package root is inert. Compose the exported app with Workflows.from_workflows; call tasks through ctx.run. Every operation also exports *_impl(ctx, input, *, deps=None) for injection. Client(http, env) accepts a caller-owned HTTPX client, and Deps(zendesk=client) injects it. Default dependencies open and close the HTTP client per invocation; credentials are read lazily at use. No HTTP retries or background vendor polling occur; retry.py owns the durable retry policies.

Task surface

Registered task Python export
zendesk.awaitJob await_job
zendesk.createTicket create_ticket
zendesk.getJobStatus get_job_status
zendesk.getTicket get_ticket
zendesk.incrementalExportTickets incremental_export_tickets
zendesk.listTicketComments list_ticket_comments
zendesk.replyToTicket reply_to_ticket
zendesk.searchTickets search_tickets
zendesk.startBulkUpdate start_bulk_update
zendesk.updateTicket update_ticket
zendesk.verifyWebhook verify_webhook

Typed JSON inputs and results are in types.py. Task names and JSON field names match the pinned source; Python function names use snake_case.

Environment

Variable Requirement
ZENDESK_SUBDOMAIN Required for REST calls.
ZENDESK_OAUTH_TOKEN Preferred REST bearer token.
ZENDESK_EMAIL Required with ZENDESK_API_TOKEN when no OAuth token is set.
ZENDESK_API_TOKEN Basic-auth fallback with ZENDESK_EMAIL.
ZENDESK_WEBHOOK_SECRET Required only for verify_webhook; no REST credentials needed.

Behavior and limits

Writes preserve safe_update and the caller’s updated_stamp. A 409 from update_ticket raises ZendeskUpdateConflictError with ticketId; re-fetch and decide whether to replay the change. The pinned durable retry policy still retries task errors, so this error class alone does not bypass Render retries. Bulk updates cap at 100 tickets, pages at 100 records, and returned page arrays at 3.5 MB. Signature checks use HMAC-SHA256 over timestamp + rawBody, constant-time comparison, and a default 300-second age limit. Jobs, cursor search support, and real webhook timestamps need live verification.

Verification

All registered tasks have hermetic contract fixtures executed independently against the pinned TS implementation. SDK-backed tasks also have explicit HTTP request fixtures. See tests/test_batch3_contracts.py and tests/test_batch3_edges.py. These are not live vendor results.

Vendor webhooks subpaths and other registration-free TS exports are outside this batch unless explicitly listed above. Full registered-task coverage does not imply all supporting exports are ported.

Pending scopes, test resources, replay, and hosted checks are in the live-testing backlog and verification tracker.

Webhook adapter

render_lab_tasks_zendesk.webhooks.zendesk_adapter(on_event, ...) returns a registration-free adapter for render_lab_triggers. The callback receives the verified event and returns {"task": "namespace.task", "args": [event]} or None. The signing credential ZENDESK_WEBHOOK_SECRET is read inside verification unless provided explicitly. Importing this module does not register tasks. Signature checks use the raw body; live delivery remains in the testing backlog.

Installation

pip install render-lab-tasks-zendesk==0.1.0

Download files

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

Source Distribution

render_lab_tasks_zendesk-0.1.0.tar.gz (10.2 kB view details)

Uploaded Source

Built Distribution

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

render_lab_tasks_zendesk-0.1.0-py3-none-any.whl (17.1 kB view details)

Uploaded Python 3

File details

Details for the file render_lab_tasks_zendesk-0.1.0.tar.gz.

File metadata

  • Download URL: render_lab_tasks_zendesk-0.1.0.tar.gz
  • Upload date:
  • Size: 10.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for render_lab_tasks_zendesk-0.1.0.tar.gz
Algorithm Hash digest
SHA256 e308da1fbb79a3499c2cb99639a95038a4050deb72ebc7c2f5f7a7abd27c3148
MD5 707c9dd2560dcabc0ad44643cc4b055f
BLAKE2b-256 d63e58b9817472f3d2c9f15e425f563b70d0c31910ee31465094800d33174ecb

See more details on using hashes here.

Provenance

The following attestation bundles were made for render_lab_tasks_zendesk-0.1.0.tar.gz:

Publisher: publish.yml on render-lab/render-tasks-python

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file render_lab_tasks_zendesk-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for render_lab_tasks_zendesk-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 cca4d9225bee16a6594af6cc27b0d8a000de19f42b19ad4305de577f1856a94f
MD5 d9db1e0434d58347b17b73d0933ed589
BLAKE2b-256 009db866d7896156af4c998c8a2ebf940d77e2b213d2163386557884231ca04c

See more details on using hashes here.

Provenance

The following attestation bundles were made for render_lab_tasks_zendesk-0.1.0-py3-none-any.whl:

Publisher: publish.yml on render-lab/render-tasks-python

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page