Skip to content

Taiga#

Taiga supports native User Stories, Tasks, Issues, and Epics CSV import through the shared reviewable provider-import flow.

Capabilities#

Capability Taiga behavior Status
CSV_IMPORT Strictly identify and parse one native User Stories, Tasks, Issues, or Epics report into projected TeamBoost task drafts Built
SYNC Pull work items through the Taiga REST API Not built
USER_IMPORT Pull project users during API sync Not built
WEBHOOK Verify Taiga webhook callbacks Not built

Export and upload#

In Taiga, open the project and go to Admin → Project → Reports. Generate the desired User Stories, Tasks, Issues, or Epics report URL if needed, then download that report's CSV. The generated URL is a bearer link, so keep it private and regenerate or remove it after use.

Upload the downloaded file through the generic endpoint:

POST /api/v1/providers/taiga/imports/csv

The endpoint requires the normal TeamBoost user token and organization scope. The upload creates a review session; it does not immediately create TeamBoost tasks.

Each upload must be exactly one native work-item report. The four report shapes are detected using their distinct required columns; unknown, incomplete, or ambiguous combinations are rejected with invalid_csv_format.

Mapping behavior#

Taiga value TeamBoost draft Behavior
subject title Direct; a title shorter than two characters is a blocking projection error
User Story / Task / Epic kind type Defaults to OTHER with a mapping note; provider hierarchy is not assumed to be a TeamBoost task type
Issue type type Bug/Defect maps to BUG, Fix maps to FIX; custom or ambiguous types default to OTHER with a note
description description Direct
Recognized status labels status Blocked, backlog/to-do, in-progress, done/closed, and canceled/rejected labels map conservatively; custom labels leave status unset with a note
Issue priority priority Low, Medium/Normal, High, and Urgent/Critical map directly; custom names use UNKNOWN with a note
No User Story / Task / Epic priority priority UNKNOWN with a mapping note
tags labels CSV comma-separated tags are retained
owner creatorId / requestedById Resolved through the review session's user mapping; an unmapped creator is non-blocking and remains unset
assigned_to / User Story assigned_users ownerId The first source-order assignee is selected; a present unmapped assignee blocks confirmation, and multiple User Story assignees add a review note
due_date plannedEndDate Date-only values use the end of that UTC day
Project projectTitle Left unset because the CSV report has no project identity
Task parent User Story, Issue severity, sprint, swimlane, points, relations, dynamic/custom columns descriptionJson.exportFields Preserved as source context without inventing TeamBoost groups, shared fields, or dependencies

Every CSV column is preserved in the session's lossless source record, including empty and dynamic role-point/custom-attribute values. UTF-8 files with or without a BOM and standard CSV quoted commas/newlines are supported. Invalid dates, booleans, row widths, or required row values are reported as row errors.

Review requirements#

Before confirming the session:

  1. Review OTHER task-type and UNKNOWN priority defaults, especially custom Issue type/priority names.
  2. Choose a project if the draft needs one; the CSV does not identify it.
  3. Resolve every present assignee to a TeamBoost member.
  4. Review custom statuses and multi-assignee notes.
  5. Inspect provider-only severity, sprint, hierarchy, point, and custom-field context.

projectionErrors block confirmation. mappingNotes are advisory and remain visible for operator review.

Not built yet#

  • API credential verification, selected-project sync, and sync-coupled user import. Hosted Taiga application tokens require external-application registration and are not currently available through a normal end-user self-service flow, so this release does not declare API capabilities. The provider-agnostic credential endpoint may store an opaque Taiga value, but that does not enable sync; verification returns capability_not_supported.
  • Webhook verification, replay protection, and event processing.