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

Getting the Most out of Patch

Sponsored · Your Podcast. Everywhere. Effortlessly. Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
Avatar for Jamf Jamf
November 13, 2019
63

Getting the Most out of Patch

Avatar for Jamf

Jamf

November 13, 2019
Tweet

Transcript

  1. © JAMF Software, LLC Duncan McCracken Technical Director Mondada Pty

    Ltd Gene Servadei Operations Manager Mondada Pty Ltd
  2. © 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)
  3. © JAMF Software, LLC Creating Patch Definitions Reference materials Jamf

    Process for Updating Patch Management Software Titles https://www.jamf.com/jamf-nation/articles/424
  4. © 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
  5. © JAMF Software, LLC Creating Patch Definitions A note about

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

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

    inventory data… App > Contents > Info.plist Application Version = CFBundleShortVersionString Except when CFBundleName contains ‘Microsoft’
  8. © 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
  9. © 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
  10. © 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
  11. © JAMF Software, LLC Using Patch Definitions in Jamf Pro

    Adding an External Source Importing a Patch Definition
  12. © JAMF Software, LLC Using Patch Definitions in Jamf Pro

    Adding an External Source Importing a Patch Definition Adding a Package to a Definition
  13. © 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
  14. © 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
  15. © 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
  16. © 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
  17. © 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
  18. © 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
  19. © 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
  20. © 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)
  21. © 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'
  22. © JAMF Software, LLC Classic API Authenticating Encode your credentials:

    printf 'username:password' | iconv -t ISO-8859-1 | base64 -i -
  23. © 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'
  24. © 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
  25. © 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
  26. © 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
  27. © 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
  28. © 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
  29. © 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
  30. © 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
  31. © 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
  32. © 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
  33. © 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
  34. © 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
  35. © 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
  36. © 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
  37. © 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
  38. © 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
  39. © 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
  40. © 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
  41. © 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
  42. © 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
  43. © 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
  44. © 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
  45. © 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
  46. © 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
  47. © 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
  48. © 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
  49. © 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
  50. © 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
  51. © 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
  52. © 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
  53. © 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
  54. © 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
  55. © 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
  56. © 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
  57. © 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
  58. © 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
  59. © 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
  60. © 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
  61. © 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
  62. © 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'
  63. © JAMF Software, LLC Jamf Pro API (UAPI) Authenticating Encode

    your credentials: printf 'username:password' | iconv -t ISO-8859-1 | base64 -i -
  64. © 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'
  65. © 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'
  66. © 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'
  67. © 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)
  68. © 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)
  69. © 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)
  70. © 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)
  71. © 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)
  72. © 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)
  73. © 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)
  74. © 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)
  75. © 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)
  76. © 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)
  77. © JAMF Software, LLC Thank you for listening! Give us

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