PTC with Jenkins on Deployment based on the Build request which raised on PTC
You can pass your data using environment variables or through job parameters. 

Here's an example of setting environment variables in a pipeline:



pipeline {
    agent any
    environment {
        FILE = "Makefile"
        SERVER = "example.com"
        VERSION = "v1.1.0"
    }
    stages {
        stage ('build') {
            steps {
                echo "VERSION is: $VERSION"
                bat "script.exe ${version} ${server} ${file}"
            }
        }
    }
}


If you want to use parameters instead you could do so in the following pipeline example:

pipeline {
  agent any
  parameters {
    string(description: 'file', name: 'file')
    string(description: 'server', name: 'server')
    string(description: 'version', name: 'version')
  }
  stages {
    stage("foo") {
      steps {
        echo "VERSION is: ${params.version}"
        bat "script.exe ${params.version} ${params.server} ${params.file}"
      }
    }
  }
}


See the following documentation for building a parameterized pipeline:
https://github.com/jenkinsci/pipeline-model-definition-plugin/wiki/Parametrized-pipelines

If you're using a freestyle job it's slightly different but you can find detailed instructions here:
https://wiki.jenkins.io/display/JENKINS/Parameterized+Build