Upload Input File
A REST request is made to the GMUS to upload an input file with the G-Repository Client. The request uploads a file to a specified location on the server. It requires a G-Repository Client name, which can be any G-Repository Client, for license validation purposes.
- The file is passed as a raw binary stream in the request body (application/octet-stream).
- The metadata is passed in the custom request header jsonRequest as a JSON string.
URL - http://<GMUS_IP>:8090/rest/repoUploadFile
Required Headers
Accept: application/json
Content-Type: application/octet-stream
jsonRequest: JSON string containing metadata about the file upload (see table below).
jsonRequest Parameters
| Parameter | Required | Description |
| clientAppId | Yes | Application identifier. |
| clientUserId | Yes | User Identifier within the application. |
| username | Yes | User's email address. |
| repoName | Yes | G-Repository Client name. Can be any G-Repository Client (used for license validation) |
| filePath | Yes | Location on the Server where the file needs to be uploaded. |
| fileSubDir | Optional | An optional subdirectory where the file will be stored. |
| fileName | Yes | The name that will be given to the uploaded file. |
| profileId | No | Required only when the file path is a resource variable. An example is provided below. |
jsonRequest Example
{
"clientAppId": "XXXXXXXX-1e47-abcd-ba66-XXXXXXXXXXXX",
"clientUserId": "XXXXXXXX-abcd-4284-aa45-XXXXXXXXXXXX",
"username": "jane.doe@gmail.com",
"repoName": "sampleRepo",
"filePath": "/home/jDoe/Downloads/output",
"fileSubDir": "output1",
"fileName": "Test.json"
}Note: For Windows machines, the filePath should have two slashes: C:\\Users\\jDoe\\Downloads\\output.
If you choose to provide the Resource Variable as a file path, you must also include the profileId parameter. You can obtain the Profile ID from the "My Organization" page within the GenRocket Web Platform.
{
"clientAppId": "XXXXXXXX-1e47-abcd-ba66-XXXXXXXXXXXX",
"clientUserId": "XXXXXXXX-abcd-4284-aa45-XXXXXXXXXXXX"",
"username": ""jane.doe@gmail.com",
"repoName": "sampleRepo",
"filePath": "#{resource.output.directory}",
"profileId":"<PROFILE_ID>",
"fileSubDir": "output1",
"fileName": "Test.json",
}Request Body - contains the file that needs to be uploaded
curl --location 'http://<GMUS_IP>:8090/rest/repoUploadFile' \
--header 'Accept: application/json' \
--header 'Content-Type: application/octet-stream' \
--header 'jsonRequest: {
"clientAppId": "XXXXXXXX-1e47-abcd-ba66-XXXXXXXXXXXX",
"clientUserId": "XXXXXXXX-abcd-4284-aa45-XXXXXXXXXXXX",
"username": "jane.doe@gmail.com",
"repoName": "sampleRepo",
"filePath": "/home/jDoe/Downloads/output",
"fileSubDir": "output1",
"fileName": "Test.json"
}' \
--data-binary '@/home/jDoe/Downloads/jsontest.json'