{"id":17951529,"url":"https://github.com/calebalbers/it-glue-api-powershell-wrapper","last_synced_at":"2025-03-25T00:31:32.383Z","repository":{"id":119558254,"uuid":"95604491","full_name":"CalebAlbers/IT-Glue-API-PowerShell-Wrapper","owner":"CalebAlbers","description":"This PowerShell module acts as a wrapper for the IT Glue (http://itglue.com) API.","archived":false,"fork":false,"pushed_at":"2017-12-09T04:05:25.000Z","size":27,"stargazers_count":11,"open_issues_count":3,"forks_count":4,"subscribers_count":10,"default_branch":"master","last_synced_at":"2025-03-19T05:33:33.855Z","etag":null,"topics":["api","api-wrapper","automation","glue","it","itglue","module","powershell","powershell-module"],"latest_commit_sha":null,"homepage":null,"language":"PowerShell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/CalebAlbers.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-06-27T22:01:04.000Z","updated_at":"2023-10-29T22:27:42.000Z","dependencies_parsed_at":null,"dependency_job_id":"2f6f8907-361d-4275-8529-0ebc9a0c7895","html_url":"https://github.com/CalebAlbers/IT-Glue-API-PowerShell-Wrapper","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CalebAlbers%2FIT-Glue-API-PowerShell-Wrapper","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CalebAlbers%2FIT-Glue-API-PowerShell-Wrapper/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CalebAlbers%2FIT-Glue-API-PowerShell-Wrapper/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CalebAlbers%2FIT-Glue-API-PowerShell-Wrapper/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/CalebAlbers","download_url":"https://codeload.github.com/CalebAlbers/IT-Glue-API-PowerShell-Wrapper/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245377920,"owners_count":20605374,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["api","api-wrapper","automation","glue","it","itglue","module","powershell","powershell-module"],"created_at":"2024-10-29T09:47:43.696Z","updated_at":"2025-03-25T00:31:32.373Z","avatar_url":"https://github.com/CalebAlbers.png","language":"PowerShell","funding_links":[],"categories":[],"sub_categories":[],"readme":":warning:\n\n\n### This project has been permanently moved to https://github.com/itglue/powershellwrapper in hopes of obtaining greater community involvement. Please use that repo for any issues, feature requests, contributions, pull requests, and to access the latest available code (including the much anticipated support for flex assets). This repo will remain online for the near future to serve as a point of reference.\n\n\n\n:warning:\n\n---\n---\n---\n---\n[![Build status](https://ci.appveyor.com/api/projects/status/wa7jhl4dxrumrq5d/branch/master?svg=true)](https://ci.appveyor.com/project/CalebAlbers/it-glue-api-powershell-wrapper/branch/master)\n\n# IT-Glue-API-PowerShell-Wrapper\nThis PowerShell module acts as a wrapper for the IT Glue (http://itglue.com) API.\n\n---\n\n## Introduction\n\nIT Glue's API offers the ability to read, create, and update much of the data within IT Glue's documentation platform. That includes organizations, contacts, configuration items, and more. Full documentation for IT Glue's RESTful API can be found [here](https://api.itglue.com/developer/).\n\nThis module serves to abstract away the details of interacting with IT Glue's API endpoints in such a way that is consistent with PowerShell nomenclature. This gives system administrators and PowerShell developers a convenient and familiar way of using IT Glue's API to create documentation scripts, automation, and integrations.\n\n\n### Function Naming\n\nIT Glue features a REST API that makes use of common HTTP(s) GET, POST, PUT, and DELETE actions. In order to maintain PowerShell best practices, only approved verbs are used. As such, the following mapping should be utilized:\n\n- GET     -\u003e Get-\n- POST    -\u003e New-\n- PUT     -\u003e Set-\n- DELETE  -\u003e Remove-\n\nAdditionally, PowerShell's `verb-noun` nomenclature is respected. Each noun is prefixed with `ITGlue` in an attempt to prevent any naming problems.\n\nFor example, one might access the `/users/` API endpoint by running the following PowerShell command with the appropriate parameters:\n\n```posh\nGet-ITGlueUsers\n```\n\n---\n\n## Installation\n\nInstalling the latest release can be achieved by running the following command:\n```posh\niex (New-Object Net.WebClient).DownloadString(\"https://gist.githubusercontent.com/CalebAlbers/582a06f352330479274892928a6b86ed/raw/e03e5e70fc271d3384a17084fd5974a6e95a2bd5/install-it-glue-api-module\")\n```\n\nOne can also manually download the Master branch and run the following PowerShell command:\n\n```posh\nImport-Module .\\ITGlueAPI.psd1\n```\n\n\n## Initial Setup\n\nThe first time you run this module, you will need to configure the base URI and API key that are used to talk with IT Glue. Doing so is as follows:\n\n1. Run `Add-ITGlueBaseURI`. By default, IT Glue's `api.itglue.com` uri is entered. If you have your own API gateway or proxy, you may put in your own custom uri by specifiying the `-uri` parameter, as follows: `Get-ITGlueBaseURI -uri http://myapi.gateway.examplecom`.\n\n2. Run `Add-ITGlueAPIKey`. It will prompt you to enter your API key (please refer to IT Glue's documentation [here](https://api.itglue.com/developer/) for creating generating API key).\n\n3. [optional] If you would like the IT Glue module to remember your base uri and API key, you can run `Export-ITGlueModuleSettings`. This will create a config file at `Settings/config.psd1` that securely holds this information. Next time you run `Import-Module`, this configuration will automatically be loaded. \n\n:warning: Exporting module settings encrypts your API key in a format that can **only be unencrypted with your Windows account**. It makes use of PowerShell's `System.Security.SecureString` type, which uses reversible encrypted tied to your principle. This means that you cannot copy your configuration file to another computer or user account and expect it to work.\n\n:warning: Exporting and importing module settings requires use of the `ConvertTo-SecureString` cmdlet, which is currently unavailable in Linux and Mac PowerShell core ports. Until PS Core 6.0.0 is available, this functionality only works on Windows.\n\n\n## Usage\n\nCalling an API resource is as simple as running `Get-ITGlue\u003cresourcename\u003e`. The following is a table of supported functions and their corresponding API resources:\n\n| API Resource             | Create | Read                                | Update | Delete |\n| ------------------------ | ------ | ----------------------------------- | ------ | ------ |\n| Configuration Interfaces |        | `Get-ITGlueConfigurationInterfaces` |        | -      |\n| Configuration Statuses   |        | `Get-ITGlueConfigurationStatuses`   |        | -      |\n| Configuration Types      |        | `Get-ITGlueConfigurationTypes`      |        | -      |\n| Configurations           |        | `Get-ITGlueConfigurations`          |        | -      |\n| Contact Types            |        | `Get-ITGlueContactTypes`            |        | -      |\n| Contacts                 |        | `Get-ITGlueContacts`                |        | -      |\n| Countries                |        | `Get-ITGlueCountries`               |        | -      |\n| Favorite Organizations   |        | `Get-ITGlueFavoriteOrganizations`   |        | -      |\n| Locations                |        | `Get-ITGlueLocations`               |        | -      |\n| Manufacturers            |        | `Get-ITGlueManufacturers`           |        | -      |\n| Models                   |        | `Get-ITGlueModels`                  |        | -      |\n| Operating Systems        |        | `Get-ITGlueOperatingSystems`        |        | -      |\n| Organization Statuses    |        | `Get-ITGlueOrganizationStatuses`    |        | -      |\n| Organization Types       |        | `Get-ITGlueOrganizationTypes`       |        | -      |\n| Organizations            |        | `Get-ITGlueOrganizations`           |        | -      |\n| Platforms                |        | `Get-ITGluePlatforms`               |        | -      |\n| Regions                  |        | `Get-ITGlueRegions`                 |        | -      |\n| User Metrics             |        | `Get-ITGlueUserMetrics`             |        | -      |\n| Users                    |        | `Get-ITGlueUsers`                   |        | -      |\n\nEach `Get-` function will respond with the raw data that IT Glue's API provides. Usually, this data has at least three sub-sections:\n - `data` - The actual information requested (this is what most people care about)\n - `links` - Links to specific aspects of the data\n - `meta` - Information about the number of pages of results are available and other metadata.\n \nEach resource allows filters and parameters to be used to specify the desired output from IT Glue's API. Check out the wiki article on [Using Filters and Paramters](https://github.com/CalebAlbers/IT-Glue-API-PowerShell-Wrapper/wiki/Using-Filters-and-Parameters).\n\nA full list of functions can be retrieved by running `Get-Command -Module ITGlueAPI`. Help info and a list of paramters can be found by running `Get-Help \u003ccommand name\u003e`, such as:\n\n```posh\nGet-Help Get-ITGlueUsers\n```\n\n## Wiki :book:\n\nFor more information about using this module, as well as examples and advanced functionality, check out our [wiki](https://github.com/CalebAlbers/IT-Glue-API-PowerShell-Wrapper/wiki/)!\n\n---\n\n### Notes\n\nThis PowerShell module is currently in beta and features read-only capabilities. **Use at your own risk!** The addition of create and update (New- and Set- verbs, respectively) will mark v1.0 of this module.\n\nThis project is not endoresed or supported by IT Glue. \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcalebalbers%2Fit-glue-api-powershell-wrapper","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcalebalbers%2Fit-glue-api-powershell-wrapper","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcalebalbers%2Fit-glue-api-powershell-wrapper/lists"}