Start an import
Step 3 of 3. Administrators only. Queues the import, which a background worker then carries out one row after another (poll `getImport`). The body names the preview that was approved by its `fingerprint`. The plan is built again at this moment, and if anything it depends on has changed (a status deleted, a person added, another import finished) the answer is 409 `plan_changed` with the new plan, and nothing runs. The new plan is kept as the latest preview, so after reading it the caller commits with its fingerprint, without previewing again. Refusals: 409 `preview_first` (not previewed, or already started), `stale_preview` (a newer preview exists), `import_in_progress` (one import runs per team at a time), 422 `nothing_to_import`. The person who commits is the creator of any issue whose row names no creator. The action is recorded on the security log.
View as MarkdownAuthorization
bearer In: header
Path Parameters
uuidRequest Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X POST "https://example.com/v1/imports/497f6eca-6276-4993-bfeb-53cbbbba6f08/commit" \ -H "Content-Type: application/json" \ -d '{ "fingerprint": "string" }'{ "import": { "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "teamId": "a4ede8ba-7c0a-4485-8763-cbd9b282fbec", "source": "csv", "namespace": "string", "status": "uploaded", "fileName": "string", "fileSize": 0, "totalRows": 0, "createdCount": 0, "skippedCount": 0, "failedCount": 0, "cancelRequested": true, "createdBy": "25a02396-1048-48f9-bf93-102d2fb7895e", "createdAt": "2019-08-24T14:15:22Z", "startedAt": "2019-08-24T14:15:22Z", "finishedAt": "2019-08-24T14:15:22Z", "retryAfter": "2019-08-24T14:15:22Z", "undoneAt": "2019-08-24T14:15:22Z", "undoableUntil": "2019-08-24T14:15:22Z", "commentCount": 0, "mapping": { "v": 1, "columns": { "property1": "string", "property2": "string" }, "idColumn": "string", "idAlias": "string", "people": { "property1": "string", "property2": "string" }, "strict": true, "sprintDates": { "property1": { "start": "2019-08-24", "end": "2019-08-24" }, "property2": { "start": "2019-08-24", "end": "2019-08-24" } }, "linkColumns": [ "string" ], "markup": "none", "commentFormat": "plain", "completedFallback": "string", "dateFormat": "iso", "timezone": "Asia/Kolkata", "labelSeparator": "str", "status": { "property1": { "stateId": "871bb69c-5872-42b2-88b0-72e9da663aaa", "create": true, "type": "backlog" }, "property2": { "stateId": "871bb69c-5872-42b2-88b0-72e9da663aaa", "create": true, "type": "backlog" } }, "priority": { "property1": 0, "property2": 0 } } }}Say exactly what an import would do
Step 2 of 3. Administrators only. Takes the column mapping and returns the plan: how many rows would be created, skipped (already imported) or refused, which statuses, labels and projects would be created, which people in the file are not members, the problems found, and the first few rows as they would be written. Nothing is written to the team. Can be repeated, and each call replaces the last. `plan.fingerprint` identifies the plan: commit must carry the fingerprint of the most recent preview. A mapping that cannot be used is a 422 listing every problem together. Only an import that has not been started can be previewed (409 otherwise).
Cancel an import
Administrators only. An import that has not started is closed at once and its file deleted. One that is running is asked to stop (`cancelRequested`) and does so within a few rows, leaving what it has already written: a later import of the same file finishes the rest without duplicating anything. One that has finished is a 409 `already_finished`. The action is recorded on the security log.