When creating a project, we can include a template to pre-populate it with models and jobs. Project template can be defined with a yaml file.
By convention, the name of the yaml file can be used as the value of
--template option when creating a project. For example, if you create a project with this command:
project create --name MyProject --template sample, the system will try to find
sample.yaml file in
The following things can be put as the content of the yaml file:
client: [client of the project]models:- name: [name of the model]label: [label of the model]properties:- name: [name of the model property]label: [label of the model property]data-type: [string | int | short | float | double | decimal | bool | datetime | byte | guid | dbgeography]control-type: [input-text | input-number | input-file | textarea | checkbox | checkboxlist | select | radio | calendar | image]is-required: [true | false]jobs:- name: [name of the job]tasks:- name: [name of the job task]type: [Build | Clone | Deploy | DeployDb | Generate | Merge | Push | PublishArtifact | Test]provider: [name of the provider plugin]configs:[any additional configs which are required by the provider, e.g:]GitHubExternalService: [name of the GitHub external service]AzureExternalService: [name of the Azure external service]CreatePullRequest: [true | false]
The yaml file can also be generated by exporting the existing project.