GitXplorerGitXplorer
h

HaloAPI

public
47 stars
36 forks
2 issues

Commits

List of commits on branch main.
Verified
e50a9820677d128acfe853917149af18826ae9f7

Merge pull request #50 from homotechsual/develop

hhomotechsual committed 2 months ago
Verified
ba2244292064304be4ccc82f2ef88d028f789854

Update HaloAPI module file.

hhomotechsual committed 2 months ago
Verified
eb6e1af04048c363adceb7621f3255ae4ff67882

Fix various issues with the Get-HaloRecurringInvoice commandlet.

hhomotechsual committed 2 months ago
Verified
840379a620cf4906b56c2951ee2056a25dadb19a

Merge pull request #49 from renada-jacob/main

hhomotechsual committed 2 months ago
Verified
fc7a07305e20debf01e9e2c1c996dec4fd9f0e2c

Update Public/Invoke/Invoke-HaloRequest.ps1

rrenada-jacob committed 2 months ago
Unverified
6be4e0d06a01bee67970e7cb030d2b280a85dc6a

refactor: append base URL to URI if not provided in Invoke-HaloRequest.ps1

rrenada-jacob committed 2 months ago

README

The README file for this repository.

HaloAPI - A PowerShell module for Halo Service Solutions software

Azure DevOps Pipeline Status Azure DevOps Code Coverage PowerShell Gallery License GitHub Sponsors Stable Release Preview Release

Who are we?

We are Mikey O'Toole (@homotechsual) and Luke Whitelock (@LWhitelock) we are both directors for (separate) UK-based managed IT services providers who share a passion for automation and good quality MSP software tools.

What is this?

This is the code for a PowerShell module for the Halo Service Solutions series of software, including:

The module is written for PowerShell 7. It is not compatible with Windows PowerShell 5.1 and never will be.. This module is licensed under the MIT license.

What does it do?

HaloAPI provides a PowerShell wrapper around the Halo API, tested extensively against HaloPSA instances only (please test against HaloITSM or HaloServiceDesk instances and let us know how it works). The module can retrieve and send information to the Halo API.

Installing

This module is published to the PowerShell Gallery and can be installed from within PowerShell with Install-Module

Install-Module HaloAPI

Getting Started

The first and probably most important requirement for this module is getting it connected to your Halo instance.

Creating an API application in Halo

  1. In your Halo instance head to Configuration > Integrations > Halo PSA API
    This might be Halo Service Desk API or Halo ITSM API.

  2. Click on View Applications
    All going well you should be at config/integrations/api/applications.

  3. Click on New to add a new API application.

  4. Enter the Application Name.
    For example HaloAPI PS Module.

  5. Make sure Active is checked.

  6. Set the Authentication Method to Client ID and Secret (Services).

  7. Store the Client ID and Client Secret securely.

  8. Set the Login Type and Agent to login as appropriately.
    This setting will determine who appears to be responsible for these API calls. You may want to create a dedicated agent user for this purpose.

  9. Select the Permissions tab.

  10. Grant the application the permissions required for your purposes.
    Generally speaking you want to limit the API to only the permissions it needs, to do the job you're scripting for.

Connecting the PowerShell module to the API

  1. Install the HaloAPI PowerShell module on PowerShell 7.0 or above.

    Install-Module HaloAPI
  2. Connect to the Halo API with Connect-HaloAPI

    Connect-HaloAPI -ClientID "a1234567-bcd8-9e01-2f34-56g7hijk89lm" -Tenant "demo" -URL "https://demo.halopsa.com" -ClientSecret "a1234567-bcd8-9e01-2f34-56g7hijk89lm-a1234567-bcd8-9e01-2f34-56g7hijk89lm" -Scopes "all"