BREAKING

Other Changes

  • users_create_remote() gains an exact argument to simplify complex cases (#135). Long term, we should solicit feedback on whether this function attempts to do too much.
  • Add helpers for common content modification actions: content_update(), content_update_access_type() and content_update_owner()
  • Fix an issue with relative paths in bundle_dir() (@slodge) (#118, #121)
  • Add overwrite= parameter to download_bundle()
  • Add HTTP request customization options, and related documentation (#101)
  • Add git deployment (#112)
  • Switch Task class to ContentTask
    • R6 does not support multiple inheritance, so we keep the Task interface up-to-date on ContentTask and VariantTask manually
  • Improve several print methods (#18, #19)
  • Protect against bad bundles (#13)
  • Error if an empty API key is defined (#16)
  • Add a few content_list_* helpers (#130):
    • content_list_with_permissions returns a content_list with a “permission” column that includes who has access
    • content_list_by_tag allows fetching just a content_list for a particular tag
    • content_list_guid_has_access filters a “content list with permission” by whether a user or group GUID has access
  • Add a user_guid_from_username() function to convert session$user or other usernames to a user GUID (#130)
  • Add a client$PATCH verb
  • Switch Content$update() to use PATCH (which depends on RStudio Connect 1.8.6+)
  • Add error messaging for new API endpoints when using older versions of Connect
  • Fail more gracefully if/when protocol http/https is not defined

BREAKING: * Switch from RSTUDIO_CONNECT_* variables to CONNECT_* variables * Rename a handful of functions: - connect$activate_bundle to connect$content_deploy - connect$create_app to connect$content_create - connect$upload_bundle to connect$content_upload - connect$get_users to connect$users * Change some return types to be consistent with the API - connect$content_upload returns the response instead of bundle_id - connect$content_deploy returns the response instead of task_id * Switch endpoints from using app_id to guid * get_task$start renamed to get_task$first * promote$app_name renamed to promote$name * rename the package to connectapi * change functions to take a Connect object instead of server / api key - cache_apps - tag_page

OTHER: * Add some endpoints: - content - audit_logs - server_settings - server_settings_r - inst_shiny_usage - inst_content_visits * Add some helper functions: - swap_vanity_url, deployment functions - browse_ family of functions - users_create_remote and groups_create_remote for remote users/groups * Update Connect R6 object to be compatible with Connect 1.7.0+ APIs * Added a NEWS.md file to track changes to the package. * Add integration testing to protect against regressions * Add tbl_connect() as a lazy_tbl for querying Connect API endpoints * Add get_* functions as alternatives to lazy_tbl

  • Initial package version
  • Create a Connect R6 object