Skip to main content

How to submit an App SDK

Submitting an App SDK will allow you to offer the app to customers to download and use.

This guide assumes you've completed the getting started guide.

  1. Open a Terminal or Command window and enter the build command (nx run [name-of-your-app]:build) to build your App SDK.
npx nx run [name-of-your-app]:build
  1. Verify the Name and Version number in the package.json in the dist/apps/[name-of-your-app]. When the App SDK is submitted, the name and version fields combine to create a unique identifier for the app.
"name": "[name-of-your-app]"
"version": "1.0.0",
  1. Enter the submit command (nx run [name-of-your-app]:submitApp) to submit your app for approval.
npx nx run [name-of-your-app]:submitApp
  1. Accept the developer terms and conditions) by typing accept when prompted.

  2. A browser will open, asking you to authenticate your ID. Use your Trackunit manager credentials to authenticate your ID. It will inform you your device is activated.

    By device it refers to the command line interface.

  3. Once the submit is complete it will show

🚀 Uploaded the app package version 1.0.0.
Remember

Remember to bump the version number inside apps/[name-of-your-app]/package.json before you build and submit!

It is not possible to submit the same version multiple times.

CI/CD publishing

When running in a CI pipeline, you can automate the submit step without interactive prompts:

  • Accept the developer terms and conditions by setting TU_DEV_TERMS_AND_CONDITIONS=accept
  • Supply your access token via the TU_TOKEN environment variable

Generating a TU_TOKEN:

  1. Log in to Trackunit Manager
  2. Open the Developer Console (available once your account has developer access enabled)
  3. Navigate to API Tokens and create a new token with the app:publish scope
  4. Copy the token and add it as a secret in your CI environment (e.g. TU_TOKEN in GitHub Actions secrets)

Example GitHub Actions step:

- name: Submit IrisX App
run: |
npx nx run my-app:submitApp
env:
TU_TOKEN: ${{ secrets.TU_TOKEN }}
TU_DEV_TERMS_AND_CONDITIONS: accept