using the mid.jar MANIFEST.MF build details to get the actual ServiceNow version?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
02-08-2026 07:08 PM - edited 02-08-2026 07:09 PM
Hi,
We face a challenge with instance upgrades (full and patch) and our CyberArk (CP) integrations. The CyberArk Hash value for mid.jar changes with each version.
We have semi-automated the generation of the Hash value as follows:
- Download the new version of the MID Server Agent zip file from install.service-now.com to the MID Server host (using the build date and tag information)
- Extract the contents of the zip file into a temporary directory
- from the instance (via a custom widget and using a custom flow / powershell), execute the Cyberark Hash utility against extracted mid.jar file
- this will return the hash value and get the package.filename value from agent\packaage\meta\mid-core.meta.properties
I'd like to get to the stage where we only extract the mid.jar file and determine the ServiceNow version from mid.jar. The issue is I cannot find the "friendly" ServiceNow version from the mid.var file. I can get the build info from the manifest file, but have no idea how to get the ServiceNow version from that
- Is anyone aware how to use the MANIFEST.MF (\agent\lib\mid.jar\META-INF\) information in the JAR file to get the ServiceNow version?
- is there anything else in mid.jar that can be used to get the version?
thanks,
Steve
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
02-08-2026 09:08 PM
Please refer this links, see if it helps you:
How does a MID Server know what version it is running? - Support and Troubleshooting
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
02-08-2026 09:28 PM
Thanks for this. I was aware of these files. I am trying to determine the version from mid.jar. It changes in each release (which causes the CyberArk utility to generate a different Hash value).
Hoping anyone with knowledge of mid.jar or any ServiceNow API / lookup for mid.jar build details would chime in if possible (or impossible)
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
3 weeks ago
I'm not really following so might be it's not helpful but you can get a handful of information from instanceinfo.do and xmlstats.do.
fetch("https://<>.service-now.com/InstanceInfo.do?SOAP", {
method: "POST",
headers: {
"Content-Type": "text/xml;charset=UTF-8",
"SOAPAction": "Get",
"User-Agent": "internal_soap_client"
},
body: `
<SOAP-ENV:Envelope xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:tns="http://www.service-now.com/GetMIDInfo"
xmlns:m="http://www.service-now.com"
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<SOAP-ENV:Body>
<m:execute>
<table xsi:type="xsd:string">ecc_agent_log</table>
</m:execute>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
`
}).then(r => r.text()).then(console.log);
<?xml version='1.0' encoding='UTF-8'?>
<SOAP-ENV:Envelope
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<SOAP-ENV:Body>
<executeResponse>
<result>
<mid_buildstamp>zurich-07-01-2025__patch2-09-24-2025_10-12-2025_0904</mid_buildstamp>
<mid_version>10-12-2025_0904</mid_version>
<install_name>[]</install_name>
<instance_name>[]</instance_name>
<instance_id>[]</instance_id>
<build_date>10-12-2025_0904</build_date>
<build_tag>glide-zurich-07-01-2025__patch2-09-24-2025</build_tag>
<release_candidate>true</release_candidate>
<system_id>[]</system_id>
<node_id>[]</node_id>
<instance_ip>[]</instance_ip>
</result>
</executeResponse>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
2 weeks ago
@lauri457 thanks for replying
I was looking for a way to determine the related instance version from the mid.jar file. I could not find a way to do that
to clarify the why.....
- CyberArk is an external credential provider
- CyberArk generates a HASH value of the jar file making the call to CyberArk. In ServiceNow's case that is the mid.jar file
- the HASH value is one of the authentication mechanisms in CyberArk. The CyberArk application ID we use must have the HASH value recorded
- mid.jar changes with each ServiceNow version (or at least I believe it does / have never noticed it not changing)
- we need to generate the new HASH value and get CyberArk updated before we upgrade to a new ServiceNow version. We can do this a few different ways, but have been looking for options to make it easier to generate / manage. The options are
- upgrade a non-production instance and run the CyberArk HASH Utility against and upgraded MID Server's mid.jar file,
- start a PDI with the intended version (if available), download the MID Server zip file, extract the contents and then run the CyberArk HASH Utility against the extracted mid.jar file. The instance version is available from other files in the zip file
- download required MID Server zip file directly from the ServiceNow installation site, extract all files and run the CyberArk HASH utility against mid.jar. This is what we do, but we still reference other files extracted from the zip to determine the instance version the HASH value relates to. We were trying to eliminate referencing other files and only depend on mid.jar
