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