{ "$schema": "https://json-schema.org/draft-07/schema", "title": "Release Package Script Settings", "description": "Configuration file for Release-Package.ps1 script.", "Plugins": [ { "Name": "DotNetTest", "Stage": "Test", "Enabled": true, "project": "..\\..\\src\\MaksIT.UScheduler.Tests", "resultsDir": "..\\..\\testResults" }, { "Name": "QualityGate", "Stage": "QualityGate", "Enabled": true, "coverageThreshold": 0, "failOnVulnerabilities": true }, { "Name": "DotNetPublish", "Stage": "Build", "Enabled": true, "projectFiles": [ "..\\..\\src\\MaksIT.UScheduler\\MaksIT.UScheduler.csproj", "..\\..\\src\\MaksIT.UScheduler.ScheduleManager\\MaksIT.UScheduler.ScheduleManager.csproj" ], "artifactsDir": "..\\..\\release", "bundleDir": "..\\..\\release\\bundle" }, { "Name": "BundleCustomization", "Stage": "Build", "Enabled": true, "bundleDir": "..\\..\\release\\bundle", "scriptsPath": "..\\..\\src\\Scripts", "launcher": { "enabled": true, "fileName": "Start-ScheduleManager.bat", "targetProject": "scheduleManager" }, "projects": { "scheduleManagerCsprojEndsWith": "MaksIT.UScheduler.ScheduleManager.csproj", "uschedulerCsprojEndsWith": "MaksIT.UScheduler.csproj", "scheduleManagerAppSettingsFile": "appsettings.json", "uschedulerAppSettingsFile": "appsettings.json", "scheduleManagerServiceBinPath": "..\\MaksIT.UScheduler\\", "uschedulerLogDir": "..\\..\\Logs", "scriptsRelativeToExe": "..\\..\\Scripts" } }, { "Name": "CreateArchive", "Stage": "Build", "Enabled": true, "zipNamePattern": "maksit.uscheduler-{version}.zip" }, { "Name": "GitHub", "Stage": "Release", "branches": [ "main" ], "githubToken": "GITHUB_MAKS_IT_COM", "repository": "https://github.com/MAKS-IT-COM/uscheduler", "releaseNotesFile": "..\\..\\CHANGELOG.md", "releaseTitlePattern": "Release {version}" }, { "Name": "CleanupArtifacts", "Stage": "Release", "Enabled": true, "includePatterns": [ "*" ], "excludePatterns": [ "*.zip" ] } ], "_comments": { "Plugins": { "Name": "Plugin module file name in CorePlugins or CustomPlugins (for example, DotNetPublish -> CorePlugins/DotNetPublish.psm1).", "Stage": "Execution phase. Supported values are Test, QualityGate, Build, and Release.", "Enabled": "If true, the plugin is imported and Invoke-Plugin is called in the configured order.", "branches": "Plugin-specific allowed branches. Omit to allow any branch.", "project": "DotNetTest plugin only. Path to the test project directory, relative to the script folder.", "resultsDir": "DotNetTest plugin only. Optional results directory path, relative to the script folder.", "projectFiles": "DotNetPublish or another producer plugin can define the project files used for version discovery and artifact creation.", "artifactsDir": "DotNetPublish or another producer plugin can define the artifacts output directory, relative to the script folder.", "bundleDir": "DotNetPublish and BundleCustomization plugins can define the staged bundle directory, relative to the script folder.", "coverageThreshold": "QualityGate plugin only. Coverage threshold percent (0 disables threshold check).", "failOnVulnerabilities": "QualityGate plugin only. If true, fail when vulnerable packages are detected.", "githubToken": "GitHub plugin only. Environment variable name containing the GitHub token used by gh CLI.", "repository": "GitHub plugin only. Optional owner/repo or GitHub remote URL. Leave empty to use remote.origin.url.", "releaseNotesFile": "GitHub plugin (or another notes consumer plugin) can define the release notes source file, relative to the script folder.", "releaseTitlePattern": "GitHub plugin only. Release title pattern. Supports {version} placeholder.", "zipNamePattern": "GitHub plugin only. Archive name pattern for packaged release assets. Supports {version} placeholder.", "scriptsPath": "BundleCustomization plugin only. Scripts folder copied into the staged bundle, relative to the script folder.", "launcher": "BundleCustomization plugin only. Optional launcher batch file settings.", "projects": "BundleCustomization plugin only. Project-specific appsettings rewrite settings." } } }