How to integrate the Updater with GitHub?
This article will provide a step-by-step guide of how to integrate the Updater with GitHub.
Pre-release and draft GutHub updates are ignored.
Advanced Installer settings
Go to Updater Page and make the following settings:
- 1. Set "Updates configuration file URL" to a GitHub updates URL
- 2. Check "GitHub integration" option
Github Release settings
GitHub release API fields mapping to Updates Configuration File fields:
- "node_id" - Update section name (Update key)
- "item" - "Name"
- "tag_name" - "Version"
- "published_at" - "ReleaseDate"
- "assets\browser_download_url" - "URL"
- "assets\size" - "Size"
- "asset\name" - "ServerFileName"
- "body" - DescriptionHtml, FeatureHtml, EnhancementHtml, BugFixHtml
The "body" field is mapped to DescriptionHtml, FeatureHtml, EnhancementHtml, BugFixHtml fields. Markdown constructions are converted to updater simplified html.
Markdown language constructions that are translated are: bold, italic and link. The release notes must adhere to the following format:
Heading titles must match exactly.
Short description
Features
- Feature 1
- Feature 2
- etc..
Enhancements
- Enhancement 1
- Enhancement 2
- etc...
Bug Fixes
- Bug fix 1
- Bug fix 2
- etc...
The following Markdown language construction will be ignored:
- Horizontal rules
- Block quotes
All types of lists are accepted. The sublist element is converted to list.
Tables are not accepted and must not be used. The updater release notes will be formatted incorrectly.
Specifying "advinst_update.json" asset
Additionally, "advinst_update.json" asset can be specified, where additional Updater Configuration fields can be configured The supported fields are:
- 1. CommandLine
- 2. ServerFileName
- 3. SHA256
- 4. ReleaseDate
- 5. All fields involved in the update detection (FilePath, RegistryKey, CustomDetection, CustomDetectionParams)
The above fields will overwrite any files that are automatically set from GitHub API
If no "advinst_update.json" asset is specified, the following filed is automatically computed : RegistryKey="HKLM\Software\Company_Name\App_Name\Version", where Company_Name, App_Name are as specified in updater.ini. Also, the Updater considers as update installer the first asset that has one of the following extensions: *.msi, *.exe or *.msp