jssimporter / JSSImporter

JSSImporter is deprecated. Please see the wiki for alternatives
Apache License 2.0
145 stars 38 forks source link

[1.1.1] If the same version of package exists in Jamf Pro, policies won't update correctly #184

Closed jlehikoinen closed 3 years ago

jlehikoinen commented 3 years ago

Jamf version: 10.22.1 (on-premise) JSSImporter version: 1.1.1 python-jss version: 2.1 STOP_IF_NO_JSS_UPLOAD key set to false in recipe override

Steps to reproduce:

Result: Policy won't update correctly with the new override information Expected result: Policy updates correctly with new information Workaround: Delete the same version of installer package from Jamf Pro and run autopkg again

Additional information: If JSSImporter.py version 1.1.1 is replaced with the 1.1.0 version of the script, policy updates correctly.

V. 1.1.0 output example:

The following changes were made to the Jamf Pro Server:
    Name   Package          Categories  Groups                       Scripts  Extension Attributes  Policy                                  Icon  Version  Package Uploaded  
    ----   -------          ----------  ------                       -------  --------------------  ------                                  ----  -------  ----------------  
    NoMAD  NoMAD-1.2.0.pkg              AutoPkg-SelfService-Testing                                 TESTING AutoPkg - Install Latest NoMAD        1.2.0    True  

V. 1.1.1 output example:

The following changes were made to the Jamf Pro Server:
    Name   Package          Categories  Groups  Scripts  Extension Attributes  Policy  Icon  Version  Package Uploaded  
    ----   -------          ----------  ------  -------  --------------------  ------  ----  -------  ----------------  
    NoMAD  NoMAD-1.2.0.pkg                                                                   1.2.0  
grahampugh commented 3 years ago

This is expected behaviour. If you want to make a change to the policy without a new package, run the recipe with STOP_IF_NO_JSS_UPLOAD set to True.

Sorry, read that wrong. Can you provide full output please?

grahampugh commented 3 years ago

I think your problem might be that STOP_IF_NO_JSS_UPLOAD needs to be set to False, not false, but I'd still like to see the output to confirm.

jlehikoinen commented 3 years ago

Hi!

But plist boolean values are lower case?

...
<key>STOP_IF_NO_JSS_UPLOAD</key>
<false/>
...

Which verbosity level should I use for the outputs?

grahampugh commented 3 years ago

Please use -vvvv and remove any credentials.

jlehikoinen commented 3 years ago

1.1.0 output:

Processing local.jss.NoMAD-Testing...
{'API_PASSWORD': 'redacted',
 'API_USERNAME': 'redacted',
 'AUTOPKG_VERSION': '2.1',
 'CATEGORY': 'Testing1000',
 'DESCRIPTION': 'NoMAD is a helpful replacement for Active Directory bindings, '
                'using Kerberos and other resources to provide Active '
                'Directory services.',
 'GROUP_NAME': 'AutoPkg-SelfService-Testing',
 'GROUP_TEMPLATE': '/Users/user/git-repos/acme/acme-recipe-overrides/Testing/SmartGroupTemplate-Testing.xml',
 'ICON': '/Users/user/git-repos/acme/acme-recipe-overrides/Testing/NoMAD.png',
 'JSS_REPOS': [{'name': 'server.domain.com', 'password': 'redacted'}],
 'JSS_URL': 'https://server.domain.com/acme',
 'NAME': 'NoMAD',
 'PARENT_RECIPES': ['/Users/user/Library/AutoPkg/RecipeRepos/com.github.autopkg.rtrouton-recipes/JSS/NoMAD.jss.recipe',
                    '/Users/user/Library/AutoPkg/RecipeRepos/com.github.autopkg.tbridge-recipes/NoMAD/NoMAD.pkg.recipe',
                    '/Users/user/Library/AutoPkg/RecipeRepos/com.github.autopkg.tbridge-recipes/NoMAD/NoMAD.download.recipe'],
 'POLICY_CATEGORY': 'Testing1000',
 'POLICY_TEMPLATE': '/Users/user/git-repos/acme/acme-recipe-overrides/Testing/PolicyTemplate-Testing.xml',
 'RECIPE_CACHE_DIR': '/Users/user/Library/AutoPkg/Cache/local.jss.NoMAD-Testing',
 'RECIPE_DIR': '/Users/user/git-repos/acme/acme-recipe-overrides/Testing',
 'RECIPE_OVERRIDE_DIRS': ['~/Library/AutoPkg/RecipeOverrides'],
 'RECIPE_PATH': '/Users/user/git-repos/acme/acme-recipe-overrides/Testing/NoMAD-Testing.jss.recipe',
 'RECIPE_REPOS': {'/Users/user/Library/AutoPkg/RecipeRepos/com.github.autopkg.MichalMMac-recipes': {'URL': 'https://github.com/autopkg/MichalMMac-recipes'},
                  '/Users/user/Library/AutoPkg/RecipeRepos/com.github.autopkg.apettinen-recipes': {'URL': 'https://github.com/autopkg/apettinen-recipes'},
                  '/Users/user/Library/AutoPkg/RecipeRepos/com.github.autopkg.bkerns-recipes': {'URL': 'https://github.com/autopkg/bkerns-recipes'},
                  '/Users/user/Library/AutoPkg/RecipeRepos/com.github.autopkg.bochoven-recipes': {'URL': 'https://github.com/autopkg/bochoven-recipes'},
                  '/Users/user/Library/AutoPkg/RecipeRepos/com.github.autopkg.cgerke-recipes': {'URL': 'https://github.com/autopkg/cgerke-recipes'},
                  '/Users/user/Library/AutoPkg/RecipeRepos/com.github.autopkg.dataJAR-recipes': {'URL': 'https://github.com/autopkg/dataJAR-recipes'},
                  '/Users/user/Library/AutoPkg/RecipeRepos/com.github.autopkg.foigus-recipes': {'URL': 'https://github.com/autopkg/foigus-recipes'},
                  '/Users/user/Library/AutoPkg/RecipeRepos/com.github.autopkg.hansen-m-recipes': {'URL': 'https://github.com/autopkg/hansen-m-recipes'},
                  '/Users/user/Library/AutoPkg/RecipeRepos/com.github.autopkg.hjuutilainen-recipes': {'URL': 'https://github.com/autopkg/hjuutilainen-recipes'},
                  '/Users/user/Library/AutoPkg/RecipeRepos/com.github.autopkg.homebysix-recipes': {'URL': 'https://github.com/autopkg/homebysix-recipes'},
                  '/Users/user/Library/AutoPkg/RecipeRepos/com.github.autopkg.jessepeterson-recipes': {'URL': 'https://github.com/autopkg/jessepeterson-recipes'},
                  '/Users/user/Library/AutoPkg/RecipeRepos/com.github.autopkg.jleggat-recipes': {'URL': 'https://github.com/autopkg/jleggat-recipes'},
                  '/Users/user/Library/AutoPkg/RecipeRepos/com.github.autopkg.jlehikoinen-recipes': {'URL': 'https://github.com/autopkg/jlehikoinen-recipes'},
                  '/Users/user/Library/AutoPkg/RecipeRepos/com.github.autopkg.jss-recipes': {'URL': 'https://github.com/autopkg/jss-recipes'},
                  '/Users/user/Library/AutoPkg/RecipeRepos/com.github.autopkg.justinrummel-recipes': {'URL': 'https://github.com/autopkg/justinrummel-recipes'},
                  '/Users/user/Library/AutoPkg/RecipeRepos/com.github.autopkg.killahquam-recipes': {'URL': 'https://github.com/autopkg/killahquam-recipes'},
                  '/Users/user/Library/AutoPkg/RecipeRepos/com.github.autopkg.moofit-recipes': {'URL': 'https://github.com/autopkg/moofit-recipes'},
                  '/Users/user/Library/AutoPkg/RecipeRepos/com.github.autopkg.mosen-recipes': {'URL': 'https://github.com/autopkg/mosen-recipes'},
                  '/Users/user/Library/AutoPkg/RecipeRepos/com.github.autopkg.n8felton-recipes': {'URL': 'https://github.com/autopkg/n8felton-recipes'},
                  '/Users/user/Library/AutoPkg/RecipeRepos/com.github.autopkg.novaksam-recipes': {'URL': 'https://github.com/autopkg/novaksam-recipes'},
                  '/Users/user/Library/AutoPkg/RecipeRepos/com.github.autopkg.peshay-recipes': {'URL': 'https://github.com/autopkg/peshay-recipes'},
                  '/Users/user/Library/AutoPkg/RecipeRepos/com.github.autopkg.recipes': {'URL': 'https://github.com/autopkg/recipes'},
                  '/Users/user/Library/AutoPkg/RecipeRepos/com.github.autopkg.rtrouton-recipes': {'URL': 'https://github.com/autopkg/rtrouton-recipes'},
                  '/Users/user/Library/AutoPkg/RecipeRepos/com.github.autopkg.rustymyers-recipes': {'URL': 'https://github.com/autopkg/rustymyers-recipes'},
                  '/Users/user/Library/AutoPkg/RecipeRepos/com.github.autopkg.sheagcraig-recipes': {'URL': 'https://github.com/autopkg/sheagcraig-recipes'},
                  '/Users/user/Library/AutoPkg/RecipeRepos/com.github.autopkg.tbridge-recipes': {'URL': 'https://github.com/autopkg/tbridge-recipes'},
                  '/Users/user/Library/AutoPkg/RecipeRepos/com.github.autopkg.timsutton-recipes': {'URL': 'https://github.com/autopkg/timsutton-recipes'},
                  '/Users/user/Library/AutoPkg/RecipeRepos/com.github.autopkg.ygini-recipes': {'URL': 'https://github.com/autopkg/ygini-recipes'},
                  '/Users/user/Library/AutoPkg/RecipeRepos/com.github.hjuutilainen.autopkg-virustotalanalyzer': {'URL': 'https://github.com/hjuutilainen/autopkg-virustotalanalyzer.git'}},
 'RECIPE_SEARCH_DIRS': ['.',
                        '~/Library/AutoPkg/Recipes',
                        '/Library/AutoPkg/Recipes',
                        '/Users/user/Library/AutoPkg/RecipeRepos/com.github.autopkg.recipes',
                        '/Users/user/Library/AutoPkg/RecipeRepos/com.github.autopkg.jessepeterson-recipes',
                        '/Users/user/Library/AutoPkg/RecipeRepos/com.github.autopkg.hjuutilainen-recipes',
                        '/Users/user/Library/AutoPkg/RecipeRepos/com.github.autopkg.apettinen-recipes',
                        '/Users/user/Library/AutoPkg/RecipeRepos/com.github.autopkg.bkerns-recipes',
                        '/Users/user/Library/AutoPkg/RecipeRepos/com.github.autopkg.dataJAR-recipes',
                        '/Users/user/Library/AutoPkg/RecipeRepos/com.github.autopkg.rtrouton-recipes',
                        '/Users/user/Library/AutoPkg/RecipeRepos/com.github.autopkg.jlehikoinen-recipes',
                        '/Users/user/Library/AutoPkg/RecipeRepos/com.github.autopkg.killahquam-recipes',
                        '/Users/user/Library/AutoPkg/RecipeRepos/com.github.autopkg.timsutton-recipes',
                        '/Users/user/Library/AutoPkg/RecipeRepos/com.github.autopkg.jleggat-recipes',
                        '/Users/user/Library/AutoPkg/RecipeRepos/com.github.autopkg.homebysix-recipes',
                        '/Users/user/Library/AutoPkg/RecipeRepos/com.github.autopkg.jss-recipes',
                        '/Users/user/Library/AutoPkg/RecipeRepos/com.github.autopkg.cgerke-recipes',
                        '/Users/user/Library/AutoPkg/RecipeRepos/com.github.hjuutilainen.autopkg-virustotalanalyzer',
                        '/Users/user/Library/AutoPkg/RecipeRepos/com.github.autopkg.ygini-recipes',
                        '/Users/user/Library/AutoPkg/RecipeRepos/com.github.autopkg.peshay-recipes',
                        '/Users/user/Library/AutoPkg/RecipeRepos/com.github.autopkg.novaksam-recipes',
                        '/Users/user/Library/AutoPkg/RecipeRepos/com.github.autopkg.MichalMMac-recipes',
                        '/Users/user/Library/AutoPkg/RecipeRepos/com.github.autopkg.bochoven-recipes',
                        '/Users/user/Library/AutoPkg/RecipeRepos/com.github.autopkg.mosen-recipes',
                        '/Users/user/Library/AutoPkg/RecipeRepos/com.github.autopkg.moofit-recipes',
                        '/Users/user/Library/AutoPkg/RecipeRepos/com.github.autopkg.rustymyers-recipes',
                        '/Users/user/Library/AutoPkg/RecipeRepos/com.github.autopkg.hansen-m-recipes',
                        '/Users/user/Library/AutoPkg/RecipeRepos/com.github.autopkg.foigus-recipes',
                        '/Users/user/Library/AutoPkg/RecipeRepos/com.github.autopkg.justinrummel-recipes',
                        '/Users/user/Library/AutoPkg/RecipeRepos/com.github.autopkg.sheagcraig-recipes',
                        '/Users/user/Library/AutoPkg/RecipeRepos/com.github.autopkg.n8felton-recipes',
                        '/Users/user/Library/AutoPkg/RecipeRepos/com.github.autopkg.tbridge-recipes',
                        '/Users/user/git-repos/acme/acme-recipe-overrides/Testing',
                        '/Users/user/Library/AutoPkg/RecipeRepos/com.github.autopkg.rtrouton-recipes/JSS',
                        '/Users/user/Library/AutoPkg/RecipeRepos/com.github.autopkg.tbridge-recipes/NoMAD'],
 'STOP_IF_NO_JSS_UPLOAD': False,
 'verbose': 4}
URLDownloader
{'Input': {'url': 'https://files.nomad.menu/NoMAD.pkg'}}
URLDownloader: No value supplied for prefetch_filename, setting default value of: False
URLDownloader: No value supplied for CHECK_FILESIZE_ONLY, setting default value of: False
URLDownloader: Curl command: ['/usr/bin/curl', '--silent', '--show-error', '--no-buffer', '--dump-header', '-', '--speed-time', '30', '--location', '--url', 'https://files.nomad.menu/NoMAD.pkg', '--fail', '--output', '/Users/user/Library/AutoPkg/Cache/local.jss.NoMAD-Testing/downloads/tmpm98hax93', '--header', 'If-None-Match: "2bce7bab9c6d8b3e46db8a0aead6971b"', '--header', 'If-Modified-Since: Tue, 08 Oct 2019 00:39:07 GMT']
URLDownloader: Item at URL is unchanged.
URLDownloader: Using existing /Users/user/Library/AutoPkg/Cache/local.jss.NoMAD-Testing/downloads/NoMAD.pkg
{'Output': {'pathname': '/Users/user/Library/AutoPkg/Cache/local.jss.NoMAD-Testing/downloads/NoMAD.pkg'}}
EndOfCheckPhase
{'Input': {}}
{'Output': {}}
CodeSignatureVerifier
{'Input': {'expected_authority_names': ['Developer ID Installer: Joel Rennich '
                                        '(AAPZK3CB24)',
                                        'Developer ID Certification Authority',
                                        'Apple Root CA'],
           'input_path': '/Users/user/Library/AutoPkg/Cache/local.jss.NoMAD-Testing/downloads/NoMAD.pkg'}}
CodeSignatureVerifier: Verifying installer package signature...
CodeSignatureVerifier: Package "NoMAD.pkg":
CodeSignatureVerifier:    Status: signed by a developer certificate issued by Apple for distribution
CodeSignatureVerifier:    Signed with a trusted timestamp on: 2019-10-07 20:45:18 +0000
CodeSignatureVerifier:    Certificate Chain:
CodeSignatureVerifier:     1. Developer ID Installer: Joel Rennich (AAPZK3CB24)
CodeSignatureVerifier:        Expires: 2024-10-07 20:35:05 +0000
CodeSignatureVerifier:        SHA256 Fingerprint:
CodeSignatureVerifier:            27 57 B3 B4 75 1D 74 18 B4 87 AC B8 29 1F E9 F6 C3 69 F3 28 09 30 
CodeSignatureVerifier:            F7 96 3B 1E 41 98 F7 10 BD 1F
CodeSignatureVerifier:        ------------------------------------------------------------------------
CodeSignatureVerifier:     2. Developer ID Certification Authority
CodeSignatureVerifier:        Expires: 2027-02-01 22:12:15 +0000
CodeSignatureVerifier:        SHA256 Fingerprint:
CodeSignatureVerifier:            7A FC 9D 01 A6 2F 03 A2 DE 96 37 93 6D 4A FE 68 09 0D 2D E1 8D 03 
CodeSignatureVerifier:            F2 9C 88 CF B0 B1 BA 63 58 7F
CodeSignatureVerifier:        ------------------------------------------------------------------------
CodeSignatureVerifier:     3. Apple Root CA
CodeSignatureVerifier:        Expires: 2035-02-09 21:40:36 +0000
CodeSignatureVerifier:        SHA256 Fingerprint:
CodeSignatureVerifier:            B0 B1 73 0E CB C7 FF 45 05 14 2C 49 F1 29 5E 6E DA 6B CA ED 7E 2C 
CodeSignatureVerifier:            68 C5 BE 91 B5 A1 10 01 F0 24
CodeSignatureVerifier: 
CodeSignatureVerifier: Signature is valid
CodeSignatureVerifier: Authority name chain is valid
{'Output': {}}
FlatPkgUnpacker
{'Input': {'destination_path': '/Users/user/Library/AutoPkg/Cache/local.jss.NoMAD-Testing/unpack',
           'flat_pkg_path': '/Users/user/Library/AutoPkg/Cache/local.jss.NoMAD-Testing/downloads/NoMAD.pkg'}}
FlatPkgUnpacker: Unpacked /Users/user/Library/AutoPkg/Cache/local.jss.NoMAD-Testing/downloads/NoMAD.pkg to /Users/user/Library/AutoPkg/Cache/local.jss.NoMAD-Testing/unpack
{'Output': {}}
FileFinder
{'Input': {'pattern': '/Users/user/Library/AutoPkg/Cache/local.jss.NoMAD-Testing/unpack/NoMAD-*.pkg/Payload'}}
FileFinder: No value supplied for find_method, setting default value of: glob
FileFinder: Found file match: '/Users/user/Library/AutoPkg/Cache/local.jss.NoMAD-Testing/unpack/NoMAD-1.2.0.1003.pkg/Payload' from globbed '/Users/user/Library/AutoPkg/Cache/local.jss.NoMAD-Testing/unpack/NoMAD-*.pkg/Payload'
{'Output': {'found_filename': '/Users/user/Library/AutoPkg/Cache/local.jss.NoMAD-Testing/unpack/NoMAD-1.2.0.1003.pkg/Payload'}}
PkgPayloadUnpacker
{'Input': {'destination_path': '/Users/user/Library/AutoPkg/Cache/local.jss.NoMAD-Testing/payload',
           'pkg_payload_path': '/Users/user/Library/AutoPkg/Cache/local.jss.NoMAD-Testing/unpack/NoMAD-1.2.0.1003.pkg/Payload'}}
PkgPayloadUnpacker: Unpacked /Users/user/Library/AutoPkg/Cache/local.jss.NoMAD-Testing/unpack/NoMAD-1.2.0.1003.pkg/Payload to /Users/user/Library/AutoPkg/Cache/local.jss.NoMAD-Testing/payload
{'Output': {}}
Versioner
{'Input': {'input_plist_path': '/Users/user/Library/AutoPkg/Cache/local.jss.NoMAD-Testing/payload/Applications/NoMAD.app/Contents/Info.plist',
           'plist_version_key': 'CFBundleShortVersionString'}}
Versioner: Found version 1.2.0 in file /Users/user/Library/AutoPkg/Cache/local.jss.NoMAD-Testing/payload/Applications/NoMAD.app/Contents/Info.plist
{'Output': {'version': '1.2.0'}}
PkgCopier
{'Input': {'pkg_path': '/Users/user/Library/AutoPkg/Cache/local.jss.NoMAD-Testing/NoMAD-1.2.0.pkg',
           'source_pkg': '/Users/user/Library/AutoPkg/Cache/local.jss.NoMAD-Testing/downloads/NoMAD.pkg'}}
PkgCopier: Copied /Users/user/Library/AutoPkg/Cache/local.jss.NoMAD-Testing/downloads/NoMAD.pkg to /Users/user/Library/AutoPkg/Cache/local.jss.NoMAD-Testing/NoMAD-1.2.0.pkg
{'Output': {'pkg_copier_summary_result': {'data': {'pkg_path': '/Users/user/Library/AutoPkg/Cache/local.jss.NoMAD-Testing/NoMAD-1.2.0.pkg'},
                                          'summary_text': 'The following '
                                                          'packages were '
                                                          'copied:'},
            'pkg_path': '/Users/user/Library/AutoPkg/Cache/local.jss.NoMAD-Testing/NoMAD-1.2.0.pkg'}}
PathDeleter
{'Input': {'path_list': ['/Users/user/Library/AutoPkg/Cache/local.jss.NoMAD-Testing/unpack',
                         '/Users/user/Library/AutoPkg/Cache/local.jss.NoMAD-Testing/payload']}}
PathDeleter: Deleted /Users/user/Library/AutoPkg/Cache/local.jss.NoMAD-Testing/unpack
PathDeleter: Deleted /Users/user/Library/AutoPkg/Cache/local.jss.NoMAD-Testing/payload
{'Output': {}}
JSSImporter
{'Input': {'API_PASSWORD': 'redacted',
           'API_USERNAME': 'AutoPkg',
           'JSS_REPOS': [{'name': 'server.domain.com',
                          'password': 'redacted'}],
           'JSS_URL': 'https://server.domain.com/acme',
           'STOP_IF_NO_JSS_UPLOAD': False,
           'category': 'Testing1000',
           'groups': [{'name': 'AutoPkg-SelfService-Testing',
                       'smart': True,
                       'template_path': '/Users/user/git-repos/acme/acme-recipe-overrides/Testing/SmartGroupTemplate-Testing.xml'}],
           'pkg_path': '/Users/user/Library/AutoPkg/Cache/local.jss.NoMAD-Testing/NoMAD-1.2.0.pkg',
           'policy_category': 'Testing1000',
           'policy_template': '/Users/user/git-repos/acme/acme-recipe-overrides/Testing/PolicyTemplate-Testing.xml',
           'prod_name': 'NoMAD',
           Unmount successful for /Volumes/acme
'self_service_description': 'NoMAD is a helpful replacement for '
                                       'Active Directory bindings, using '
                                       'Kerberos and other resources to '
                                       'provide Active Directory services.',
           'self_service_icon': '/Users/user/git-repos/acme/acme-recipe-overrides/Testing/NoMAD.png',
           'version': '1.2.0'}}
JSSImporter: No value supplied for JSS_VERIFY_SSL, setting default value of: True
JSSImporter: No value supplied for JSS_SUPPRESS_WARNINGS, setting default value of: True
JSSImporter: No value supplied for force_policy_state, setting default value of: True
JSSImporter: No value supplied for os_requirements, setting default value of: 
JSSImporter: No value supplied for package_info, setting default value of: 
JSSImporter: No value supplied for package_notes, setting default value of: 
JSSImporter: No value supplied for package_priority, setting default value of: 10
JSSImporter: No value supplied for package_reboot, setting default value of: False
JSSImporter: No value supplied for package_boot_volume_required, setting default value of: True
JSSImporter: No value supplied for policy_action_type, setting default value of: Install
JSSImporter: No value supplied for skip_scope, setting default value of: False
JSSImporter: No value supplied for skip_scripts, setting default value of: False
JSSImporter: python-jss version: 2.1.
JSSImporter: JSSImporter version: 1.1.0.
GET https://server.domain.com/acme/JSSResource/jssuser: Success.
Retrieving data from JSS...
GET https://server.domain.com/acme/JSSResource/jssuser: Success.
JSSImporter: Jamf Pro version: '10.22.1-t1592683582'
GET https://server.domain.com/acme/JSSResource/categories/name/Testing1000: Success.
JSSImporter: Category, type 'category', name 'Testing1000', already exists on the Jamf Pro server, moving on...
GET https://server.domain.com/acme/JSSResource/categories/name/Testing1000: Success.
JSSImporter: Category, type 'policy_category', name 'Testing1000', already exists on the Jamf Pro server, moving on...
JSSImporter: Checking if DP already mounted...
smb://service_user_rw:redacted@server.domain.com:139/acme
GET https://server.domain.com/acme/JSSResource/packages/name/NoMAD-1.2.0.pkg: Success.
JSSImporter: Package object already exists on the Jamf Pro server. (ID: 560)
server.domain.com is already mounted at /Volumes/acme.

JSSImporter: Package upload not required.
JSSImporter: Overwriting policy although upload requirement is determined as False because STOP_IF_NO_JSS_UPLOAD is set to False.
PUT https://server.domain.com/acme/JSSResource/packages/id/560: Success.
Retrieving data from JSS...
GET https://server.domain.com/acme/JSSResource/packages/id/560: Success.
JSSImporter: Package 'reboot_required' updated.
PUT https://server.domain.com/acme/JSSResource/packages/id/560: Success.
Retrieving data from JSS...
GET https://server.domain.com/acme/JSSResource/packages/id/560: Success.
JSSImporter: Package 'boot_volume_required' updated.
JSSImporter: Looking for ComputerGroup template file SmartGroupTemplate-Testing.xml...
JSSImporter: Found file: /Users/user/git-repos/acme/acme-recipe-overrides/Testing/SmartGroupTemplate-Testing.xml
GET https://server.domain.com/acme/JSSResource/computergroups/name/AutoPkg-SelfService-Testing: Success.
PUT https://server.domain.com/acme/JSSResource/computergroups/id/103: Success.
Retrieving data from JSS...
GET https://server.domain.com/acme/JSSResource/computergroups/id/103: Success.
GET https://server.domain.com/acme/JSSResource/computergroups/name/AutoPkg-SelfService-Testing: Success.
JSSImporter: ComputerGroup ID '103' verified on server
GET https://server.domain.com/acme/JSSResource/computergroups/name/AutoPkg-SelfService-Testing: Success.
JSSImporter: ComputerGroup 'AutoPkg-SelfService-Testing' updated.
JSSImporter: Looking for Policy template file PolicyTemplate-Testing.xml...
JSSImporter: Found file: /Users/user/git-repos/acme/acme-recipe-overrides/Testing/PolicyTemplate-Testing.xml
GET https://server.domain.com/acme/JSSResource/policies/name/TESTING%20AutoPkg%20-%20Install%20Latest%20NoMAD: Success.
JSSImporter: Setting policy to 'Install' package.
PUT https://server.domain.com/acme/JSSResource/policies/id/319: Success.
Retrieving data from JSS...
GET https://server.domain.com/acme/JSSResource/policies/id/319: Success.
GET https://server.domain.com/acme/JSSResource/policies/name/TESTING%20AutoPkg%20-%20Install%20Latest%20NoMAD: Success.
JSSImporter: Policy ID '319' verified on server
GET https://server.domain.com/acme/JSSResource/policies/name/TESTING%20AutoPkg%20-%20Install%20Latest%20NoMAD: Success.
JSSImporter: Policy 'TESTING AutoPkg - Install Latest NoMAD' updated.
JSSImporter: Looking for Icon file /Users/user/git-repos/acme/acme-recipe-overrides/Testing/NoMAD.png...
JSSImporter: Found file: /Users/user/Library/AutoPkg/RecipeRepos/com.github.autopkg.rtrouton-recipes/JSS/NoMAD.png
JSSImporter: Icon matches existing icon, moving on...
server.domain.com is already mounted at /Volumes/acme.

{'Output': {'jss_changed_objects': {'jss_category_added': [],
                                    'jss_extension_attribute_added': [],
                                    'jss_extension_attribute_updated': [],
                                    'jss_group_added': [],
                                    'jss_group_updated': ['AutoPkg-SelfService-Testing'],
                                    'jss_icon_uploaded': [],
                                    'jss_package_added': [],
                                    'jss_package_updated': ['NoMAD-1.2.0.pkg',
                                                            'NoMAD-1.2.0.pkg'],
                                    'jss_policy_added': [],
                                    'jss_policy_updated': ['TESTING AutoPkg - '
                                                           'Install Latest '
                                                           'NoMAD'],
                                    'jss_repo_updated': [],
                                    'jss_script_added': [],
                                    'jss_script_updated': []},
            'jss_importer_summary_result': {'data': {'Categories': '',
                                                     'Extension_Attributes': '',
                                                     'Groups': 'AutoPkg-SelfService-Testing',
                                                     'Icon': '',
                                                     'Name': 'NoMAD',
                                                     'Package': 'NoMAD-1.2.0.pkg',
                                                     'Package_Uploaded': '',
                                                     'Policy': 'TESTING '
                                                               'AutoPkg - '
                                                               'Install Latest '
                                                               'NoMAD',
                                                     'Scripts': '',
                                                     'Version': '1.2.0'},
                                            'report_fields': ['Name',
                                                              'Package',
                                                              'Categories',
                                                              'Groups',
                                                              'Scripts',
                                                              'Extension_Attributes',
                                                              'Policy',
                                                              'Icon',
                                                              'Version',
                                                              'Package_Uploaded'],
                                            'summary_text': 'The following '
                                                            'changes were made '
                                                            'to the Jamf Pro '
                                                            'Server:'}}}
{'API_PASSWORD': 'redacted',
 'API_USERNAME': 'redacted',
 'AUTOPKG_VERSION': '2.1',
 'CATEGORY': 'Testing1000',
 'CHECK_FILESIZE_ONLY': False,
 'DESCRIPTION': 'NoMAD is a helpful replacement for Active Directory bindings, '
                'using Kerberos and other resources to provide Active '
                'Directory services.',
 'GROUP_NAME': 'AutoPkg-SelfService-Testing',
 'GROUP_TEMPLATE': '/Users/user/git-repos/acme/acme-recipe-overrides/Testing/SmartGroupTemplate-Testing.xml',
 'ICON': '/Users/user/git-repos/acme/acme-recipe-overrides/Testing/NoMAD.png',
 'JSS_REPOS': [{'name': 'server.domain.com', 'password': 'redacted'}],
 'JSS_SUPPRESS_WARNINGS': True,
 'JSS_URL': 'https://server.domain.com/acme',
 'JSS_VERIFY_SSL': True,
 'NAME': 'NoMAD',
 'PARENT_RECIPES': ['/Users/user/Library/AutoPkg/RecipeRepos/com.github.autopkg.rtrouton-recipes/JSS/NoMAD.jss.recipe',
                    '/Users/user/Library/AutoPkg/RecipeRepos/com.github.autopkg.tbridge-recipes/NoMAD/NoMAD.pkg.recipe',
                    '/Users/user/Library/AutoPkg/RecipeRepos/com.github.autopkg.tbridge-recipes/NoMAD/NoMAD.download.recipe'],
 'POLICY_CATEGORY': 'Testing1000',
 'POLICY_TEMPLATE': '/Users/user/git-repos/acme/acme-recipe-overrides/Testing/PolicyTemplate-Testing.xml',
 'RECIPE_CACHE_DIR': '/Users/user/Library/AutoPkg/Cache/local.jss.NoMAD-Testing',
 'RECIPE_DIR': '/Users/user/git-repos/acme/acme-recipe-overrides/Testing',
 'RECIPE_OVERRIDE_DIRS': ['~/Library/AutoPkg/RecipeOverrides'],
 'RECIPE_PATH': '/Users/user/git-repos/acme/acme-recipe-overrides/Testing/NoMAD-Testing.jss.recipe',
 'RECIPE_REPOS': {'/Users/user/Library/AutoPkg/RecipeRepos/com.github.autopkg.MichalMMac-recipes': {'URL': 'https://github.com/autopkg/MichalMMac-recipes'},
                  '/Users/user/Library/AutoPkg/RecipeRepos/com.github.autopkg.apettinen-recipes': {'URL': 'https://github.com/autopkg/apettinen-recipes'},
                  '/Users/user/Library/AutoPkg/RecipeRepos/com.github.autopkg.bkerns-recipes': {'URL': 'https://github.com/autopkg/bkerns-recipes'},
                  '/Users/user/Library/AutoPkg/RecipeRepos/com.github.autopkg.bochoven-recipes': {'URL': 'https://github.com/autopkg/bochoven-recipes'},
                  '/Users/user/Library/AutoPkg/RecipeRepos/com.github.autopkg.cgerke-recipes': {'URL': 'https://github.com/autopkg/cgerke-recipes'},
                  '/Users/user/Library/AutoPkg/RecipeRepos/com.github.autopkg.dataJAR-recipes': {'URL': 'https://github.com/autopkg/dataJAR-recipes'},
                  '/Users/user/Library/AutoPkg/RecipeRepos/com.github.autopkg.foigus-recipes': {'URL': 'https://github.com/autopkg/foigus-recipes'},
                  '/Users/user/Library/AutoPkg/RecipeRepos/com.github.autopkg.hansen-m-recipes': {'URL': 'https://github.com/autopkg/hansen-m-recipes'},
                  '/Users/user/Library/AutoPkg/RecipeRepos/com.github.autopkg.hjuutilainen-recipes': {'URL': 'https://github.com/autopkg/hjuutilainen-recipes'},
                  '/Users/user/Library/AutoPkg/RecipeRepos/com.github.autopkg.homebysix-recipes': {'URL': 'https://github.com/autopkg/homebysix-recipes'},
                  '/Users/user/Library/AutoPkg/RecipeRepos/com.github.autopkg.jessepeterson-recipes': {'URL': 'https://github.com/autopkg/jessepeterson-recipes'},
                  '/Users/user/Library/AutoPkg/RecipeRepos/com.github.autopkg.jleggat-recipes': {'URL': 'https://github.com/autopkg/jleggat-recipes'},
                  '/Users/user/Library/AutoPkg/RecipeRepos/com.github.autopkg.jlehikoinen-recipes': {'URL': 'https://github.com/autopkg/jlehikoinen-recipes'},
                  '/Users/user/Library/AutoPkg/RecipeRepos/com.github.autopkg.jss-recipes': {'URL': 'https://github.com/autopkg/jss-recipes'},
                  '/Users/user/Library/AutoPkg/RecipeRepos/com.github.autopkg.justinrummel-recipes': {'URL': 'https://github.com/autopkg/justinrummel-recipes'},
                  '/Users/user/Library/AutoPkg/RecipeRepos/com.github.autopkg.killahquam-recipes': {'URL': 'https://github.com/autopkg/killahquam-recipes'},
                  '/Users/user/Library/AutoPkg/RecipeRepos/com.github.autopkg.moofit-recipes': {'URL': 'https://github.com/autopkg/moofit-recipes'},
                  '/Users/user/Library/AutoPkg/RecipeRepos/com.github.autopkg.mosen-recipes': {'URL': 'https://github.com/autopkg/mosen-recipes'},
                  '/Users/user/Library/AutoPkg/RecipeRepos/com.github.autopkg.n8felton-recipes': {'URL': 'https://github.com/autopkg/n8felton-recipes'},
                  '/Users/user/Library/AutoPkg/RecipeRepos/com.github.autopkg.novaksam-recipes': {'URL': 'https://github.com/autopkg/novaksam-recipes'},
                  '/Users/user/Library/AutoPkg/RecipeRepos/com.github.autopkg.peshay-recipes': {'URL': 'https://github.com/autopkg/peshay-recipes'},
                  '/Users/user/Library/AutoPkg/RecipeRepos/com.github.autopkg.recipes': {'URL': 'https://github.com/autopkg/recipes'},
                  '/Users/user/Library/AutoPkg/RecipeRepos/com.github.autopkg.rtrouton-recipes': {'URL': 'https://github.com/autopkg/rtrouton-recipes'},
                  '/Users/user/Library/AutoPkg/RecipeRepos/com.github.autopkg.rustymyers-recipes': {'URL': 'https://github.com/autopkg/rustymyers-recipes'},
                  '/Users/user/Library/AutoPkg/RecipeRepos/com.github.autopkg.sheagcraig-recipes': {'URL': 'https://github.com/autopkg/sheagcraig-recipes'},
                  '/Users/user/Library/AutoPkg/RecipeRepos/com.github.autopkg.tbridge-recipes': {'URL': 'https://github.com/autopkg/tbridge-recipes'},
                  '/Users/user/Library/AutoPkg/RecipeRepos/com.github.autopkg.timsutton-recipes': {'URL': 'https://github.com/autopkg/timsutton-recipes'},
                  '/Users/user/Library/AutoPkg/RecipeRepos/com.github.autopkg.ygini-recipes': {'URL': 'https://github.com/autopkg/ygini-recipes'},
                  '/Users/user/Library/AutoPkg/RecipeRepos/com.github.hjuutilainen.autopkg-virustotalanalyzer': {'URL': 'https://github.com/hjuutilainen/autopkg-virustotalanalyzer.git'}},
 'RECIPE_SEARCH_DIRS': ['.',
                        '~/Library/AutoPkg/Recipes',
                        '/Library/AutoPkg/Recipes',
                        '/Users/user/Library/AutoPkg/RecipeRepos/com.github.autopkg.recipes',
                        '/Users/user/Library/AutoPkg/RecipeRepos/com.github.autopkg.jessepeterson-recipes',
                        '/Users/user/Library/AutoPkg/RecipeRepos/com.github.autopkg.hjuutilainen-recipes',
                        '/Users/user/Library/AutoPkg/RecipeRepos/com.github.autopkg.apettinen-recipes',
                        '/Users/user/Library/AutoPkg/RecipeRepos/com.github.autopkg.bkerns-recipes',
                        '/Users/user/Library/AutoPkg/RecipeRepos/com.github.autopkg.dataJAR-recipes',
                        '/Users/user/Library/AutoPkg/RecipeRepos/com.github.autopkg.rtrouton-recipes',
                        '/Users/user/Library/AutoPkg/RecipeRepos/com.github.autopkg.jlehikoinen-recipes',
                        '/Users/user/Library/AutoPkg/RecipeRepos/com.github.autopkg.killahquam-recipes',
                        '/Users/user/Library/AutoPkg/RecipeRepos/com.github.autopkg.timsutton-recipes',
                        '/Users/user/Library/AutoPkg/RecipeRepos/com.github.autopkg.jleggat-recipes',
                        '/Users/user/Library/AutoPkg/RecipeRepos/com.github.autopkg.homebysix-recipes',
                        '/Users/user/Library/AutoPkg/RecipeRepos/com.github.autopkg.jss-recipes',
                        '/Users/user/Library/AutoPkg/RecipeRepos/com.github.autopkg.cgerke-recipes',
                        '/Users/user/Library/AutoPkg/RecipeRepos/com.github.hjuutilainen.autopkg-virustotalanalyzer',
                        '/Users/user/Library/AutoPkg/RecipeRepos/com.github.autopkg.ygini-recipes',
                        '/Users/user/Library/AutoPkg/RecipeRepos/com.github.autopkg.peshay-recipes',
                        '/Users/user/Library/AutoPkg/RecipeRepos/com.github.autopkg.novaksam-recipes',
                        '/Users/user/Library/AutoPkg/RecipeRepos/com.github.autopkg.MichalMMac-recipes',
                        '/Users/user/Library/AutoPkg/RecipeRepos/com.github.autopkg.bochoven-recipes',
                        '/Users/user/Library/AutoPkg/RecipeRepos/com.github.autopkg.mosen-recipes',
                        '/Users/user/Library/AutoPkg/RecipeRepos/com.github.autopkg.moofit-recipes',
                        '/Users/user/Library/AutoPkg/RecipeRepos/com.github.autopkg.rustymyers-recipes',
                        '/Users/user/Library/AutoPkg/RecipeRepos/com.github.autopkg.hansen-m-recipes',
                        '/Users/user/Library/AutoPkg/RecipeRepos/com.github.autopkg.foigus-recipes',
                        '/Users/user/Library/AutoPkg/RecipeRepos/com.github.autopkg.justinrummel-recipes',
                        '/Users/user/Library/AutoPkg/RecipeRepos/com.github.autopkg.sheagcraig-recipes',
                        '/Users/user/Library/AutoPkg/RecipeRepos/com.github.autopkg.n8felton-recipes',
                        '/Users/user/Library/AutoPkg/RecipeRepos/com.github.autopkg.tbridge-recipes',
                        '/Users/user/git-repos/acme/acme-recipe-overrides/Testing',
                        '/Users/user/Library/AutoPkg/RecipeRepos/com.github.autopkg.rtrouton-recipes/JSS',
                        '/Users/user/Library/AutoPkg/RecipeRepos/com.github.autopkg.tbridge-recipes/NoMAD'],
 'STOP_IF_NO_JSS_UPLOAD': False,
 'category': 'Testing1000',
 'destination_path': '/Users/user/Library/AutoPkg/Cache/local.jss.NoMAD-Testing/payload',
 'download_changed': False,
 'etag': '',
 'expected_authority_names': ['Developer ID Installer: Joel Rennich '
                              '(AAPZK3CB24)',
                              'Developer ID Certification Authority',
                              'Apple Root CA'],
 'find_method': 'glob',
 'flat_pkg_path': '/Users/user/Library/AutoPkg/Cache/local.jss.NoMAD-Testing/downloads/NoMAD.pkg',
 'force_policy_state': True,
 'found_filename': '/Users/user/Library/AutoPkg/Cache/local.jss.NoMAD-Testing/unpack/NoMAD-1.2.0.1003.pkg/Payload',
 'groups': [{'name': 'AutoPkg-SelfService-Testing',
             'smart': True,
             'template_path': '/Users/user/git-repos/acme/acme-recipe-overrides/Testing/SmartGroupTemplate-Testing.xml'}],
 'input_path': '/Users/user/Library/AutoPkg/Cache/local.jss.NoMAD-Testing/downloads/NoMAD.pkg',
 'input_plist_path': '/Users/user/Library/AutoPkg/Cache/local.jss.NoMAD-Testing/payload/Applications/NoMAD.app/Contents/Info.plist',
 'jss_changed_objects': {'jss_category_added': [],
                         'jss_extension_attribute_added': [],
                         'jss_extension_attribute_updated': [],
                         'jss_group_added': [],
                         'jss_group_updated': ['AutoPkg-SelfService-Testing'],
                         'jss_icon_uploaded': [],
                         'jss_package_added': [],
                         'jss_package_updated': ['NoMAD-1.2.0.pkg',
                                                 'NoMAD-1.2.0.pkg'],
                         'jss_policy_added': [],
                         'jss_policy_updated': ['TESTING AutoPkg - Install '
                                                'Latest NoMAD'],
                         'jss_repo_updated': [],
                         'jss_script_added': [],
                         'jss_script_updated': []},
 'jss_importer_summary_result': {'data': {'Categories': '',
                                          'Extension_Attributes': '',
                                          'Groups': 'AutoPkg-SelfService-Testing',
                                          'Icon': '',
                                          'Name': 'NoMAD',
                                          'Package': 'NoMAD-1.2.0.pkg',
                                          'Package_Uploaded': '',
                                          'Policy': 'TESTING AutoPkg - Install '
                                                    'Latest NoMAD',
                                          'Scripts': '',
                                          'Version': '1.2.0'},
                                 'report_fields': ['Name',
                                                   'Package',
                                                   'Categories',
                                                   'Groups',
                                                   'Scripts',
                                                   'Extension_Attributes',
                                                   'Policy',
                                                   'Icon',
                                                   'Version',
                                                   'Package_Uploaded'],
                                 'summary_text': 'The following changes were '
                                                 'made to the Jamf Pro '
                                                 'Server:'},
 'last_modified': '',
 'os_requirements': '',
 'package_boot_volume_required': 'True',
 'package_info': '',
 'package_notes': '',
 'package_priority': '10',
 'package_reboot': 'False',
 'path_list': ['/Users/user/Library/AutoPkg/Cache/local.jss.NoMAD-Testing/unpack',
               '/Users/user/Library/AutoPkg/Cache/local.jss.NoMAD-Testing/payload'],
 'pathname': '/Users/user/Library/AutoPkg/Cache/local.jss.NoMAD-Testing/downloads/NoMAD.pkg',
 'pattern': '/Users/user/Library/AutoPkg/Cache/local.jss.NoMAD-Testing/unpack/NoMAD-*.pkg/Payload',
 'pkg_copier_summary_result': {'data': {'pkg_path': '/Users/user/Library/AutoPkg/Cache/local.jss.NoMAD-Testing/NoMAD-1.2.0.pkg'},
                               'summary_text': 'The following packages were '
                                               'copied:'},
 'pkg_path': '/Users/user/Library/AutoPkg/Cache/local.jss.NoMAD-Testing/NoMAD-1.2.0.pkg',
 'pkg_payload_path': '/Users/user/Library/AutoPkg/Cache/local.jss.NoMAD-Testing/unpack/NoMAD-1.2.0.1003.pkg/Payload',
 'plist_version_key': 'CFBundleShortVersionString',
 'policy_action_type': 'Install',
 'policy_category': 'Testing1000',
 'policy_template': '/Users/user/git-repos/acme/acme-recipe-overrides/Testing/PolicyTemplate-Testing.xml',
 'prefetch_filename': False,
 'prod_name': 'NoMAD',
 'self_service_description': 'NoMAD is a helpful replacement for Active '
                             'Directory bindings, using Kerberos and other '
                             'resources to provide Active Directory services.',
 'self_service_icon': '/Users/user/git-repos/acme/acme-recipe-overrides/Testing/NoMAD.png',
 'skip_scope': False,
 'skip_scripts': False,
 'source_pkg': '/Users/user/Library/AutoPkg/Cache/local.jss.NoMAD-Testing/downloads/NoMAD.pkg',
 'url': 'https://files.nomad.menu/NoMAD.pkg',
 'verbose': 4,
 'version': '1.2.0'}
Receipt written to /Users/user/Library/AutoPkg/Cache/local.jss.NoMAD-Testing/receipts/local.jss-receipt-20200902-115142.plist

The following packages were copied:
    Pkg Path                                                                 
    --------                                                                 
    /Users/user/Library/AutoPkg/Cache/local.jss.NoMAD-Testing/NoMAD-1.2.0.pkg  

The following changes were made to the Jamf Pro Server:
    Name   Package          Categories  Groups                       Scripts  Extension Attributes  Policy                                  Icon  Version  Package Uploaded  
    ----   -------          ----------  ------                       -------  --------------------  ------                                  ----  -------  ----------------  
    NoMAD  NoMAD-1.2.0.pkg              AutoPkg-SelfService-Testing                                 TESTING AutoPkg - Install Latest NoMAD        1.2.0               

1.1.1 output:

Processing local.jss.NoMAD-Testing...
{'API_PASSWORD': 'redacted',
 'API_USERNAME': 'redacted',
 'AUTOPKG_VERSION': '2.1',
 'CATEGORY': 'Testing1000',
 'DESCRIPTION': 'NoMAD is a helpful replacement for Active Directory bindings, '
                'using Kerberos and other resources to provide Active '
                'Directory services.',
 'GROUP_NAME': 'AutoPkg-SelfService-Testing',
 'GROUP_TEMPLATE': '/Users/user/git-repos/acme/acme-recipe-overrides/Testing/SmartGroupTemplate-Testing.xml',
 'ICON': '/Users/user/git-repos/acme/acme-recipe-overrides/Testing/NoMAD.png',
 'JSS_REPOS': [{'name': 'server.domain.com', 'password': 'redacted'}],
 'JSS_URL': 'https://server.domain.com/acme',
 'NAME': 'NoMAD',
 'PARENT_RECIPES': ['/Users/user/Library/AutoPkg/RecipeRepos/com.github.autopkg.rtrouton-recipes/JSS/NoMAD.jss.recipe',
                    '/Users/user/Library/AutoPkg/RecipeRepos/com.github.autopkg.tbridge-recipes/NoMAD/NoMAD.pkg.recipe',
                    '/Users/user/Library/AutoPkg/RecipeRepos/com.github.autopkg.tbridge-recipes/NoMAD/NoMAD.download.recipe'],
 'POLICY_CATEGORY': 'Testing1000',
 'POLICY_TEMPLATE': '/Users/user/git-repos/acme/acme-recipe-overrides/Testing/PolicyTemplate-Testing.xml',
 'RECIPE_CACHE_DIR': '/Users/user/Library/AutoPkg/Cache/local.jss.NoMAD-Testing',
 'RECIPE_DIR': '/Users/user/git-repos/acme/acme-recipe-overrides/Testing',
 'RECIPE_OVERRIDE_DIRS': ['~/Library/AutoPkg/RecipeOverrides'],
 'RECIPE_PATH': '/Users/user/git-repos/acme/acme-recipe-overrides/Testing/NoMAD-Testing.jss.recipe',
 'RECIPE_REPOS': {'/Users/user/Library/AutoPkg/RecipeRepos/com.github.autopkg.MichalMMac-recipes': {'URL': 'https://github.com/autopkg/MichalMMac-recipes'},
                  '/Users/user/Library/AutoPkg/RecipeRepos/com.github.autopkg.apettinen-recipes': {'URL': 'https://github.com/autopkg/apettinen-recipes'},
                  '/Users/user/Library/AutoPkg/RecipeRepos/com.github.autopkg.bkerns-recipes': {'URL': 'https://github.com/autopkg/bkerns-recipes'},
                  '/Users/user/Library/AutoPkg/RecipeRepos/com.github.autopkg.bochoven-recipes': {'URL': 'https://github.com/autopkg/bochoven-recipes'},
                  '/Users/user/Library/AutoPkg/RecipeRepos/com.github.autopkg.cgerke-recipes': {'URL': 'https://github.com/autopkg/cgerke-recipes'},
                  '/Users/user/Library/AutoPkg/RecipeRepos/com.github.autopkg.dataJAR-recipes': {'URL': 'https://github.com/autopkg/dataJAR-recipes'},
                  '/Users/user/Library/AutoPkg/RecipeRepos/com.github.autopkg.foigus-recipes': {'URL': 'https://github.com/autopkg/foigus-recipes'},
                  '/Users/user/Library/AutoPkg/RecipeRepos/com.github.autopkg.hansen-m-recipes': {'URL': 'https://github.com/autopkg/hansen-m-recipes'},
                  '/Users/user/Library/AutoPkg/RecipeRepos/com.github.autopkg.hjuutilainen-recipes': {'URL': 'https://github.com/autopkg/hjuutilainen-recipes'},
                  '/Users/user/Library/AutoPkg/RecipeRepos/com.github.autopkg.homebysix-recipes': {'URL': 'https://github.com/autopkg/homebysix-recipes'},
                  '/Users/user/Library/AutoPkg/RecipeRepos/com.github.autopkg.jessepeterson-recipes': {'URL': 'https://github.com/autopkg/jessepeterson-recipes'},
                  '/Users/user/Library/AutoPkg/RecipeRepos/com.github.autopkg.jleggat-recipes': {'URL': 'https://github.com/autopkg/jleggat-recipes'},
                  '/Users/user/Library/AutoPkg/RecipeRepos/com.github.autopkg.jlehikoinen-recipes': {'URL': 'https://github.com/autopkg/jlehikoinen-recipes'},
                  '/Users/user/Library/AutoPkg/RecipeRepos/com.github.autopkg.jss-recipes': {'URL': 'https://github.com/autopkg/jss-recipes'},
                  '/Users/user/Library/AutoPkg/RecipeRepos/com.github.autopkg.justinrummel-recipes': {'URL': 'https://github.com/autopkg/justinrummel-recipes'},
                  '/Users/user/Library/AutoPkg/RecipeRepos/com.github.autopkg.killahquam-recipes': {'URL': 'https://github.com/autopkg/killahquam-recipes'},
                  '/Users/user/Library/AutoPkg/RecipeRepos/com.github.autopkg.moofit-recipes': {'URL': 'https://github.com/autopkg/moofit-recipes'},
                  '/Users/user/Library/AutoPkg/RecipeRepos/com.github.autopkg.mosen-recipes': {'URL': 'https://github.com/autopkg/mosen-recipes'},
                  '/Users/user/Library/AutoPkg/RecipeRepos/com.github.autopkg.n8felton-recipes': {'URL': 'https://github.com/autopkg/n8felton-recipes'},
                  '/Users/user/Library/AutoPkg/RecipeRepos/com.github.autopkg.novaksam-recipes': {'URL': 'https://github.com/autopkg/novaksam-recipes'},
                  '/Users/user/Library/AutoPkg/RecipeRepos/com.github.autopkg.peshay-recipes': {'URL': 'https://github.com/autopkg/peshay-recipes'},
                  '/Users/user/Library/AutoPkg/RecipeRepos/com.github.autopkg.recipes': {'URL': 'https://github.com/autopkg/recipes'},
                  '/Users/user/Library/AutoPkg/RecipeRepos/com.github.autopkg.rtrouton-recipes': {'URL': 'https://github.com/autopkg/rtrouton-recipes'},
                  '/Users/user/Library/AutoPkg/RecipeRepos/com.github.autopkg.rustymyers-recipes': {'URL': 'https://github.com/autopkg/rustymyers-recipes'},
                  '/Users/user/Library/AutoPkg/RecipeRepos/com.github.autopkg.sheagcraig-recipes': {'URL': 'https://github.com/autopkg/sheagcraig-recipes'},
                  '/Users/user/Library/AutoPkg/RecipeRepos/com.github.autopkg.tbridge-recipes': {'URL': 'https://github.com/autopkg/tbridge-recipes'},
                  '/Users/user/Library/AutoPkg/RecipeRepos/com.github.autopkg.timsutton-recipes': {'URL': 'https://github.com/autopkg/timsutton-recipes'},
                  '/Users/user/Library/AutoPkg/RecipeRepos/com.github.autopkg.ygini-recipes': {'URL': 'https://github.com/autopkg/ygini-recipes'},
                  '/Users/user/Library/AutoPkg/RecipeRepos/com.github.hjuutilainen.autopkg-virustotalanalyzer': {'URL': 'https://github.com/hjuutilainen/autopkg-virustotalanalyzer.git'}},
 'RECIPE_SEARCH_DIRS': ['.',
                        '~/Library/AutoPkg/Recipes',
                        '/Library/AutoPkg/Recipes',
                        '/Users/user/Library/AutoPkg/RecipeRepos/com.github.autopkg.recipes',
                        '/Users/user/Library/AutoPkg/RecipeRepos/com.github.autopkg.jessepeterson-recipes',
                        '/Users/user/Library/AutoPkg/RecipeRepos/com.github.autopkg.hjuutilainen-recipes',
                        '/Users/user/Library/AutoPkg/RecipeRepos/com.github.autopkg.apettinen-recipes',
                        '/Users/user/Library/AutoPkg/RecipeRepos/com.github.autopkg.bkerns-recipes',
                        '/Users/user/Library/AutoPkg/RecipeRepos/com.github.autopkg.dataJAR-recipes',
                        '/Users/user/Library/AutoPkg/RecipeRepos/com.github.autopkg.rtrouton-recipes',
                        '/Users/user/Library/AutoPkg/RecipeRepos/com.github.autopkg.jlehikoinen-recipes',
                        '/Users/user/Library/AutoPkg/RecipeRepos/com.github.autopkg.killahquam-recipes',
                        '/Users/user/Library/AutoPkg/RecipeRepos/com.github.autopkg.timsutton-recipes',
                        '/Users/user/Library/AutoPkg/RecipeRepos/com.github.autopkg.jleggat-recipes',
                        '/Users/user/Library/AutoPkg/RecipeRepos/com.github.autopkg.homebysix-recipes',
                        '/Users/user/Library/AutoPkg/RecipeRepos/com.github.autopkg.jss-recipes',
                        '/Users/user/Library/AutoPkg/RecipeRepos/com.github.autopkg.cgerke-recipes',
                        '/Users/user/Library/AutoPkg/RecipeRepos/com.github.hjuutilainen.autopkg-virustotalanalyzer',
                        '/Users/user/Library/AutoPkg/RecipeRepos/com.github.autopkg.ygini-recipes',
                        '/Users/user/Library/AutoPkg/RecipeRepos/com.github.autopkg.peshay-recipes',
                        '/Users/user/Library/AutoPkg/RecipeRepos/com.github.autopkg.novaksam-recipes',
                        '/Users/user/Library/AutoPkg/RecipeRepos/com.github.autopkg.MichalMMac-recipes',
                        '/Users/user/Library/AutoPkg/RecipeRepos/com.github.autopkg.bochoven-recipes',
                        '/Users/user/Library/AutoPkg/RecipeRepos/com.github.autopkg.mosen-recipes',
                        '/Users/user/Library/AutoPkg/RecipeRepos/com.github.autopkg.moofit-recipes',
                        '/Users/user/Library/AutoPkg/RecipeRepos/com.github.autopkg.rustymyers-recipes',
                        '/Users/user/Library/AutoPkg/RecipeRepos/com.github.autopkg.hansen-m-recipes',
                        '/Users/user/Library/AutoPkg/RecipeRepos/com.github.autopkg.foigus-recipes',
                        '/Users/user/Library/AutoPkg/RecipeRepos/com.github.autopkg.justinrummel-recipes',
                        '/Users/user/Library/AutoPkg/RecipeRepos/com.github.autopkg.sheagcraig-recipes',
                        '/Users/user/Library/AutoPkg/RecipeRepos/com.github.autopkg.n8felton-recipes',
                        '/Users/user/Library/AutoPkg/RecipeRepos/com.github.autopkg.tbridge-recipes',
                        '/Users/user/git-repos/acme/acme-recipe-overrides/Testing',
                        '/Users/user/Library/AutoPkg/RecipeRepos/com.github.autopkg.rtrouton-recipes/JSS',
                        '/Users/user/Library/AutoPkg/RecipeRepos/com.github.autopkg.tbridge-recipes/NoMAD'],
 'STOP_IF_NO_JSS_UPLOAD': False,
 'verbose': 4}
URLDownloader
{'Input': {'url': 'https://files.nomad.menu/NoMAD.pkg'}}
URLDownloader: No value supplied for prefetch_filename, setting default value of: False
URLDownloader: No value supplied for CHECK_FILESIZE_ONLY, setting default value of: False
URLDownloader: Curl command: ['/usr/bin/curl', '--silent', '--show-error', '--no-buffer', '--dump-header', '-', '--speed-time', '30', '--location', '--url', 'https://files.nomad.menu/NoMAD.pkg', '--fail', '--output', '/Users/user/Library/AutoPkg/Cache/local.jss.NoMAD-Testing/downloads/tmp6a_pzi32', '--header', 'If-None-Match: "2bce7bab9c6d8b3e46db8a0aead6971b"', '--header', 'If-Modified-Since: Tue, 08 Oct 2019 00:39:07 GMT']
URLDownloader: Item at URL is unchanged.
URLDownloader: Using existing /Users/user/Library/AutoPkg/Cache/local.jss.NoMAD-Testing/downloads/NoMAD.pkg
{'Output': {'pathname': '/Users/user/Library/AutoPkg/Cache/local.jss.NoMAD-Testing/downloads/NoMAD.pkg'}}
EndOfCheckPhase
{'Input': {}}
{'Output': {}}
CodeSignatureVerifier
{'Input': {'expected_authority_names': ['Developer ID Installer: Joel Rennich '
                                        '(AAPZK3CB24)',
                                        'Developer ID Certification Authority',
                                        'Apple Root CA'],
           'input_path': '/Users/user/Library/AutoPkg/Cache/local.jss.NoMAD-Testing/downloads/NoMAD.pkg'}}
CodeSignatureVerifier: Verifying installer package signature...
CodeSignatureVerifier: Package "NoMAD.pkg":
CodeSignatureVerifier:    Status: signed by a developer certificate issued by Apple for distribution
CodeSignatureVerifier:    Signed with a trusted timestamp on: 2019-10-07 20:45:18 +0000
CodeSignatureVerifier:    Certificate Chain:
CodeSignatureVerifier:     1. Developer ID Installer: Joel Rennich (AAPZK3CB24)
CodeSignatureVerifier:        Expires: 2024-10-07 20:35:05 +0000
CodeSignatureVerifier:        SHA256 Fingerprint:
CodeSignatureVerifier:            27 57 B3 B4 75 1D 74 18 B4 87 AC B8 29 1F E9 F6 C3 69 F3 28 09 30 
CodeSignatureVerifier:            F7 96 3B 1E 41 98 F7 10 BD 1F
CodeSignatureVerifier:        ------------------------------------------------------------------------
CodeSignatureVerifier:     2. Developer ID Certification Authority
CodeSignatureVerifier:        Expires: 2027-02-01 22:12:15 +0000
CodeSignatureVerifier:        SHA256 Fingerprint:
CodeSignatureVerifier:            7A FC 9D 01 A6 2F 03 A2 DE 96 37 93 6D 4A FE 68 09 0D 2D E1 8D 03 
CodeSignatureVerifier:            F2 9C 88 CF B0 B1 BA 63 58 7F
CodeSignatureVerifier:        ------------------------------------------------------------------------
CodeSignatureVerifier:     3. Apple Root CA
CodeSignatureVerifier:        Expires: 2035-02-09 21:40:36 +0000
CodeSignatureVerifier:        SHA256 Fingerprint:
CodeSignatureVerifier:            B0 B1 73 0E CB C7 FF 45 05 14 2C 49 F1 29 5E 6E DA 6B CA ED 7E 2C 
CodeSignatureVerifier:            68 C5 BE 91 B5 A1 10 01 F0 24
CodeSignatureVerifier: 
CodeSignatureVerifier: Signature is valid
CodeSignatureVerifier: Authority name chain is valid
{'Output': {}}
FlatPkgUnpacker
{'Input': {'destination_path': '/Users/user/Library/AutoPkg/Cache/local.jss.NoMAD-Testing/unpack',
           'flat_pkg_path': '/Users/user/Library/AutoPkg/Cache/local.jss.NoMAD-Testing/downloads/NoMAD.pkg'}}
FlatPkgUnpacker: Unpacked /Users/user/Library/AutoPkg/Cache/local.jss.NoMAD-Testing/downloads/NoMAD.pkg to /Users/user/Library/AutoPkg/Cache/local.jss.NoMAD-Testing/unpack
{'Output': {}}
FileFinder
{'Input': {'pattern': '/Users/user/Library/AutoPkg/Cache/local.jss.NoMAD-Testing/unpack/NoMAD-*.pkg/Payload'}}
FileFinder: No value supplied for find_method, setting default value of: glob
FileFinder: Found file match: '/Users/user/Library/AutoPkg/Cache/local.jss.NoMAD-Testing/unpack/NoMAD-1.2.0.1003.pkg/Payload' from globbed '/Users/user/Library/AutoPkg/Cache/local.jss.NoMAD-Testing/unpack/NoMAD-*.pkg/Payload'
{'Output': {'found_filename': '/Users/user/Library/AutoPkg/Cache/local.jss.NoMAD-Testing/unpack/NoMAD-1.2.0.1003.pkg/Payload'}}
PkgPayloadUnpacker
{'Input': {'destination_path': '/Users/user/Library/AutoPkg/Cache/local.jss.NoMAD-Testing/payload',
           'pkg_payload_path': '/Users/user/Library/AutoPkg/Cache/local.jss.NoMAD-Testing/unpack/NoMAD-1.2.0.1003.pkg/Payload'}}
PkgPayloadUnpacker: Unpacked /Users/user/Library/AutoPkg/Cache/local.jss.NoMAD-Testing/unpack/NoMAD-1.2.0.1003.pkg/Payload to /Users/user/Library/AutoPkg/Cache/local.jss.NoMAD-Testing/payload
{'Output': {}}
Versioner
{'Input': {'input_plist_path': '/Users/user/Library/AutoPkg/Cache/local.jss.NoMAD-Testing/payload/Applications/NoMAD.app/Contents/Info.plist',
           'plist_version_key': 'CFBundleShortVersionString'}}
Versioner: Found version 1.2.0 in file /Users/user/Library/AutoPkg/Cache/local.jss.NoMAD-Testing/payload/Applications/NoMAD.app/Contents/Info.plist
{'Output': {'version': '1.2.0'}}
PkgCopier
{'Input': {'pkg_path': '/Users/user/Library/AutoPkg/Cache/local.jss.NoMAD-Testing/NoMAD-1.2.0.pkg',
           'source_pkg': '/Users/user/Library/AutoPkg/Cache/local.jss.NoMAD-Testing/downloads/NoMAD.pkg'}}
PkgCopier: Copied /Users/user/Library/AutoPkg/Cache/local.jss.NoMAD-Testing/downloads/NoMAD.pkg to /Users/user/Library/AutoPkg/Cache/local.jss.NoMAD-Testing/NoMAD-1.2.0.pkg
{'Output': {'pkg_copier_summary_result': {'data': {'pkg_path': '/Users/user/Library/AutoPkg/Cache/local.jss.NoMAD-Testing/NoMAD-1.2.0.pkg'},
                                          'summary_text': 'The following '
                                                          'packages were '
                                                          'copied:'},
            'pkg_path': '/Users/user/Library/AutoPkg/Cache/local.jss.NoMAD-Testing/NoMAD-1.2.0.pkg'}}
PathDeleter
{'Input': {'path_list': ['/Users/user/Library/AutoPkg/Cache/local.jss.NoMAD-Testing/unpack',
                         '/Users/user/Library/AutoPkg/Cache/local.jss.NoMAD-Testing/payload']}}
PathDeleter: Deleted /Users/user/Library/AutoPkg/Cache/local.jss.NoMAD-Testing/unpack
PathDeleter: Deleted /Users/user/Library/AutoPkg/Cache/local.jss.NoMAD-Testing/payload
{'Output': {}}
JSSImporter
{'Input': {'API_PASSWORD': 'redacted',
           'API_USERNAME': 'AutoPkg',
           'JSS_REPOS': [{'name': 'server.domain.com',
                          'password': 'redacted'}],
           'JSS_URL': 'https://server.domain.com/acme',
           'STOP_IF_NO_JSS_UPLOAD': False,
           'category': 'Testing1000',
           'groups': [{'name': 'AutoPkg-SelfService-Testing',
                       'smart': True,
                       'template_path': '/Users/user/git-repos/acme/acme-recipe-overrides/Testing/SmartGroupTemplate-Testing.xml'}],
           'pkg_path': '/Users/user/Library/AutoPkg/Cache/local.jss.NoMAD-Testing/NoMAD-1.2.0.pkg',
           'policy_category': 'Testing1000',
           'policy_template': '/Users/user/git-repos/acme/acme-recipe-overrides/Testing/PolicyTemplate-Testing.xml',
           'prod_name': 'NoMAD',
           Unmount successful for /Volumes/acme
'self_service_description': 'NoMAD is a helpful replacement for '
                                       'Active Directory bindings, using '
                                       'Kerberos and other resources to '
                                       'provide Active Directory services.',
           'self_service_icon': '/Users/user/git-repos/acme/acme-recipe-overrides/Testing/NoMAD.png',
           'version': '1.2.0'}}
JSSImporter: No value supplied for JSS_VERIFY_SSL, setting default value of: True
JSSImporter: No value supplied for JSS_SUPPRESS_WARNINGS, setting default value of: True
JSSImporter: No value supplied for force_policy_state, setting default value of: True
JSSImporter: No value supplied for os_requirements, setting default value of: 
JSSImporter: No value supplied for package_info, setting default value of: 
JSSImporter: No value supplied for package_notes, setting default value of: 
JSSImporter: No value supplied for package_priority, setting default value of: 10
JSSImporter: No value supplied for package_reboot, setting default value of: False
JSSImporter: No value supplied for package_boot_volume_required, setting default value of: True
JSSImporter: No value supplied for policy_action_type, setting default value of: Install
JSSImporter: No value supplied for skip_scope, setting default value of: False
JSSImporter: No value supplied for skip_scripts, setting default value of: False
JSSImporter: python-jss version: 2.1.
JSSImporter: JSSImporter version: 1.1.1.
GET https://server.domain.com/acme/JSSResource/jssuser: Success.
Retrieving data from JSS...
GET https://server.domain.com/acme/JSSResource/jssuser: Success.
JSSImporter: Jamf Pro version: '10.22.1-t1592683582'
GET https://server.domain.com/acme/JSSResource/categories/name/Testing1000: Success.
JSSImporter: Category, type 'category', name 'Testing1000', already exists on the Jamf Pro server, moving on...
GET https://server.domain.com/acme/JSSResource/categories/name/Testing1000: Success.
JSSImporter: Category, type 'policy_category', name 'Testing1000', already exists on the Jamf Pro server, moving on...
JSSImporter: Checking if DP already mounted...
smb://service_user_rw:redacted@server.domain.com:139/acme
GET https://server.domain.com/acme/JSSResource/packages/name/NoMAD-1.2.0.pkg: Success.
JSSImporter: Package object already exists on the Jamf Pro server.
JSSImporter: Package ID: 560
server.domain.com is already mounted at /Volumes/acme.

JSSImporter: Package upload not required.
JSSImporter: Overwriting policy although upload requirement is determined as False, because STOP_IF_NO_JSS_UPLOAD is set to False.
PUT https://server.domain.com/acme/JSSResource/packages/id/560: Success.
Retrieving data from JSS...
GET https://server.domain.com/acme/JSSResource/packages/id/560: Success.
JSSImporter: Package 'reboot_required' updated.
PUT https://server.domain.com/acme/JSSResource/packages/id/560: Success.
Retrieving data from JSS...
GET https://server.domain.com/acme/JSSResource/packages/id/560: Success.
JSSImporter: Package 'boot_volume_required' updated.
JSSImporter: Unmounting DP...
server.domain.com is already mounted at /Volumes/acme.

{'Output': {'jss_changed_objects': {'jss_category_added': [],
                                    'jss_extension_attribute_added': [],
                                    'jss_extension_attribute_updated': [],
                                    'jss_group_added': [],
                                    'jss_group_updated': [],
                                    'jss_icon_uploaded': [],
                                    'jss_package_added': [],
                                    'jss_package_updated': ['NoMAD-1.2.0.pkg',
                                                            'NoMAD-1.2.0.pkg'],
                                    'jss_policy_added': [],
                                    'jss_policy_updated': [],
                                    'jss_repo_updated': [],
                                    'jss_script_added': [],
                                    'jss_script_updated': []},
            'jss_importer_summary_result': {'data': {'Categories': '',
                                                     'Extension_Attributes': '',
                                                     'Groups': '',
                                                     'Icon': '',
                                                     'Name': 'NoMAD',
                                                     'Package': 'NoMAD-1.2.0.pkg',
                                                     'Package_Uploaded': '',
                                                     'Policy': '',
                                                     'Scripts': '',
                                                     'Version': '1.2.0'},
                                            'report_fields': ['Name',
                                                              'Package',
                                                              'Categories',
                                                              'Groups',
                                                              'Scripts',
                                                              'Extension_Attributes',
                                                              'Policy',
                                                              'Icon',
                                                              'Version',
                                                              'Package_Uploaded'],
                                            'summary_text': 'The following '
                                                            'changes were made '
                                                            'to the Jamf Pro '
                                                            'Server:'}}}
{'API_PASSWORD': 'redacted',
 'API_USERNAME': 'AutoPkg',
 'AUTOPKG_VERSION': '2.1',
 'CATEGORY': 'Testing1000',
 'CHECK_FILESIZE_ONLY': False,
 'DESCRIPTION': 'NoMAD is a helpful replacement for Active Directory bindings, '
                'using Kerberos and other resources to provide Active '
                'Directory services.',
 'GROUP_NAME': 'AutoPkg-SelfService-Testing',
 'GROUP_TEMPLATE': '/Users/user/git-repos/acme/acme-recipe-overrides/Testing/SmartGroupTemplate-Testing.xml',
 'ICON': '/Users/user/git-repos/acme/acme-recipe-overrides/Testing/NoMAD.png',
 'JSS_REPOS': [{'name': 'server.domain.com', 'password': 'redacted'}],
 'JSS_SUPPRESS_WARNINGS': True,
 'JSS_URL': 'https://server.domain.com/acme',
 'JSS_VERIFY_SSL': True,
 'NAME': 'NoMAD',
 'PARENT_RECIPES': ['/Users/user/Library/AutoPkg/RecipeRepos/com.github.autopkg.rtrouton-recipes/JSS/NoMAD.jss.recipe',
                    '/Users/user/Library/AutoPkg/RecipeRepos/com.github.autopkg.tbridge-recipes/NoMAD/NoMAD.pkg.recipe',
                    '/Users/user/Library/AutoPkg/RecipeRepos/com.github.autopkg.tbridge-recipes/NoMAD/NoMAD.download.recipe'],
 'POLICY_CATEGORY': 'Testing1000',
 'POLICY_TEMPLATE': '/Users/user/git-repos/acme/acme-recipe-overrides/Testing/PolicyTemplate-Testing.xml',
 'RECIPE_CACHE_DIR': '/Users/user/Library/AutoPkg/Cache/local.jss.NoMAD-Testing',
 'RECIPE_DIR': '/Users/user/git-repos/acme/acme-recipe-overrides/Testing',
 'RECIPE_OVERRIDE_DIRS': ['~/Library/AutoPkg/RecipeOverrides'],
 'RECIPE_PATH': '/Users/user/git-repos/acme/acme-recipe-overrides/Testing/NoMAD-Testing.jss.recipe',
 'RECIPE_REPOS': {'/Users/user/Library/AutoPkg/RecipeRepos/com.github.autopkg.MichalMMac-recipes': {'URL': 'https://github.com/autopkg/MichalMMac-recipes'},
                  '/Users/user/Library/AutoPkg/RecipeRepos/com.github.autopkg.apettinen-recipes': {'URL': 'https://github.com/autopkg/apettinen-recipes'},
                  '/Users/user/Library/AutoPkg/RecipeRepos/com.github.autopkg.bkerns-recipes': {'URL': 'https://github.com/autopkg/bkerns-recipes'},
                  '/Users/user/Library/AutoPkg/RecipeRepos/com.github.autopkg.bochoven-recipes': {'URL': 'https://github.com/autopkg/bochoven-recipes'},
                  '/Users/user/Library/AutoPkg/RecipeRepos/com.github.autopkg.cgerke-recipes': {'URL': 'https://github.com/autopkg/cgerke-recipes'},
                  '/Users/user/Library/AutoPkg/RecipeRepos/com.github.autopkg.dataJAR-recipes': {'URL': 'https://github.com/autopkg/dataJAR-recipes'},
                  '/Users/user/Library/AutoPkg/RecipeRepos/com.github.autopkg.foigus-recipes': {'URL': 'https://github.com/autopkg/foigus-recipes'},
                  '/Users/user/Library/AutoPkg/RecipeRepos/com.github.autopkg.hansen-m-recipes': {'URL': 'https://github.com/autopkg/hansen-m-recipes'},
                  '/Users/user/Library/AutoPkg/RecipeRepos/com.github.autopkg.hjuutilainen-recipes': {'URL': 'https://github.com/autopkg/hjuutilainen-recipes'},
                  '/Users/user/Library/AutoPkg/RecipeRepos/com.github.autopkg.homebysix-recipes': {'URL': 'https://github.com/autopkg/homebysix-recipes'},
                  '/Users/user/Library/AutoPkg/RecipeRepos/com.github.autopkg.jessepeterson-recipes': {'URL': 'https://github.com/autopkg/jessepeterson-recipes'},
                  '/Users/user/Library/AutoPkg/RecipeRepos/com.github.autopkg.jleggat-recipes': {'URL': 'https://github.com/autopkg/jleggat-recipes'},
                  '/Users/user/Library/AutoPkg/RecipeRepos/com.github.autopkg.jlehikoinen-recipes': {'URL': 'https://github.com/autopkg/jlehikoinen-recipes'},
                  '/Users/user/Library/AutoPkg/RecipeRepos/com.github.autopkg.jss-recipes': {'URL': 'https://github.com/autopkg/jss-recipes'},
                  '/Users/user/Library/AutoPkg/RecipeRepos/com.github.autopkg.justinrummel-recipes': {'URL': 'https://github.com/autopkg/justinrummel-recipes'},
                  '/Users/user/Library/AutoPkg/RecipeRepos/com.github.autopkg.killahquam-recipes': {'URL': 'https://github.com/autopkg/killahquam-recipes'},
                  '/Users/user/Library/AutoPkg/RecipeRepos/com.github.autopkg.moofit-recipes': {'URL': 'https://github.com/autopkg/moofit-recipes'},
                  '/Users/user/Library/AutoPkg/RecipeRepos/com.github.autopkg.mosen-recipes': {'URL': 'https://github.com/autopkg/mosen-recipes'},
                  '/Users/user/Library/AutoPkg/RecipeRepos/com.github.autopkg.n8felton-recipes': {'URL': 'https://github.com/autopkg/n8felton-recipes'},
                  '/Users/user/Library/AutoPkg/RecipeRepos/com.github.autopkg.novaksam-recipes': {'URL': 'https://github.com/autopkg/novaksam-recipes'},
                  '/Users/user/Library/AutoPkg/RecipeRepos/com.github.autopkg.peshay-recipes': {'URL': 'https://github.com/autopkg/peshay-recipes'},
                  '/Users/user/Library/AutoPkg/RecipeRepos/com.github.autopkg.recipes': {'URL': 'https://github.com/autopkg/recipes'},
                  '/Users/user/Library/AutoPkg/RecipeRepos/com.github.autopkg.rtrouton-recipes': {'URL': 'https://github.com/autopkg/rtrouton-recipes'},
                  '/Users/user/Library/AutoPkg/RecipeRepos/com.github.autopkg.rustymyers-recipes': {'URL': 'https://github.com/autopkg/rustymyers-recipes'},
                  '/Users/user/Library/AutoPkg/RecipeRepos/com.github.autopkg.sheagcraig-recipes': {'URL': 'https://github.com/autopkg/sheagcraig-recipes'},
                  '/Users/user/Library/AutoPkg/RecipeRepos/com.github.autopkg.tbridge-recipes': {'URL': 'https://github.com/autopkg/tbridge-recipes'},
                  '/Users/user/Library/AutoPkg/RecipeRepos/com.github.autopkg.timsutton-recipes': {'URL': 'https://github.com/autopkg/timsutton-recipes'},
                  '/Users/user/Library/AutoPkg/RecipeRepos/com.github.autopkg.ygini-recipes': {'URL': 'https://github.com/autopkg/ygini-recipes'},
                  '/Users/user/Library/AutoPkg/RecipeRepos/com.github.hjuutilainen.autopkg-virustotalanalyzer': {'URL': 'https://github.com/hjuutilainen/autopkg-virustotalanalyzer.git'}},
 'RECIPE_SEARCH_DIRS': ['.',
                        '~/Library/AutoPkg/Recipes',
                        '/Library/AutoPkg/Recipes',
                        '/Users/user/Library/AutoPkg/RecipeRepos/com.github.autopkg.recipes',
                        '/Users/user/Library/AutoPkg/RecipeRepos/com.github.autopkg.jessepeterson-recipes',
                        '/Users/user/Library/AutoPkg/RecipeRepos/com.github.autopkg.hjuutilainen-recipes',
                        '/Users/user/Library/AutoPkg/RecipeRepos/com.github.autopkg.apettinen-recipes',
                        '/Users/user/Library/AutoPkg/RecipeRepos/com.github.autopkg.bkerns-recipes',
                        '/Users/user/Library/AutoPkg/RecipeRepos/com.github.autopkg.dataJAR-recipes',
                        '/Users/user/Library/AutoPkg/RecipeRepos/com.github.autopkg.rtrouton-recipes',
                        '/Users/user/Library/AutoPkg/RecipeRepos/com.github.autopkg.jlehikoinen-recipes',
                        '/Users/user/Library/AutoPkg/RecipeRepos/com.github.autopkg.killahquam-recipes',
                        '/Users/user/Library/AutoPkg/RecipeRepos/com.github.autopkg.timsutton-recipes',
                        '/Users/user/Library/AutoPkg/RecipeRepos/com.github.autopkg.jleggat-recipes',
                        '/Users/user/Library/AutoPkg/RecipeRepos/com.github.autopkg.homebysix-recipes',
                        '/Users/user/Library/AutoPkg/RecipeRepos/com.github.autopkg.jss-recipes',
                        '/Users/user/Library/AutoPkg/RecipeRepos/com.github.autopkg.cgerke-recipes',
                        '/Users/user/Library/AutoPkg/RecipeRepos/com.github.hjuutilainen.autopkg-virustotalanalyzer',
                        '/Users/user/Library/AutoPkg/RecipeRepos/com.github.autopkg.ygini-recipes',
                        '/Users/user/Library/AutoPkg/RecipeRepos/com.github.autopkg.peshay-recipes',
                        '/Users/user/Library/AutoPkg/RecipeRepos/com.github.autopkg.novaksam-recipes',
                        '/Users/user/Library/AutoPkg/RecipeRepos/com.github.autopkg.MichalMMac-recipes',
                        '/Users/user/Library/AutoPkg/RecipeRepos/com.github.autopkg.bochoven-recipes',
                        '/Users/user/Library/AutoPkg/RecipeRepos/com.github.autopkg.mosen-recipes',
                        '/Users/user/Library/AutoPkg/RecipeRepos/com.github.autopkg.moofit-recipes',
                        '/Users/user/Library/AutoPkg/RecipeRepos/com.github.autopkg.rustymyers-recipes',
                        '/Users/user/Library/AutoPkg/RecipeRepos/com.github.autopkg.hansen-m-recipes',
                        '/Users/user/Library/AutoPkg/RecipeRepos/com.github.autopkg.foigus-recipes',
                        '/Users/user/Library/AutoPkg/RecipeRepos/com.github.autopkg.justinrummel-recipes',
                        '/Users/user/Library/AutoPkg/RecipeRepos/com.github.autopkg.sheagcraig-recipes',
                        '/Users/user/Library/AutoPkg/RecipeRepos/com.github.autopkg.n8felton-recipes',
                        '/Users/user/Library/AutoPkg/RecipeRepos/com.github.autopkg.tbridge-recipes',
                        '/Users/user/git-repos/acme/acme-recipe-overrides/Testing',
                        '/Users/user/Library/AutoPkg/RecipeRepos/com.github.autopkg.rtrouton-recipes/JSS',
                        '/Users/user/Library/AutoPkg/RecipeRepos/com.github.autopkg.tbridge-recipes/NoMAD'],
 'STOP_IF_NO_JSS_UPLOAD': False,
 'category': 'Testing1000',
 'destination_path': '/Users/user/Library/AutoPkg/Cache/local.jss.NoMAD-Testing/payload',
 'download_changed': False,
 'etag': '',
 'expected_authority_names': ['Developer ID Installer: Joel Rennich '
                              '(AAPZK3CB24)',
                              'Developer ID Certification Authority',
                              'Apple Root CA'],
 'find_method': 'glob',
 'flat_pkg_path': '/Users/user/Library/AutoPkg/Cache/local.jss.NoMAD-Testing/downloads/NoMAD.pkg',
 'force_policy_state': True,
 'found_filename': '/Users/user/Library/AutoPkg/Cache/local.jss.NoMAD-Testing/unpack/NoMAD-1.2.0.1003.pkg/Payload',
 'groups': [{'name': 'AutoPkg-SelfService-Testing',
             'smart': True,
             'template_path': '/Users/user/git-repos/acme/acme-recipe-overrides/Testing/SmartGroupTemplate-Testing.xml'}],
 'input_path': '/Users/user/Library/AutoPkg/Cache/local.jss.NoMAD-Testing/downloads/NoMAD.pkg',
 'input_plist_path': '/Users/user/Library/AutoPkg/Cache/local.jss.NoMAD-Testing/payload/Applications/NoMAD.app/Contents/Info.plist',
 'jss_changed_objects': {'jss_category_added': [],
                         'jss_extension_attribute_added': [],
                         'jss_extension_attribute_updated': [],
                         'jss_group_added': [],
                         'jss_group_updated': [],
                         'jss_icon_uploaded': [],
                         'jss_package_added': [],
                         'jss_package_updated': ['NoMAD-1.2.0.pkg',
                                                 'NoMAD-1.2.0.pkg'],
                         'jss_policy_added': [],
                         'jss_policy_updated': [],
                         'jss_repo_updated': [],
                         'jss_script_added': [],
                         'jss_script_updated': []},
 'jss_importer_summary_result': {'data': {'Categories': '',
                                          'Extension_Attributes': '',
                                          'Groups': '',
                                          'Icon': '',
                                          'Name': 'NoMAD',
                                          'Package': 'NoMAD-1.2.0.pkg',
                                          'Package_Uploaded': '',
                                          'Policy': '',
                                          'Scripts': '',
                                          'Version': '1.2.0'},
                                 'report_fields': ['Name',
                                                   'Package',
                                                   'Categories',
                                                   'Groups',
                                                   'Scripts',
                                                   'Extension_Attributes',
                                                   'Policy',
                                                   'Icon',
                                                   'Version',
                                                   'Package_Uploaded'],
                                 'summary_text': 'The following changes were '
                                                 'made to the Jamf Pro '
                                                 'Server:'},
 'last_modified': '',
 'os_requirements': '',
 'package_boot_volume_required': 'True',
 'package_info': '',
 'package_notes': '',
 'package_priority': '10',
 'package_reboot': 'False',
 'path_list': ['/Users/user/Library/AutoPkg/Cache/local.jss.NoMAD-Testing/unpack',
               '/Users/user/Library/AutoPkg/Cache/local.jss.NoMAD-Testing/payload'],
 'pathname': '/Users/user/Library/AutoPkg/Cache/local.jss.NoMAD-Testing/downloads/NoMAD.pkg',
 'pattern': '/Users/user/Library/AutoPkg/Cache/local.jss.NoMAD-Testing/unpack/NoMAD-*.pkg/Payload',
 'pkg_copier_summary_result': {'data': {'pkg_path': '/Users/user/Library/AutoPkg/Cache/local.jss.NoMAD-Testing/NoMAD-1.2.0.pkg'},
                               'summary_text': 'The following packages were '
                                               'copied:'},
 'pkg_path': '/Users/user/Library/AutoPkg/Cache/local.jss.NoMAD-Testing/NoMAD-1.2.0.pkg',
 'pkg_payload_path': '/Users/user/Library/AutoPkg/Cache/local.jss.NoMAD-Testing/unpack/NoMAD-1.2.0.1003.pkg/Payload',
 'plist_version_key': 'CFBundleShortVersionString',
 'policy_action_type': 'Install',
 'policy_category': 'Testing1000',
 'policy_template': '/Users/user/git-repos/acme/acme-recipe-overrides/Testing/PolicyTemplate-Testing.xml',
 'prefetch_filename': False,
 'prod_name': 'NoMAD',
 'self_service_description': 'NoMAD is a helpful replacement for Active '
                             'Directory bindings, using Kerberos and other '
                             'resources to provide Active Directory services.',
 'self_service_icon': '/Users/user/git-repos/acme/acme-recipe-overrides/Testing/NoMAD.png',
 'skip_scope': False,
 'skip_scripts': False,
 'source_pkg': '/Users/user/Library/AutoPkg/Cache/local.jss.NoMAD-Testing/downloads/NoMAD.pkg',
 'url': 'https://files.nomad.menu/NoMAD.pkg',
 'verbose': 4,
 'version': '1.2.0'}
Receipt written to /Users/user/Library/AutoPkg/Cache/local.jss.NoMAD-Testing/receipts/local.jss-receipt-20200902-114933.plist

The following packages were copied:
    Pkg Path                                                                 
    --------                                                                 
    /Users/user/Library/AutoPkg/Cache/local.jss.NoMAD-Testing/NoMAD-1.2.0.pkg  

The following changes were made to the Jamf Pro Server:
    Name   Package          Categories  Groups  Scripts  Extension Attributes  Policy  Icon  Version  Package Uploaded  
    ----   -------          ----------  ------  -------  --------------------  ------  ----  -------  ----------------  
    NoMAD  NoMAD-1.2.0.pkg                                                                   1.2.0                      
grahampugh commented 3 years ago

Thanks, that's strange that it is stopping in 1.1.1 after the package even though it is properly identifying that STOP_IF_NO_JSS_UPLOAD is set to False so says it will continue. I'll take a look.

grahampugh commented 3 years ago

I can see some differences between the logic in the handle_package function and elsewhere. Working on fixes now.

grahampugh commented 3 years ago

@jlehikoinen Please can you try out Version 1.1.2, it should hopefully fix the problem.

jlehikoinen commented 3 years ago

Based on two different Jamf Pro + AutoPkg instances, working now as expected.

Thanks @grahampugh for quick fix and premium support!