GitXplorerGitXplorer
h

HaloAPI

public
47 stars
36 forks
2 issues

Commits

List of commits on branch main.
Verified
1f5d70d0fd03f8e67f6c7d80e4b3213649a34bb9

Merge pull request #47 from greenlighttec/main

hhomotechsual committed 2 months ago
Verified
53e7b17f063496b86da91962d75def9c865bd7ab

Merge branch 'homotechsual:main' into main

ggreenlighttec committed 2 months ago
Verified
ea7a8ee6ebe274698417cc13fad451dbfe9ec8d8

Merge pull request #46 from homotechsual/develop

hhomotechsual committed 2 months ago
Verified
be0487dfb15b07b4963b3873467090d24ae693d3

Update changelog.

hhomotechsual committed 2 months ago
Verified
a2b3a2724ce7a47c0b631ddf8d1bc5aa13516acc

Update changelog.

hhomotechsual committed 2 months ago
Verified
bf3f7c99666a0f893e5a7b25b476459b8316724a

Add creation command for view entities. Version 1.22.0

hhomotechsual 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"