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

Getting the Most out of Patch

Jamf
November 13, 2019
42

Getting the Most out of Patch

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