To go a little deeper into the question,
1) you do not need to configure DevTest as a slave within Jenkins.
2) As others have pointed out, check your cURL command. Most GET calls can be accomplished without specifying -X GET as HTTP method as cURL assumes GET.
3) Is there a particular reason the pipeline is attempting to attach a file? Normally, this would constitute a POST not GET.
sh('curl -F file=@/Projects/GIT/Project/Tests/XYZ.tst GET http://HOST:1505/lisa-invoke/runTest?testCasePath=Projects/GIT/Project/Tests/XYZ.tst&stagingDocPath=Projects/GIT/Project/Tests/StagingDocs/Run1User1Cycle.stg')
The pattern used by the lisa-invoke command is (http://<yourSvr>:1505/lisa-invoke/ see: LISA Invoke - DevTest Solutions - 10.1 - CA Technologies Documentation):
http://<DevTestServer>:1505/lisa-invoke/runTest?testCasePath=testCasePath&[stagingDocPath=stagingDocPath]&[configPath=configPath]&[async=true]&[coordName=csName]
4) You did not specify the version of DevTest, however, in later versions, you will likely need to pass a userId and Password in the cURL command as well. The pattern is: -u <userName>:<pwd> or use the Jenkins Credential Store to set up and use a "withCredentials" mechanism. Or you can store it as plain text and cURL will convert it to Basic Auth.
Notes on attaching files:
- cURL needs access to the location of the file attachment so it can be sent to DevTest as an attachment. So, the location of the attachment is in Jenkins' Workspace, not DevTest's file system. In some Jenkins setups, both slaves and masters can have their own independent workspaces. This can make accessing the Jenkins Workspace confusing. Make certain to understand your Jenkins installation to determine how and where files are stored and the proper technique for accessing the location of the file(s) when sending attachments.
For those interested, following is an example of a cURL using Jenkins withCredentials where the DevTest userId and password are stored in a Jenkins Credential store in a credential called devtest_user:
withCredentials([usernamePassword(credentialsId: 'devtest_user', passwordVariable: 'DT_PWD', usernameVariable: 'DT_USER')]) {
// use fully qualified paths to the assets, these could be parameterized if desired
def rsp = sh returnStdout: true, \
script: """curl -i -X GET -u ${DT_USER}:${DT_PWD} \"http://<DevTestServer>:1505/lisa-invoke/runTest?testCasePath=/path/to/test/XYZ.tst&stagingDocPath=/path/to/StagingDocs/Run1User1Cycle.stg&configPath=/path/to/Configs/Project.config\" """
// logic to check rsp and do other work, if necessary
}