Skip to content

0.9.0

Compare
Choose a tag to compare
@github-actions github-actions released this 13 Dec 18:25

The biggest change is renaming jamf to python_jamf.
The second biggest change is switching from api.py to jps_api_wrapper (https://pypi.org/project/jps-api-wrapper/).

Full Changelog: 0.8.3...0.9.0

General

Changed

  • Renamed jamf to python_jamf.
  • Switched to jps_api_wrapper.
  • Bumped requests to 2.31.0.
  • Improved setconfig.py error handling if the server config is bad or not set.
  • Added Error.message property.
  • Added error classes: JamfRecordInvalidPath, JamfUnknownClass, JamfAPISurprise.
  • Config prompt now removes all /'s at the end of the jamf path.
  • convert.py can now force some keys to be arrays ("plural" property) using a dict to
    specify which properties are arrays or not.

Deprecated

  • api.py.
  • api_test.py.

Added

  • Added CHANGELOG.
  • tests/test_records.py.
  • server.py.

records.py changes:

Changed

  • Switched from exceptions defined in records.py to exceptions defined in exceptions.py.
  • Record constructor now just takes jamf_id and jamf_name (instead of "*args, **kw").
  • Improved how Record constructor creates a new record.
  • Renamed Records.refresh to Records.refresh_records.
  • Record delete, save, refresh_data, and Records refresh_records no longer get
    the path from swagger and call the api.py methods,
    but now they call the appropriate jps_api_wrapper method (if it exsits).
  • save method encodes data as "utf-8" before saving.
  • Reduced refresh_data calls to avoid constant talking to the server.
  • Search for records by path: jctl computers -p "location/[building==BIOL]".
  • When updating data with set_path, don't edit the data directly, modify a copy of the data.
    save() sends the "copy".
  • Split Package.refresh_related into Package.refresh_patchsoftwaretitles,
    Package.refresh_patchpolicies, Package.refresh_policies, and Package.refresh_groups.

Deprecated

  • Records.recordWithName(), use Records.recordsWithName() instead (since names are not always unique)

Added

  • import random, string, warnings, jps_api_wrapper.
  • import exceptions: JamfAPISurprise, JamfRecordInvalidPath, JamfRecordNotFound, JamfUnknownClass.
  • Added Records.random_value to create random uuids, semvars, and serial numbers
  • Added Records.create, Record.save_override, Record.set_data_name, Record.get_data_name
  • Added Records.stub_record, Records.create_override and Records.create for record creation
  • Added Records.delete for mass record deletion
  • Added Records.set_classic and Records.set_debug

Removed

  • ComputerConfigurations, MobileDeviceCommands, NetbootServers.
  • JamfError and NotFound error classes.
  • ClassicSwagger class and everything that used it.
  • Records.createNewRecord()

Fixed

  • Bug where record name doesn't show it's updated when it's updated