XrmDocumentationGenerator
XrmDocumentationGenerator is a tool that generates PowerApps documentation for your Microsoft Dataverse solutions. It simplifies the documentation process and helps you keep track of your solution's components.
Features
- Generates documentation in simple syntax markdown format.
- Supports connection string for Dataverse.
- Allows specifying the solution logical name to document.
- Customizable output path for the generated document.
- Built in .NET6.0
Usage
The XrmDocumentationGenerator can be used as a System.CommandLine tool to generate documentation for your PowerApps solutions. Please refer to the GitHub repository for detailed instructions on usage and installation.
The step can be configured as below in a yaml pipeline file.
- task: XrmDocumentationGenerator@1
displayName: 'Generate XRM Documentation'
inputs:
connectionString: 'AuthType=ClientSecret;url=https://$(Url).dynamics.com;ClientId=$(ClientId);ClientSecret=$(ClientSecret)'
solutionName: '$(SolutionName)'
outputPath: $(Build.SourcesDirectory)\$(OutputPath)
This task can be used in a build or release pipeline. That will generate a document for a selected solution to a target destination.
Build pipeline example
trigger:
none
pool:
vmImage: 'windows-latest'
variables:
- name: selfRepoName
value: $[ resources.repositories.self.name ]
- name: Url
value: host.crm4
- name: ClientId
value: AzureAppClientId
- name: ClientSecret #Not recommended to be visible here (this is only an example)
value: AzureAppSecret
- name: SolutionName
value: AnySolutionSchemaName
- name: OutputPath
value: Docs
- name: Email
value: AnyEmail
steps:
- checkout: self
persistCredentials: true
- task: XrmDocumentationGenerator@1
displayName: 'Generate XRM Documentation'
inputs:
connectionString: 'AuthType=ClientSecret;url=https://$(Url).dynamics.com;ClientId=$(ClientId);ClientSecret=$(ClientSecret)'
solutionName: '$(SolutionName)'
outputPath: $(Build.SourcesDirectory)\$(OutputPath)
- powershell: |
git config user.email "$(Email)"
git config user.name "Automatic Build"
git status
git fetch
git branch --all
$branchName = "$(Build.SourceBranch)".replace('refs/heads/','')
git fetch
git checkout $branchName
git add .
git commit -m "docs generate $(SolutionName) documentation.[skip ci]"
git push origin $branchName
workingDirectory: '$(Build.SourcesDirectory)'
displayName: 'Commit and Push Changes to Git'
Supported connection string
Microsoft Documentation #(ClientId or Client Secret based authentication)
AuthType=ClientSecret;url=https://contosotest.crm.dynamics.com;ClientId={AppId};ClientSecret={ClientSecret}
Author
Ramy Victor
License
This project is licensed under the MIT License.