Skip to main content

Hey Everybody,

Quick question for you API experts, and apologies in advance.  I'm new to this.  I'd like to update a specific attribute.  I've included some sample XML that's close to what would be grabbed from a specific iPad.

I'd like change "Mrs. Jane Doe" to "Mr. Jon Doe" in "SD-Full Name" of extension attributes.

<?xml version="1.0" encoding="UTF-8"?> <mobile_device> <general> <id>2035</id> <display_name>School Staff iPad Mr. Jon Doe</display_name> <device_name>School Staff iPad Mr. Jon Doe</device_name> <serial_number>B28JDKL1J0CDM</serial_number> ... etc. </general> <extension_attributes> <extension_attribute> <id>2</id> <name>SD-Full Name</name> <type>String</type> <multi_value>false</multi_value> <value>Mrs. Jane Doe</value> </extension_attribute> <extension_attribute> <id>3</id> <name>SD-Notes</name> <type>String</type> <multi_value>false</multi_value> <value/> </extension_attribute> <extension_attribute> <id>1</id> <name>SD-School</name> <type>String</type> <multi_value>false</multi_value> <value>Top Rated School</value> </extension_attribute> </extension_attributes> </mobile_device>

Do I need to send the extension_attributes and all its children in its entirety, or are the <id> and <value> for a specific child node enough for JAMF to know which node I'm updating?

e.g. Would this be enough (contained in $putXML)

<?xml version=\\"1.0\\" encoding=\\"UTF-8\\"?> <mobile_device> <extension_attributes> <extension_attribute> <id>2</id> <value>Mr. Jon Doe</value> </extension_attribute> </extension_attributes> </mobile_device>

Script e.g.:

curl -sX PUT "${jssURL}/JSSResource/mobiledevices/id/$jamfDeviceId" -H "accept: application/xml" -H "authorization: Basic ${jssAuth}" -H "Content-Type: application/xml" -d "$putXML"

 Thanks!

Found my answer.  And script is working great now.  Just updated my entire fleet of iPads via my Google Spreadsheet.  :D