Hi @Wgphoto - Did you record the error? I'm having problems with Creative Cloud apps too from the Jamf Cloud server to our local DP.
My error looks like this:
ERROR: Failed to copy CCLab2024JunSubstance3DPainterIntel_en_GB_MAC.pkg to <share name here>: dataRequestFailed(statusCode: 400, message: Optional("{\\n \\"httpStatus\\" : 400,\\n \\"errors\\" : [ {\\n \\"code\\" : \\"DUPLICATE_FIELD\\",\\n \\"description\\" : \\"duplicate name\\",\\n \\"id\\" : null,\\n \\"field\\" : \\"packageName\\"\\n } ]\\n}"))
24/06/19 11:08:21-ERROR: Failed to transmit data for https://<server name here>/api/v1/packages. Status code: 400
Sadly - this is still an issue. Ever since Jamf Admin has been shutdown, I have major problems uploading anything. File sizes greater than 5GB always fail on Jamf Sync.
Trying to upload direct to jamfcloud via the browser is arguably worse because the session will likely expire before and you will have no confirmation of whether or not your file uploaded correctly.
Even once packages appear to be uploaded, it takes forever for them to be available. You have no way to verify if your packages have fully uploaded because you can't try to redownload them until they become available which can take hours.
Jamf admin was so much easier because you could upload multiple files at a time, it was fast, and packages were available quickly. This feels like a step back in functionality
Same here i get the same error message too
chiming in to say we're also having issues with 5GB+ apps.
Just chiming in to say discontinuing Jamf Admin without a suitable replacement has been frustrating.
Hopefully by now you've found the issue uploading large files (>5GB) has been resolved.
Hi @Wgphoto - Did you record the error? I'm having problems with Creative Cloud apps too from the Jamf Cloud server to our local DP.
My error looks like this:
ERROR: Failed to copy CCLab2024JunSubstance3DPainterIntel_en_GB_MAC.pkg to <share name here>: dataRequestFailed(statusCode: 400, message: Optional("{\\n \\"httpStatus\\" : 400,\\n \\"errors\\" : [ {\\n \\"code\\" : \\"DUPLICATE_FIELD\\",\\n \\"description\\" : \\"duplicate name\\",\\n \\"id\\" : null,\\n \\"field\\" : \\"packageName\\"\\n } ]\\n}"))
24/06/19 11:08:21-ERROR: Failed to transmit data for https://<server name here>/api/v1/packages. Status code: 400
This may have been due to an issue, where only 100 packages (and you have more) were pulled into Jamf Sync, that was fixed. It can if occur multiple package records that contain the same file name but different display names. This can be done using the classic API, web console and Jamf Pro API prevent this.
Might give the following script a run. It loads your list of packages from Jamf Pro and looks for duplicate listings.
#!/bin/bash
function getToken() {
authToken=$(curl -su ${user}:${pass} -X POST -H "Accept: application/json" ${URL}/api/v1/auth/token
)
# echo "authToken: $authToken" >$(tty)
local theToken=$(/usr/bin/plutil -extract token raw -o - - <<< "$authToken")
echo $theToken
}
echo "Enter the URL for your Jamf Pro server (https://your.jamfPro.server):"
read URL
tokenURL="$URL/uapi/auth/tokens"
echo "Enter Jamf Admin name for ${URL} [admin]:"
read user
if [ -z $user ];then
user="jssadmin"
fi
echo "Enter password for $user:"
stty -echo
read pass
stty echo
token=$(getToken)
if [ $token == "" ];then
echo "exiting"
exit 1
fi
packages=$(curl -s -X GET -H "authorization: Bearer $token" -H "Content-type: application/json" -d "$newPackage" "$URL/api/v1/packages")
#echo $packages
$(/usr/bin/osascript -l JavaScript << EoS
var duplicates = 0;
var duplicatesArray = [];
var unique = [];
packagesArray = $packages.results;
var packageCountDict = {};
for(var key in packagesArray) {
let filename = packagesArray[key].fileName;
let displayName = packagesArray[key].packageName
if (filename in packageCountDict) {
packageCountDict[filename].push(displayName);
} else {
packageCountDict[filename] = [displayName];
}
if (unique.includes(filename)) {
duplicates += 1;
} else {
unique.push(packagesArray[key].fileName);
}
}
console.log('\\n----- Summary -----');
if (duplicates == 0) {
console.log('no duplicate package records found');
} else {
for(var whichFile in packageCountDict) {
//console.log(whichFile + " count: " + packageCountDict[whichFile].length);
if (packageCountDict[whichFile].length > 1) {
console.log(whichFile + " has " + packageCountDict[whichFile].length + " package objects.");
for (var displayName in packageCountDict[whichFile]) {
console.log(" " + packageCountDict[whichFile][displayName]);
}
}
}
}
console.log('\\n');
EoS
)