2.4 KiB
2.4 KiB
Project import API
Introduced in GitLab 10.6
See also the project import/export documentation
Import a file
POST /projects/import
Attribute | Type | Required | Description |
---|---|---|---|
namespace |
integer/string | no | The ID or path of the namespace that the project will be imported to. Defaults to the current user's namespace |
file |
string | yes | The file to be uploaded |
path |
string | yes | Name and path for new project |
To upload a file from your filesystem, use the --form
argument. This causes
cURL to post data using the header Content-Type: multipart/form-data
.
The file=
parameter must point to a file on your filesystem and be preceded
by @
. For example:
curl --request POST --header "PRIVATE-TOKEN: 9koXpg98eAheJpvBs5tK" --form "path=api-project" --form "file=@/path/to/file" https://gitlab.example.com/api/v4/projects/import
{
"id": 1,
"description": null,
"name": "api-project",
"name_with_namespace": "Administrator / api-project",
"path": "api-project",
"path_with_namespace": "root/api-project",
"created_at": "2018-02-13T09:05:58.023Z",
"import_status": "scheduled"
}
Import status
Get the status of an import.
GET /projects/:id/import
Attribute | Type | Required | Description |
---|---|---|---|
id |
integer/string | yes | The ID or URL-encoded path of the project owned by the authenticated user |
curl --header "PRIVATE-TOKEN: 9koXpg98eAheJpvBs5tK" https://gitlab.example.com/api/v4/projects/1/import
Status can be one of none
, scheduled
, failed
, started
, or finished
.
If the status is failed
, it will include the import error message under import_error
.
{
"id": 1,
"description": "Itaque perspiciatis minima aspernatur corporis consequatur.",
"name": "Gitlab Test",
"name_with_namespace": "Gitlab Org / Gitlab Test",
"path": "gitlab-test",
"path_with_namespace": "gitlab-org/gitlab-test",
"created_at": "2017-08-29T04:36:44.383Z",
"import_status": "started"
}