Hi drodspike,
Thanks.
The SCM class not longer hard codes all that information. In later versions of the plugin everything is built on the fly. So instead of specifying P4PORT and P4USER you pull in the Jenkins credential that encapsulates P4PORT, P4USER and P4PASSWD:
<credential>p4-userpass</credential>
P4CLIENT is also dynamically built based on 'name':
<name>jenkins-${NODE_NAME}-${JOB_NAME}-${EXECUTOR_NUMBER}</name>
For example if your node is WIN10, your job is mybuild and it runs on executor (Jenkins build thread) 1 the P4CLIENT (variable P4_CLIENT) would be:
If you knew the job only ever runs on one node you could hard code the client name in the job definition to be 'ci-admin-ui-4.2'.
As for the error its occurring after P4Jenkins has finished and after the command "/data/jenkins_home/tools/apache-maven-3.6.3/bin/mvn -s " has executed. Also P4Jenkins doesnt use the 'p4' binary it uses P4Java that is dynamically sent to the slave as teh job executes:
Note that it's running '/bin/sh -c p4'. So if this is not Maven then it is another script or job that is being executed by the Jenkins job.
The problem is that the P4CLIENT being built on the fly is not being passed to the environment that the job is executing under which is why I think it needs to be passed or picked up explicitly. For example if it's bash try using 'export P4CLIENT=P4_CLIENT'.
For example below is the output when I run a shell script from the job that displaye P4CLIENT and P4_CLIENT: 
Note that P4CLIENT is not set but P4_CLIENT is.
Hi Karl, I really appreciate the quick response to my issue.
What I'm attempting to do is test upgrading our Jenkins1 (v1.651.2) environment to Jenkins2 (v2.222.1) before upgrading our production jenkin server and slaves. I was hoping that the upgrade was simply allowing the new p4@1.10.12 plugin manage the necessary scm class changes to create the p4 client to run the job without having to make additional changes. Note that we are NOT using P4Maven for our Perforce jobs.
Below is a snippet from the jenkins1 job config.xml versus the jenkins2 job config.xml after the upgrade. Note that the jenkins1 job.xml specifies the p4client and the jenkins2 job.xml does NOT . Is there a reason for that? I also attached the jenkins1 job config.xml and build log before the upgrade for your review.
Snippet from the jenkins1 job config.xml 'scm class' for plugin="perforce@1.3.35" BEFORE the upgrade.
The scm class specifies the tag <p4Client>ci-admin-ui-4.2</p4Client> .
Below is a snippet from the jenkins2 job config.xml 'scm class' plugin="p4@1.10.12" AFTER the upgrade
The new scm class does NOT specify the <p4Client>**