How to integrate the Updater with GitHub?

This article will provide a step-by-step guide of how to integrate the Updater with GitHub.

Caution!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:

Caution!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

NoteAll types of lists are accepted. The sublist element is converted to list.

Caution!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)

NoteThe above fields will overwrite any files that are automatically set from GitHub API

ImportantIf 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