Skip to main content
The Create App action creates a new Business Central AL app in your repository with the specified configuration.

Usage

- uses: microsoft/AL-Go/Actions/CreateApp@main
  with:
    type: 'PTE'
    name: 'My App'
    publisher: 'My Company'
    idrange: '50000..50100'

Inputs

type
string
required
Type of app to create. Options:
  • PTE - Per-Tenant Extension
  • AppSource App - AppSource application
  • Test App - Test application
name
string
required
Name of the app to create.
publisher
string
required
Publisher name for the app.
idrange
string
required
ID range for the app objects (e.g., 50000..50100).
project
string
default:"."
Project name if the repository is setup for multiple projects. Use . for the root project.
sampleCode
boolean
default:"false"
Whether to include sample code in the new app.
sampleSuite
boolean
default:"false"
Whether to include a sample BCPT (Business Central Performance Toolkit) suite.
updateBranch
string
default:"${{ github.ref_name }}"
Set the branch to update. Defaults to the current branch.
directCommit
boolean
default:"false"
Whether to commit directly to the branch without creating a pull request.
shell
string
default:"powershell"
Shell in which you want to run the action. Options: powershell or pwsh.
actor
string
default:"${{ github.actor }}"
The GitHub actor running the action.
token
string
default:"${{ github.token }}"
The GitHub token running the action.

Example

Create a new PTE with sample code:
name: Create New App
on:
  workflow_dispatch:
    inputs:
      appName:
        description: 'Name of the app'
        required: true
      publisherName:
        description: 'Publisher name'
        required: true

jobs:
  create-app:
    runs-on: windows-latest
    steps:
      - uses: actions/checkout@v4
      
      - uses: microsoft/AL-Go/Actions/CreateApp@main
        with:
          type: 'PTE'
          name: ${{ github.event.inputs.appName }}
          publisher: ${{ github.event.inputs.publisherName }}
          idrange: '50000..50100'
          sampleCode: true
          directCommit: false
The action creates the app structure with appropriate app.json configuration and optionally includes sample AL code and BCPT suites.
Ensure the ID range doesn’t conflict with existing apps in your repository. ID ranges must be unique across all apps.

Build docs developers (and LLMs) love