Configure the process
To send a file to a process you need to :
-
Enable the sub-process mode in the process and set Access level to
Public
. -
Create a file data (such as
REQUEST_FILE
) and selectIN
orINOUT
as sub-process parameters.
Create a request with a file as parameter
With GraphQL, you need to use the CreateRequest
method. There are three ways to send a file:
-
Send a file URL
-
Send a base64 file
-
Send an uploaded file
Send a file URL
The file you want to upload needs to be accessible by WorkflowGen. In the URL you can set a physical path accessible by WorkflowGen (prefixed by file:///
) or another URL.
Local file
mutation {
createRequest(input: {
processName: "SIMPLE_REQUEST_FILE",
isTest: true,
parameters:[{
name:"REQUEST_FILE",
fileValue:{
name: "test.txt",
contentType: "text/plain",
size: 616,
url: "file:///C:\\GraphQL\\test.txt"
}
}]
}){
request {
number
}
}
}
To authorize WorkflowGen to access your file, go to the Configuration Panel Integration tab. In the GraphQL section, enter your folder path in the Input file allowed folders (comma separated values) field.
Public file
mutation {
createRequest(input: {
processName: "SIMPLE_REQUEST_FILE",
isTest: true,
parameters:[
{
name:"REQUEST_FILE",
fileValue:{
name: "update.zip",
contentType: "application/zip",
size: 4120858,
url: "http://download.workflowgen.com/product/latest/update.zip"
}
}
]
}) {
request {
number
}
}
}
You can use the above code in the GraphiQL editor (http:\\YOUR_SITE\wfgen\graphql
).
Use a file content parameter
mutation {
createRequest(input: {
processName: "SIMPLE_REQUEST_FILE",
isTest: true,
parameters:[{
name:"REQUEST_FILE",
fileValue:{
name:"test.txt",
contentType:"plain/text",
size:12,
content:"R3JhcGhRTCBGaWxl"
}
}]
}){
request {
number
}
}
}
To authorize WorkflowGen to rebuild the file, go to the Configuration Panel Integration tab. In the GraphQL section, set the size in the Maximum input file content size (kB) field.
You can use the above code in GraphiQL editor (http:\\YOUR_SITE\wfgen\graphql
)
Use an uploaded file
curl -X POST \
http://localhost/wfgen/graphql/
-H 'content-type: multipart/form-data'
-F 'operations={ "query": "mutation ($fileUpload1: Upload) { createRequest(input: {processName: \"SIMPLE_REQUEST_FILE\" processVersion:1 parameters:[{name:\"REQUEST_FILE\" fileValue:{ upload: $fileUpload1}}] }) { request { number } } }", "variables": { "fileUpload1": null } }' \
-F 'map={ "z_file1": ["variables.fileUpload1"] }' \
-F 'z_file1=@C:\GraphQL\test.txt'
Parameter | Description |
---|---|
operations |
The operations field is required, and contains the GraphQL query |
map |
The map field is required and contains the file mappings |
z_file1 |
Each file to be uploaded should contain the alphanumeric key and the file path |
Test
You can use the Postman project to test.