Incorporating automatic app updates from GitHub
GitHub is a powerful system for continuous integration. Developers use GitHub to store, build, and test code. Organizations use GitHub to organize app development projects and deliver apps. The Blue Cedar Platform orchestrates workflows for post-development apps—adding no-code integrations, signing apps, publishing to distribution UEMs, and so on. Connecting GitHub to your Blue Cedar Platform workflows allows you to extend your CI/CD workflow—seamlessly move from the development and build processes on GitHub to providing updated app versions to the Blue Cedar workflows.
Here are the steps needed to set up the Blue Cedar Platform to import binaries from GitHub, detect if new app versions are available, and notify when a new version is updated and ready to upload.
How it works
Assumptions:
- You have access to a GitHub at GitHub.com (cloud-based). (Blue Cedar Platform does not currently support GitHub Enterprise (on-premises).)
- The GitHub repository produces mobile app binaries (IPA or APK).
Setup:
- On the Blue Cedar Platform:
- Enable the GitHub extension. This involves creating a configuration that knows your GitHub organization (for github.com). From the specified group, choose which projects to monitor. See Extension - GitHub.
- Create an app. When you create an app, you're creating an app container with an app name. Once the app is created and monitoring GitHub, the platform can add versions and updates directly from GitHub. You can also upload an app binary manually and monitor GitHub for updates. See Creating an app.
- Add an Import step, GitHub sub-step to your app's workflow. This activity connects the GitHub source project with the app destination on the Blue Cedar Platform. You can select whether to import automatically or just get notifications. See Import from GitHub.
- After setting up the extension on the platform, go back to GitHub to create a webhook. This webhook gives GitHub information about your Blue Cedar Platform organization and app so that GitHub can send an HTTP POST payload to the platform API with notifications of app updates.
Next time a new release is built, GitHub sends a notification to your Blue Cedar Platform instance. These updates appear in these places:
- On the Dashboard > App Import widget. This widget lists all apps that have new versions (for all Import extensions) and how many new versions. You can click Import to choose which versions to import to which apps, or you can click through the available versions link to the App Import Versions list for more details. See Using the Dashboard bak.
- The App Import Versions list. This page shows details of all available new versions for the app. On this page you can choose to Import a version, or Import and immediately run the workflow on the new version. See About the App Versions pages.
Setting up the GitHub webhook
Webhooks allow you to trigger a URL when a new release becomes available in your GitHub repository. This is how the Blue Cedar Platform can monitor the GitHub repository configured for your app. When a new version of the app is released on GitHub, GitHub sends an HTTP POST payload to the webhook's configured URL on the platform.
To set up a webhook, log into GitHub:
- Navigate to your repository.
- Go to Settings > Webhooks, and click the Add webhook button.
Customize these fields on the Add Webhook page:
- Payload URL: https://apibcprod.bluecedar.com/v2/secure_app_intake/webhooks/receivers
- Content type: application/json
- Secret: No Blue Cedar requirement
- SSL verification: No Blue Cedar requirement
- Which events would you like to trigger this webhook?
- Select "Let me select individual events"
- Select "Releases"
- Unselect "Pushes"
- Active: Select
After you add the webhook, you can create a new release and check that the new app binary shows up on the Blue Cedar Platform.