diff options
author | Michael Leopard <mleopard@gitlab.com> | 2018-07-10 16:55:56 +0300 |
---|---|---|
committer | Michael Leopard <mleopard@gitlab.com> | 2018-07-10 16:55:56 +0300 |
commit | a68ea57d619f02b10e605cc39448b136e651d2db (patch) | |
tree | 75d18250d37a4c5fa0f9a39107a0d78b3eb60caa /doc | |
parent | d01e5a04ccee4659fdab8f381a12201daa1c8cb5 (diff) |
Update project_import_export.md to include example remote import script and additional curl command
Diffstat (limited to 'doc')
-rw-r--r-- | doc/api/project_import_export.md | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/doc/api/project_import_export.md b/doc/api/project_import_export.md index 085437c801a..1d307df4d0f 100644 --- a/doc/api/project_import_export.md +++ b/doc/api/project_import_export.md @@ -32,6 +32,14 @@ POST /projects/:id/export curl --request POST --header "PRIVATE-TOKEN: 9koXpg98eAheJpvBs5tK" https://gitlab.example.com/api/v4/projects/1/export --data "description=FooBar&upload[http_method]=PUT&upload[url]=https://example-bucket.s3.eu-west-3.amazonaws.com/backup?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIMBJHN2O62W8IELQ%2F20180312%2Feu-west-3%2Fs3%2Faws4_request&X-Amz-Date=20180312T110328Z&X-Amz-Expires=900&X-Amz-SignedHeaders=host&X-Amz-Signature=8413facb20ff33a49a147a0b4abcff4c8487cc33ee1f7e450c46e8f695569dbd" ``` +Some systems may require the upload url to be url-encoded: + +```console +curl --request POST --header "PRIVATE-TOKEN: 9koXpg98eAheJpvBs5tK" https://gitlab.example.com/api/v4/projects/1/export \ + --data "upload[http_method]=PUT" \ + --data-urlencode "upload[url]=https://example-bucket.s3.eu-west-3.amazonaws.com/backup?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIMBJHN2O62W8IELQ%2F20180312%2Feu-west-3%2Fs3%2Faws4_request&X-Amz-Date=20180312T110328Z&X-Amz-Expires=900&X-Amz-SignedHeaders=host&X-Amz-Signature=8413facb20ff33a49a147a0b4abcff4c8487cc33ee1f7e450c46e8f695569dbd" +``` + ```json { "message": "202 Accepted" @@ -125,6 +133,29 @@ 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 ``` +cURL doesn't support posting a file from a remote server. Importing a project from a remote server can be accomplished through something like the following: + +```python +import requests +import urllib +import json +import sys + +s3_file = urllib.urlopen(presigned_url) + +url = 'https://gitlab.example.com/api/v4/projects/import' +files = {'file': s3_file} +data = { + "path": "example-project", + "namespace": "example-group" +} +headers = { + 'Private-Token': "9koXpg98eAheJpvBs5tK" +} + +requests.post(url, headers=headers, data=data, files=files) +``` + ```json { "id": 1, |