Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Getting the Most out of Patch

9d350fa2294e1192f8f12b0ebf1a1d8b?s=47 Jamf
November 13, 2019
20

Getting the Most out of Patch

9d350fa2294e1192f8f12b0ebf1a1d8b?s=128

Jamf

November 13, 2019
Tweet

Transcript

  1. © JAMF Software, LLC Getting the Most Out of Patch

    4:00 - 4:45 PM UP NEXT
  2. None
  3. © JAMF Software, LLC Duncan McCracken Technical Director Mondada Pty

    Ltd Gene Servadei Operations Manager Mondada Pty Ltd
  4. © JAMF Software, LLC Getting the Most Out of Patch

    Presentation agenda: Creating Patch definitions Using Patch definitions in Jamf Pro Using the Classic API Using the Jamf Pro API (UAPI)
  5. © JAMF Software, LLC Creating Patch Definitions

  6. © JAMF Software, LLC Creating Patch Definitions Reference materials

  7. © JAMF Software, LLC Creating Patch Definitions Reference materials Jamf

    Process for Updating Patch Management Software Titles https://www.jamf.com/jamf-nation/articles/424
  8. © JAMF Software, LLC

  9. © JAMF Software, LLC Creating Patch Definitions Reference materials Jamf

    Process for Updating Patch Management Software Titles https://www.jamf.com/jamf-nation/articles/424 Jamf Pro External Patch Source Endpoints 
 https://www.jamf.com/jamf-nation/articles/497
  10. © JAMF Software, LLC

  11. © JAMF Software, LLC Creating Patch Definitions

  12. © JAMF Software, LLC Creating Patch Definitions https://github.com/mondada/kinobi

  13. © JAMF Software, LLC

  14. © JAMF Software, LLC

  15. © JAMF Software, LLC

  16. © JAMF Software, LLC

  17. © JAMF Software, LLC

  18. © JAMF Software, LLC

  19. © JAMF Software, LLC

  20. © JAMF Software, LLC

  21. © JAMF Software, LLC

  22. © JAMF Software, LLC

  23. © JAMF Software, LLC

  24. © JAMF Software, LLC

  25. © JAMF Software, LLC

  26. © JAMF Software, LLC

  27. © JAMF Software, LLC

  28. © JAMF Software, LLC

  29. © JAMF Software, LLC

  30. © JAMF Software, LLC

  31. © JAMF Software, LLC

  32. © JAMF Software, LLC

  33. © JAMF Software, LLC Creating Patch Definitions A note about

    inventory data…
  34. © JAMF Software, LLC Creating Patch Definitions A note about

    inventory data… App > Contents > Info.plist
  35. © JAMF Software, LLC Creating Patch Definitions A note about

    inventory data… App > Contents > Info.plist Application Version = CFBundleShortVersionString
  36. © JAMF Software, LLC Creating Patch Definitions A note about

    inventory data… App > Contents > Info.plist Application Version = CFBundleShortVersionString Except when CFBundleName contains ‘Microsoft’
  37. © JAMF Software, LLC Creating Patch Definitions A note about

    inventory data… App > Contents > Info.plist Application Version = CFBundleShortVersionString Except when CFBundleName contains ‘Microsoft’ Application Version = CFBundleVersion
  38. © JAMF Software, LLC Creating Patch Definitions A note about

    inventory data… App > Contents > Info.plist Application Version = CFBundleShortVersionString Except when CFBundleName contains ‘Microsoft’ Application Version = CFBundleVersion Example: Microsoft Remote Desktop 10.3.0 or later
  39. © JAMF Software, LLC

  40. © JAMF Software, LLC

  41. © JAMF Software, LLC

  42. © JAMF Software, LLC

  43. © JAMF Software, LLC

  44. © JAMF Software, LLC

  45. © JAMF Software, LLC

  46. © JAMF Software, LLC

  47. © JAMF Software, LLC

  48. © JAMF Software, LLC

  49. © JAMF Software, LLC

  50. © JAMF Software, LLC

  51. © JAMF Software, LLC

  52. © JAMF Software, LLC Creating Patch Definitions https://kinobi.io/

  53. © JAMF Software, LLC

  54. © JAMF Software, LLC

  55. © JAMF Software, LLC

  56. © JAMF Software, LLC

  57. © JAMF Software, LLC

  58. © JAMF Software, LLC

  59. © JAMF Software, LLC

  60. © JAMF Software, LLC

  61. © JAMF Software, LLC

  62. © JAMF Software, LLC

  63. © JAMF Software, LLC

  64. © JAMF Software, LLC

  65. © JAMF Software, LLC

  66. © JAMF Software, LLC

  67. © JAMF Software, LLC

  68. © JAMF Software, LLC

  69. © JAMF Software, LLC

  70. © JAMF Software, LLC

  71. © JAMF Software, LLC

  72. © JAMF Software, LLC Using Patch Definitions in Jamf Pro

  73. © JAMF Software, LLC Using Patch Definitions in Jamf Pro

    Reference materials Jamf Pro Administrator’s Guide: Patch Management https://docs.jamf.com/jamf-pro/administrator-guide/Patch_Management.html
  74. © JAMF Software, LLC

  75. © JAMF Software, LLC Using Patch Definitions in Jamf Pro

    Adding an External Source
  76. © JAMF Software, LLC

  77. © JAMF Software, LLC

  78. © JAMF Software, LLC

  79. © JAMF Software, LLC

  80. © JAMF Software, LLC

  81. © JAMF Software, LLC

  82. © JAMF Software, LLC

  83. © JAMF Software, LLC Using Patch Definitions in Jamf Pro

    Adding an External Source Importing a Patch Definition
  84. © JAMF Software, LLC

  85. © JAMF Software, LLC

  86. © JAMF Software, LLC

  87. © JAMF Software, LLC

  88. © JAMF Software, LLC

  89. © JAMF Software, LLC Using Patch Definitions in Jamf Pro

    Adding an External Source Importing a Patch Definition Adding a Package to a Definition
  90. © JAMF Software, LLC

  91. © JAMF Software, LLC

  92. © JAMF Software, LLC Feature Request Currently External Sources are

    not able to be code-signed Ability to provide code-signed patch definitions from an External Patch Source https://www.jamf.com/jamf-nation/feature-requests/7545
  93. © JAMF Software, LLC

  94. © JAMF Software, LLC

  95. © JAMF Software, LLC

  96. © JAMF Software, LLC

  97. © JAMF Software, LLC

  98. © JAMF Software, LLC Using Patch Definitions in Jamf Pro

    Adding an External Source Importing a Patch Definition Adding a Package to a Definition Creating a Patch Policy
  99. © JAMF Software, LLC

  100. © JAMF Software, LLC

  101. © JAMF Software, LLC

  102. © JAMF Software, LLC

  103. © JAMF Software, LLC

  104. © JAMF Software, LLC

  105. © JAMF Software, LLC

  106. © JAMF Software, LLC Importing Packages

  107. © JAMF Software, LLC Importing Packages Currently there is no

    API for this
  108. © JAMF Software, LLC Importing Packages Currently there is no

    API for this Facilitate uploads to cloud distribution point via API or other non-manual method https://www.jamf.com/jamf-nation/feature-requests/6665
  109. © JAMF Software, LLC

  110. © JAMF Software, LLC Importing Packages Yesterday’s session:
 Hands On

    With AutoPkg and CommunityPatch
  111. © JAMF Software, LLC Importing Packages Yesterday’s session:
 Hands On

    With AutoPkg and CommunityPatch Tomorrow’s session:
 Jamf and AutoPkg - How JSSImporter Automates Package Management and Policy Creation in Jamf Pro
  112. © JAMF Software, LLC What we’re working on https://kinobi.io/

  113. © JAMF Software, LLC API Reference Materials

  114. © JAMF Software, LLC API Reference Materials https://developer.jamf.com/apis

  115. © JAMF Software, LLC

  116. © JAMF Software, LLC API Reference Materials https://developer.jamf.com/apis Classic API

    https://developer.jamf.com/apis/classic-api/index
  117. © JAMF Software, LLC

  118. © JAMF Software, LLC API Reference Materials https://developer.jamf.com/apis Classic API

    https://developer.jamf.com/apis/classic-api/index Jamf API Documentation https://developer.jamf.com/documentation
  119. © JAMF Software, LLC

  120. © JAMF Software, LLC API Reference Materials https://developer.jamf.com/apis Classic API

    https://developer.jamf.com/apis/classic-api/index Jamf API Documentation https://developer.jamf.com/documentation Jamf Pro API (UAPI) https://developer.jamf.com/apis/jamf-pro-api/index
  121. © JAMF Software, LLC

  122. © JAMF Software, LLC API User Permissions (for Patch) Jamf

    Pro Server Objects External Patch Sources C R U D Packages R Patch Management Software Titles C R U D Patch Policies C R U D Jamf Pro Server Settings Internal Patch Sources R
  123. © JAMF Software, LLC Classic API

  124. © JAMF Software, LLC Classic API Documentation https://YOUR_JAMF_PRO_URL/api/

  125. © JAMF Software, LLC

  126. © JAMF Software, LLC Classic API Documentation https://YOUR_JAMF_PRO_URL/api/ Performing Actions

    https://YOUR_JAMF_PRO_URL/JSSResource/ROUTE
  127. © JAMF Software, LLC Classic API Documentation https://YOUR_JAMF_PRO_URL/api/ Performing Actions

    https://YOUR_JAMF_PRO_URL/JSSResource/ROUTE Note: Must use XML, when performing write actions (POST, PUT, DELETE)
  128. © JAMF Software, LLC Classic API Authenticating

  129. © JAMF Software, LLC Classic API Authenticating Basic curl -s

    -X GET \ --header 'Accept: application/xml' \ --user 'username:password' \ 'https://YOUR_JAMF_PRO_URL/JSSResource/ROUTE'
  130. © JAMF Software, LLC Classic API Authenticating Encode your credentials:

    printf 'username:password' | iconv -t ISO-8859-1 | base64 -i -
  131. © JAMF Software, LLC Classic API Authenticating Encode your credentials:

    printf 'username:password' | iconv -t ISO-8859-1 | base64 -i - Using encoded credentials: curl -s -X GET \ --header 'Accept: application/xml' \ --header 'Authorization: Basic YOUR_CREDENTIALS' \ 'https://YOUR_JAMF_PRO_URL/JSSResource/ROUTE'
  132. © JAMF Software, LLC GET /patchinternalsources Finds all patch internal

    sources curl -s -X GET \ --header 'Accept: application/xml' \ --header 'Authorization: Basic YOUR_CREDENTIALS' \ 'https://YOUR_JAMF_PRO_URL/JSSResource/patchinternalsources' Classic API
  133. © JAMF Software, LLC <patch_internal_sources> <size>1</size> <patch_internal_source> <id>1</id> <name>Jamf</name> </patch_internal_source>

    </patch_internal_sources> GET /patchinternalsources Finds all patch internal sources curl -s -X GET \ --header 'Accept: application/xml' \ --header 'Authorization: Basic YOUR_CREDENTIALS' \ 'https://YOUR_JAMF_PRO_URL/JSSResource/patchinternalsources' Classic API
  134. © JAMF Software, LLC GET /patchexternalsources Finds all patch external

    sources curl -s -X GET \ --header 'Accept: application/xml' \ --header 'Authorization: Basic YOUR_CREDENTIALS' \ 'https://YOUR_JAMF_PRO_URL/JSSResource/patchexternalsources' Classic API
  135. © JAMF Software, LLC <patch_external_sources> <size>1</size> <patch_external_source> <id>3</id> <name>JNUC Demo</name>

    </patch_external_source> </patch_external_sources> GET /patchexternalsources Finds all patch external sources curl -s -X GET \ --header 'Accept: application/xml' \ --header 'Authorization: Basic YOUR_CREDENTIALS' \ 'https://YOUR_JAMF_PRO_URL/JSSResource/patchexternalsources' Classic API
  136. © JAMF Software, LLC GET /patchavailabletitles/sourceid/{id} Finds all available title

    from a source by Id curl -s -X GET \ --header 'Accept: application/xml' \ --header 'Authorization: Basic YOUR_CREDENTIALS' \ 'https://YOUR_JAMF_PRO_URL/JSSResource/patchavailabletitles/sourceid/3' Classic API
  137. © JAMF Software, LLC <patch_available_titles> <size>5</size> <available_titles> ... <available_title> <name_id>0A4</name_id>

    <last_modified>2019-10-30... <app_name>Microsoft Rem... <current_version>10.3.4</c... <publisher>Microsoft</publ... </available_title> ... </available_titles> </patch_available_titles> GET /patchavailabletitles/sourceid/{id} Finds all available title from a source by Id curl -s -X GET \ --header 'Accept: application/xml' \ --header 'Authorization: Basic YOUR_CREDENTIALS' \ 'https://YOUR_JAMF_PRO_URL/JSSResource/patchavailabletitles/sourceid/3' Classic API
  138. © JAMF Software, LLC <patch_available_titles> <size>5</size> <available_titles> ... <available_title> <name_id>0A4</name_id>

    <last_modified>2019-10-30T09:02:47.000Z</last_modified> <app_name>Microsoft Remote Desktop 10</app_name> <current_version>10.3.4</current_version> <publisher>Microsoft</publisher> </available_title> ... </available_titles> </patch_available_titles> Classic API
  139. © JAMF Software, LLC

  140. © JAMF Software, LLC POST /patchsoftwaretitles/id/{id} Creates new patch software

    title by id curl -s -X POST \ --header 'content-type: application/xml' \ --header 'Authorization: Basic YOUR_CREDENTIALS' \ --data '<patch_software_title> ... </patch_software_title>' \ 'https://YOUR_JAMF_PRO_URL/JSSResource/patchsoftwaretitles/id/0' Classic API
  141. © JAMF Software, LLC <patch_software_title> <source_id>3</source_id> <name_id>0A4</name_id> </patch_software_title> POST /patchsoftwaretitles/id/{id}

    Creates new patch software title by id curl -s -X POST \ --header 'content-type: application/xml' \ --header 'Authorization: Basic YOUR_CREDENTIALS' \ --data '<patch_software_title> ... </patch_software_title>' \ 'https://YOUR_JAMF_PRO_URL/JSSResource/patchsoftwaretitles/id/0' Classic API
  142. © JAMF Software, LLC <patch_software_title> <id>3</id> </patch_software_title> POST /patchsoftwaretitles/id/{id} Creates

    new patch software title by id curl -s -X POST \ --header 'content-type: application/xml' \ --header 'Authorization: Basic YOUR_CREDENTIALS' \ --data '<patch_software_title> ... </patch_software_title>' \ 'https://YOUR_JAMF_PRO_URL/JSSResource/patchsoftwaretitles/id/0' Classic API
  143. © JAMF Software, LLC

  144. © JAMF Software, LLC GET /patchsoftwaretitles Finds all patch software

    titles curl -s -X GET \ --header 'Accept: application/xml' \ --header 'Authorization: Basic YOUR_CREDENTIALS' \ 'https://YOUR_JAMF_PRO_URL/JSSResource/patchsoftwaretitles' Classic API
  145. © JAMF Software, LLC <patch_software_titles> <size>1</size> <patch_software_title> <name>Microsoft Remote Des...

    <id>3</id> <source_id>3</source_id> <name_id>0A4</name_id> </patch_software_title> </patch_software_titles> GET /patchsoftwaretitles Finds all patch software titles curl -s -X GET \ --header 'Accept: application/xml' \ --header 'Authorization: Basic YOUR_CREDENTIALS' \ 'https://YOUR_JAMF_PRO_URL/JSSResource/patchsoftwaretitles' Classic API
  146. © JAMF Software, LLC <patch_software_titles> <size>1</size> <patch_software_title> <name>Microsoft Remote Desktop

    10</name> <id>3</id> <source_id>3</source_id> <name_id>0A4</name_id> </patch_software_title> </patch_software_titles> Classic API
  147. © JAMF Software, LLC GET /patchsoftwaretitles/id/{id} Finds patch software titles

    by id curl -s -X GET \ --header 'Accept: application/xml' \ --header 'Authorization: Basic YOUR_CREDENTIALS' \ 'https://YOUR_JAMF_PRO_URL/JSSResource/patchsoftwaretitles/id/3' Classic API
  148. © JAMF Software, LLC <patch_software_title> <id>3</id> <name>Microsoft Remote Desktop... <name_id>0A4</name_id>

    <source_id>3</source_id> ... <versions> <version> <software_version>10.3.4</... <package/> </version> <version> <software_version>10.3.3</... <package/> </version> <version> GET /patchsoftwaretitles/id/{id} Finds patch software titles by id curl -s -X GET \ --header 'Accept: application/xml' \ --header 'Authorization: Basic YOUR_CREDENTIALS' \ 'https://YOUR_JAMF_PRO_URL/JSSResource/patchsoftwaretitles/id/3' Classic API
  149. © JAMF Software, LLC <patch_software_title> <id>3</id> <name>Microsoft Remote Desktop 10</name>

    <name_id>0A4</name_id> <source_id>3</source_id> ... <versions> <version> <software_version>10.3.4</software_version> <package/> </version> <version> <software_version>10.3.3</software_version> <package/> </version> <version> Classic API
  150. © JAMF Software, LLC GET /packages Finds all packages curl

    -s -X GET \ --header 'Accept: application/xml' \ --header 'Authorization: Basic YOUR_CREDENTIALS' \ 'https://YOUR_JAMF_PRO_URL/JSSResource/packages' Classic API
  151. © JAMF Software, LLC <packages> <size>3</size> <package> <id>1</id> <name>Microsoft_Remote_Des... </package>

    <package> <id>2</id> <name>Microsoft_Remote_Des... </package> <package> <id>3</id> <name>Microsoft_Remote_Des... </package> </packages> GET /packages Finds all packages curl -s -X GET \ --header 'Accept: application/xml' \ --header 'Authorization: Basic YOUR_CREDENTIALS' \ 'https://YOUR_JAMF_PRO_URL/JSSResource/packages' Classic API
  152. © JAMF Software, LLC <packages> <size>3</size> <package> <id>1</id> <name>Microsoft_Remote_Desktop_10.3.2_installer.pkg</name> </package>

    <package> <id>2</id> <name>Microsoft_Remote_Desktop_10.3.3_installer.pkg</name> </package> <package> <id>3</id> <name>Microsoft_Remote_Desktop_10.3.4_installer.pkg</name> </package> </packages> Classic API
  153. © JAMF Software, LLC PUT /patchsoftwaretitles/id/{id} Updates a patch software

    title by id curl -s -X PUT \ --header 'content-type: application/xml' \ --header 'Authorization: Basic YOUR_CREDENTIALS' \ --data '<patch_software_title> ... </patch_software_title>' \ 'https://YOUR_JAMF_PRO_URL/JSSResource/patchsoftwaretitles/id/3' Classic API
  154. © JAMF Software, LLC <patch_software_title> <versions> <version> <software_version>10.3.4</... <package> <id>3</id>

    <name>Microsoft_Remo... </package> </version> </versions> </patch_software_title> PUT /patchsoftwaretitles/id/{id} Updates a patch software title by id curl -s -X PUT \ --header 'content-type: application/xml' \ --header 'Authorization: Basic YOUR_CREDENTIALS' \ --data '<patch_software_title> ... </patch_software_title>' \ 'https://YOUR_JAMF_PRO_URL/JSSResource/patchsoftwaretitles/id/3' Classic API
  155. © JAMF Software, LLC <patch_software_title> <versions> <version> <software_version>10.3.4</software_version> <package> <id>3</id>

    <name>Microsoft_Remote_Desktop_10.3.4_installer.pkg</name> </package> </version> </versions> </patch_software_title> Classic API
  156. © JAMF Software, LLC <patch_software_title> <id>3</id> </patch_software_title> PUT /patchsoftwaretitles/id/{id} Updates

    a patch software title by id curl -s -X PUT \ --header 'content-type: application/xml' \ --header 'Authorization: Basic YOUR_CREDENTIALS' \ --data '<patch_software_title> ... </patch_software_title>' \ 'https://YOUR_JAMF_PRO_URL/JSSResource/patchsoftwaretitles/id/3' Classic API
  157. © JAMF Software, LLC

  158. © JAMF Software, LLC GET /patchsoftwaretitles/id/{id} Finds patch software titles

    by id curl -s -X GET \ --header 'Accept: application/xml' \ --header 'Authorization: Basic YOUR_CREDENTIALS' \ 'https://YOUR_JAMF_PRO_URL/JSSResource/patchsoftwaretitles/id/3' Classic API
  159. © JAMF Software, LLC <patch_software_title> <id>3</id> <name>Microsoft Remote Desktop... <name_id>0A4</name_id>

    ... <versions> <version> <software_version>10.3.4</... <package> <id>3</id> <name>Microsoft_Remo... </package> </version> <version> <software_version>10.3.3</... <package/> GET /patchsoftwaretitles/id/{id} Finds patch software titles by id curl -s -X GET \ --header 'Accept: application/xml' \ --header 'Authorization: Basic YOUR_CREDENTIALS' \ 'https://YOUR_JAMF_PRO_URL/JSSResource/patchsoftwaretitles/id/3' Classic API
  160. © JAMF Software, LLC <patch_software_title> <id>3</id> <name>Microsoft Remote Desktop 10</name>

    <name_id>0A4</name_id> ... <versions> <version> <software_version>10.3.4</software_version> <package> <id>3</id> <name>Microsoft_Remote_Desktop_10.3.4_installer.pkg</name> </package> </version> <version> <software_version>10.3.3</software_version> <package/> Classic API
  161. © JAMF Software, LLC POST /patchpolicies/softwaretitleconfig/id/{softwaretitleconfigid} Create a new patch

    policy by software title configuration id curl -s -X POST \ --header 'content-type: application/xml' \ --header 'Authorization: Basic YOUR_CREDENTIALS' \ --data '<patch_policy> ... </patch_policy>’ 'https://YOUR_JAMF_PRO_URL/JSSResource/patchpolicies/softwaretitleconfig/id/3' Classic API
  162. © JAMF Software, LLC <patch_policy> <general> <name>Microsoft Remote Desktop</name> <enabled>false</enabled>

    <target_version>10.3.4</target_version> <distribution_method>selfservice</distribution_method> </general> </patch_policy> Classic API
  163. © JAMF Software, LLC <patch_policy> <id>5</id> </patch_policy> Classic API

  164. © JAMF Software, LLC

  165. © JAMF Software, LLC GET /patchpolicies/softwaretitleconfig/id/{softwaretitleconfigid} Finds all patch policy

    by software title configuration id curl -s -X GET \ --header 'Accept: application/xml' \ --header 'Authorization: Basic YOUR_CREDENTIALS' \ 'https://YOUR_JAMF_PRO_URL/JSSResource/patchpolicies/softwaretitleconfig/id/3' Classic API
  166. © JAMF Software, LLC <patch_policies> <size>1</size> <patch_policy> <id>5</id> <name>Microsoft Remote

    Desktop</name> </patch_policy> </patch_policies> Classic API
  167. © JAMF Software, LLC GET /patchpolicies/id/{id} Finds a patch policy

    by id curl -s -X GET \ --header 'Accept: application/xml' \ --header 'Authorization: Basic YOUR_CREDENTIALS' \ 'https://YOUR_JAMF_PRO_URL/JSSResource/patchpolicies/id/5' Classic API
  168. © JAMF Software, LLC <patch_policy> <general> <id>5</id> <name>Microsoft Remote Des...

    <enabled>false</enabled> <target_version>10.3.4</target... <release_date>1572426080000... <incremental_update>false</in... <reboot>false</reboot> <minimum_os>10.12</minimu... <kill_apps> <kill_app> <kill_app_name>Micros... <kill_app_bundle_id>co... </kill_app> </kill_apps> GET /patchpolicies/id/{id} Finds a patch policy by id curl -s -X GET \ --header 'Accept: application/xml' \ --header 'Authorization: Basic YOUR_CREDENTIALS' \ 'https://YOUR_JAMF_PRO_URL/JSSResource/patchpolicies/id/5' Classic API
  169. © JAMF Software, LLC <patch_policy> <general> <id>5</id> <name>Microsoft Remote Desktop</name>

    <enabled>false</enabled> <target_version>10.3.4</target_version> <release_date>1572426080000</release_date> <incremental_update>false</incremental_update> <reboot>false</reboot> <minimum_os>10.12</minimum_os> <kill_apps> <kill_app> <kill_app_name>Microsoft Remote Desktop.app</kill_app_name> <kill_app_bundle_id>com.microsoft.rdc.macos</kill_app_bundle_id> </kill_app> </kill_apps> Classic API
  170. © JAMF Software, LLC GET /patchpolicies/id/{id}/subset/{subset} Display subsets of information

    for a patch policy curl -s -X GET \ --header 'Accept: application/xml' \ --header 'Authorization: Basic YOUR_CREDENTIALS' \ 'https://YOUR_JAMF_PRO_URL/JSSResource/patchpolicies/id/5/subset/Scope' Classic API
  171. © JAMF Software, LLC <patch_policy> <scope> <all_computers>false</all_computers> <computers/> <computer_groups/> <users/>

    <buildings/> <departments/> <limitations> <network_segments/> <ibeacons/> </limitations> <exclusions> <computers/> <computer_groups/> <users/> Classic API
  172. © JAMF Software, LLC PUT /patchpolicies/id/{id} Updates an existing patch

    policy by id curl -s -X PUT \ --header 'content-type: application/xml' \ --header 'Authorization: Basic YOUR_CREDENTIALS' \ --data '<patch_policy> ... </patch_policy>' ‘https://YOUR_JAMF_PRO_URL/JSSResource/patchpolicies/id/5' Classic API
  173. © JAMF Software, LLC <patch_policy> <general> <enabled>true</enabled> </general> <scope> <all_computers>true</all_com...

    </scope> </patch_policy> PUT /patchpolicies/id/{id} Updates an existing patch policy by id curl -s -X PUT \ --header 'content-type: application/xml' \ --header 'Authorization: Basic YOUR_CREDENTIALS' \ --data '<patch_policy> ... </patch_policy>' 'https://YOUR_JAMF_PRO_URL/JSSResource/patchpolicies/id/5' Classic API
  174. © JAMF Software, LLC <patch_policy> <general> <enabled>true</enabled> </general> <scope> <all_computers>true</all_computers>

    </scope> </patch_policy> Classic API
  175. © JAMF Software, LLC <patch_policy> <id>5</id> </patch_policy> PUT /patchpolicies/id/{id} Updates

    an existing patch policy by id curl -s -X PUT \ --header 'content-type: application/xml' \ --header 'Authorization: Basic YOUR_CREDENTIALS' \ --data '<patch_policy> ... </patch_policy>' 'https://YOUR_JAMF_PRO_URL/JSSResource/patchpolicies/id/5' Classic API
  176. © JAMF Software, LLC

  177. © JAMF Software, LLC

  178. © JAMF Software, LLC Jamf Pro API (UAPI)

  179. © JAMF Software, LLC Jamf Pro API (UAPI) Documentation https://YOUR_JAMF_PRO_URL/uapi/doc/

  180. © JAMF Software, LLC

  181. © JAMF Software, LLC Jamf Pro API (UAPI) Documentation https://YOUR_JAMF_PRO_URL/uapi/doc/

    Performing Actions https://YOUR_JAMF_PRO_URL/uapi/ROUTE
  182. © JAMF Software, LLC Jamf Pro API (UAPI) Documentation https://YOUR_JAMF_PRO_URL/uapi/doc/

    Performing Actions https://YOUR_JAMF_PRO_URL/uapi/ROUTE Schema https://YOUR_JAMF_PRO_URL/uapi/schema
  183. © JAMF Software, LLC

  184. © JAMF Software, LLC Jamf Pro API (UAPI) Authenticating

  185. © JAMF Software, LLC Jamf Pro API (UAPI) Authenticating Using

    basic authentication to generate a token: curl -s -X POST \ --header 'Accept: application/json' \ --user 'username:password' \ 'https://YOUR_JAMF_PRO_URL/uapi/auth/tokens'
  186. © JAMF Software, LLC Jamf Pro API (UAPI) Authenticating Encode

    your credentials: printf 'username:password' | iconv -t ISO-8859-1 | base64 -i -
  187. © JAMF Software, LLC Jamf Pro API (UAPI) Authenticating Encode

    your credentials: printf 'username:password' | iconv -t ISO-8859-1 | base64 -i - Using encoded credentials to generate a token: curl -s -X POST \ --header 'Accept: application/json' \ --header 'Authorization: Basic YOUR_CREDENTIALS' \ 'https://YOUR_JAMF_PRO_URL/uapi/auth/tokens'
  188. © JAMF Software, LLC { "token" : "eyJhbGciOiJIUzI1NiJ9.eyJhdXRoZW50aWNhdGVkLWFwcCI6IkdFTkVSSUMiLCJhdXRoZW50aWNhdGlvbi10eXB lIjoiSlNTIiwiZ3JvdXBzIjpbXSwic3ViamVjdC10eXBlIjoiSlNTX1VTRVJfSUQiLCJ0b2tlbi11dWlkIjoiYmE2NDViODctY2 FjNy00Y2I0LTlkOWYtMmJiMGFhOTA2ZDI4IiwibGRhcC1zZXJ2ZXItaWQiOi0xLCJzdWIiOiI2IiwiZXhwIjoxNTcyNTc2

    NzM3fQ.n2eAlTI2pATNg_3TG3Hh0M8mz0a3jK_bvB65_Z8znGY", "expires" : 1572576737568 } Jamf Pro API (UAPI)
  189. © JAMF Software, LLC Jamf Pro API (UAPI) Authenticating with

    a Token curl -s -X GET \ --header 'Accept: application/json' \ --header 'Authorization: Bearer YOUR_TOKEN' \ 'https://YOUR_JAMF_PRO_URL/uapi/ROUTE'
  190. © JAMF Software, LLC Jamf Pro API (UAPI) Expiring a

    Token curl -s -X POST \ --header 'Accept: application/json' \ --header 'Authorization: Bearer YOUR_TOKEN' \ 'https://YOUR_JAMF_PRO_URL/uapi/auth/invalidateToken'
  191. © JAMF Software, LLC GET /patch/obj/{id} Returns active patch summary

    curl -X GET \ --header 'Accept: application/json' \ --header 'Authorization: Bearer YOUR_TOKEN’ 'https://YOUR_JAMF_PRO_URL/uapi/patch/obj/3' Jamf Pro API (UAPI)
  192. © JAMF Software, LLC { "softwareTitleID": 3, "title": "Microsoft Remote

    Desktop 1... "latestVersion": "10.3.4", "releaseDate": "2019-10-30T09:02:4... "upToDate": 3, "outOfDate": 0, "isOnDashboard": false, "softwareTitleConfigurationID": 3 } GET /patch/obj/{id} Returns active patch summary curl -X GET \ --header 'Accept: application/json' \ --header 'Authorization: Bearer YOUR_TOKEN’ 'https://YOUR_JAMF_PRO_URL/uapi/patch/obj/3' Jamf Pro API (UAPI)
  193. © JAMF Software, LLC { "softwareTitleID": 3, "title": "Microsoft Remote

    Desktop 10", "latestVersion": "10.3.4", "releaseDate": "2019-10-30T09:02:47.000+0000", "upToDate": 3, "outOfDate": 0, "isOnDashboard": false, "softwareTitleConfigurationID": 3 } Jamf Pro API (UAPI)
  194. © JAMF Software, LLC GET /patch/obj/softwareTitle/{id}/policies Returns the summaries of

    the patch policies for the software title curl -X GET \ --header 'Accept: application/json' \ --header 'Authorization: Bearer YOUR_TOKEN' \ 'https://YOUR_JAMF_PRO_URL/uapi/patch/obj/softwareTitle/3/policies' Jamf Pro API (UAPI)
  195. © JAMF Software, LLC { "totalCount": 1, "results": [ {

    "policyId": 5, "policyName": "Microsoft Remote Desktop", "isPolicyEnabled": true, "policyTargetVersion": "10.3.4", "policyDeploymentMethod": "SELFSERVICE", "softwareTitle": "Microsoft Remote Desktop 10", "softwareTitleConfigurationId": 3, "pending": 0, "completed": 0, "deferred": 0, "failed": 0 } Jamf Pro API (UAPI)
  196. © JAMF Software, LLC GET /patch/obj/{id}/versions Returns patch versions curl

    -X GET \ --header 'Accept: application/json' \ --header 'Authorization: Bearer YOUR_TOKEN' \ 'https://YOUR_JAMF_PRO_URL/uapi/patch/obj/3/versions' Jamf Pro API (UAPI)
  197. © JAMF Software, LLC [ { "absoluteOrderId": 0, "version": "10.3.4",

    "onVersion": 0 } ] GET /patch/obj/{id}/versions Returns patch versions curl -X GET \ --header 'Accept: application/json' \ --header 'Authorization: Bearer YOUR_TOKEN' \ ‘https://YOUR_JAMF_PRO_URL/uapi/patch/obj/3/versions' Jamf Pro API (UAPI)
  198. © JAMF Software, LLC GET /patch/objs/policy/{id} Returns patch policy summary

    curl -X GET \ --header 'Accept: application/json' \ --header 'Authorization: Bearer YOUR_TOKEN' \ ‘https://YOUR_JAMF_PRO_URL/uapi/patch/objs/policy/5' Jamf Pro API (UAPI)
  199. © JAMF Software, LLC { "policyId": 5, "policyName": "Microsoft Remote

    D... "isPolicyEnabled": true, "policyTargetVersion": "10.3.4", "policyDeploymentMethod": "SELFS... "softwareTitle": "Microsoft Remote ... "softwareTitleConfigurationId": 3, "pending": 0, "completed": 0, "deferred": 0, "failed": 0 } GET /patch/objs/policy/{id} Returns patch policy summary curl -X GET \ --header 'Accept: application/json' \ --header 'Authorization: Bearer YOUR_TOKEN' \ ‘https://YOUR_JAMF_PRO_URL/uapi/patch/objs/policy/5' Jamf Pro API (UAPI)
  200. © JAMF Software, LLC { "policyId": 5, "policyName": "Microsoft Remote

    Desktop", "isPolicyEnabled": true, "policyTargetVersion": "10.3.4", "policyDeploymentMethod": "SELFSERVICE", "softwareTitle": "Microsoft Remote Desktop 10", "softwareTitleConfigurationId": 3, "pending": 0, "completed": 0, "deferred": 0, "failed": 0 } Jamf Pro API (UAPI)
  201. © JAMF Software, LLC Any Questions?

  202. © JAMF Software, LLC Thank you for listening! Give us

    feedback by completing the 2-question session survey in the JNUC 2019 app. UP NEXT