Skip to main content

Project Structure

So you've got two repositories now (assuming you followed the setting up guide.) this page looks at what's in the CIPP-API folder so you know where to look when you start coding.

The Root

In the CIPP-API directory itself there are a number of files and folders, this page highlights the unusual ones but first the general structure of most of the folders is:

ItemDescription
function.jsonA JSON file containing the function type and binding information.
run.ps1A PowerShell script file containing the function code itself.

So what else is here besides functions in terms of important files?

ItemDescription
ConversionTable.csvHolds information on Microsoft 365 licensing and product names used in other functions.
DNSHelper.psm1A custom PowerShell module providing DNS functions used by the Domain Analysers.
GraphHelper.psm1A custom PowerShell module providing Microsoft Graph helper functions used by most functions.
host.jsonHost configuration for the PowerShell function app host.
profile.ps1PowerShell profile to import modules and setup the environment for the PowerShell function.
requirements.psd1Lists required PowerShell modules and their versions used in the functions app.
version_latest.txtOur version file. This gets incremented just before dev gets merged into main for a new release.