Learn R Programming

galvanizer

galvanizer is a package designed to interact to Highbond’s API (https://docs-apis.highbond.com). By using R with galvanizer, you can download data from Highbond’s Results and Project modules. For Highbond Results, you can also process data locally and upload data into Highbond Result tables.

Installation

You can install the currently available version of galvanizer from CRAN:

# Release:
install.packages('galvanizer')

# Development version:
# devtools::install_github("jonlinca/galvanizer")

Getting started

Before using the API, you will need some core information to access your Highbond instance. They are:

  • Highbond API token
  • Organization number
  • Data Center location

To generate a Highbond API token from your Highbond instance by referencing the help files. This can be found on your profile page.

To identify your organization number and data center, best found from your Launchpad, under Options / Organization. The organization number will be under the format of https://accounts.highbond.com/orgs/<ORGANIZATION_ID>/details

To use any functions, you will need to create and pass a Highbond Authentication object. You can make it by passing the API token, organization / instance number and data center location to setup_highbond():

library(galvanizer)
highbond_auth <- setup_highbond(highbond_openapi, highbond_org, highbond_datacenter)

Highbond Results data

Once you have those, then you need to identify the table you want to upload and download data from. The easiest way to do this is to navigate to the Results Data Analytic table you want to upload and grab the TABLE_ID from the URL. It will look like:

https://<company_name>.results.highbond.com/projects/<COLLECTION_ID>/controls/<ANALYSIS_ID>/control_tests/<TABLE_ID>

You can choose to upload a set of test data into a new Data Analytic to try this out:

upload <- data.frame(name = c('Cowbell', 'Rufus'),
                     age = c(21, 32),
                     active = c(TRUE, FALSE),
                     date_started = c(as.Date('2019-01-01'), as.Date('2020-01-01')),
                     date_ended = c(as.POSIXct(Sys.time()), as.POSIXct(Sys.time())))

# Substitute your API key, org number, data, center, table, and the dataframe to be uploaded
post_results_records(highbond_auth, highbond_table, upload = upload, purge = TRUE)
#> NULL

Once that has successfully uploaded into Highbond Results, you can view the results online and also download the new data too:

download <- get_results_records(highbond_auth, highbond_table)
#> Retrieving Readme
#> Date in ISO8601 format; converting timezone from UTC to "America/Edmonton".
#> Date in ISO8601 format; converting timezone from UTC to "America/Edmonton".
#> Date in ISO8601 format; converting timezone from UTC to "America/Edmonton".

head(download$content$data)
#>   metadata.priority metadata.status metadata.publish_date metadata.publisher
#> 1               Low             New   2021-05-27 22:21:38       Jonathan Lin
#> 2               Low             New   2021-05-27 22:21:38       Jonathan Lin
#>   metadata.assignee metadata.group metadata.updated_at metadata.closed_at
#> 1              <NA>           <NA> 2021-05-27 22:21:38               <NA>
#> 2              <NA>           <NA> 2021-05-27 22:21:38               <NA>
#>      name age active date_started          date_ended extras.record_id
#> 1 Cowbell  21   TRUE   2019-01-01 2021-05-27 22:21:34     1.250362e+15
#> 2   Rufus  32  FALSE   2020-01-01 2021-05-27 22:21:34     1.250362e+15
#>   extras.collection extras.results_table
#> 1        galvanizer               Readme
#> 2        galvanizer               Readme

Highbond Projects data

Highbond Projects data (also known as ‘Audits’) is also retrievable, depending on which screen of information you would like to retrieve from. There are options to download all or just one set of information, depending on the pane chosen.

projects <- get_projects(highbond_auth)

Copy Link

Version

Install

install.packages('galvanizer')

Monthly Downloads

104

Version

0.5.3

License

GPL-3

Issues

Pull Requests

Stars

Forks

Maintainer

Jonathan Lin

Last Published

May 28th, 2021

Functions in galvanizer (0.5.3)

create_results_columns

Create or Delete Results - Columns
get_project_controls

Retrieve Highbond Project - Controls
create_results_collections

Create, Update or Delete Results - Collections
get_project_control_test_plans

Retrieve Highbond Project - Test Plans
create_results_tables

Create, Update or Delete Results - Tables
get_project_control_tests

Retrieve Highbond Project - Control Tests
get_project_collaborators

Retrieve Highbond Projects - Collaborators
galvanizer-package

galvanizer: Interface to Galvanize 'Highbond' Internal Audit Software
create_results_analyses

Create, Update or Delete Results - Analyses
get_project_actions

Retrieve Highbond Project - Actions
get_project_narratives

Retrieve Highbond Project - Narratives
get_project_mitigations

Retrieve Highbond Project - Mitigations
get_results_collections

Retrieve Highbond Results - Collections
get_results_analyses

Retrieve Highbond Results - Analyses
get_project_issues

Retrieve Highbond Project - Issues
get_results_tables

Retrieve Highbond Results - Tables
get_project_entities

Retrieve Highbond Projects - Entities
post_results_records

Upload Highbond Results - Records
get_project_entity_categories

Retrieve Highbond Projects - Entity Categories
get_project_result_files

Retrieve Highbond Project - Result Files
get_project_risks

Retrieve Highbond Project - Risks
get_project_walkthroughs

Retrieve Highbond Project - Walkthroughs / Execute Procedures
get_results_columns

Retrieve Highbond Results - Columns
get_project_objectives

Retrieve Highbond Project - Objectives
get_results_records

Retrieve Highbond Results - Records
setup_highbond

Highbond Authentication credentials
get_project_types

Retrieve Highbond Projects - Project Types
get_project_request_items

Retrieve Highbond Project - Request Items
get_project_type_custom_attributes

Retrieve Highbond Projects - Project Type Custom Attributes
get_project_planning_files

Retrieve Highbond Project - Planning Files
get_projects

Retrieve Highbond Projects - Projects