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'