Skip to content

DynamicsCrm.DevKit.Cli.json

PhuocLe edited this page Sep 28, 2023 · 5 revisions

DynamicsCrm.DevKit used DynamicsCrm.DevKit.Cli.json file as the core of the config tool. With this json file, you can config then run DynamicsCrm.DevKit.Cli commands for faster deployment.

These sections below explain detail hereby:

servers

"servers": [
  {
    "profile": "DEBUG",
    "solution": "???",
    "folder": "bin\\Debug",
    "includefiles": [
      "???.Plugin.*.dll",
      "???.Plugin.*.nupkg",
      "???.CustomAction.*.dll",
      "???.Workflow.*.dll",
      "???.CustomApi.*.dll",
      "???.DataProvider.*.dll"
    ],
    "excludefiles": [
      "???.*.Test.dll"
    ]
  }
]
  • profile use to pass to DynamicsCrm.DevKit.Cli argument profile. You can define multi profiles and should be unique name
  • solution a valid solution logical name. DynamicsCrm.DevKit.Cli use to add components to it when created/registered
  • folder the root folder that DynamicsCrm.DevKit.Cli use to find *.dll, *.nupkg files
  • includefiles files you want to deploy. You can use * as a pattern for search current folder, ** for search current folder and sub-folder
  • excludefiles files to be exclude, can use * and **

webresources

"webresources": [
  {
    "profile": "DEBUG",
    "solution": "???",
    "rootfolder": "",
    "includefiles": [
      "css\\**.css",
      "entities\\*.js",
      "html\\**.html",
      "images\\**.png",
      "js\\**.js",
      "lib\\**.js",
      "resources\\*.resx"
    ],
    "excludefiles": [
      "test\\**.js"
    ],
    "dependencies": [
      {
        "webresources": [
          "???_/entities/[entity].js"
        ],
        "dependencies": [
          "???_/entities/[entity].form.js",
          "???_/entities/[entity].webapi.js"
        ]
      },
      {
        "webresources": [
          "???_/entities/[entity].form.js"
        ],
        "dependencies": [
          "???_/lib/devkit.js"
        ]
      }
    ]
  }
]
  • profile use to pass to DynamicsCrm.DevKit.Cli argument profile. You can define multi profiles and should be unique name
  • solution a valid solution logical name. DynamicsCrm.DevKit.Cli use to add components to it when created/registered
  • rootfolder the root folder DynamicsCrm.DevKit.Cli find resource files
  • includefiles files you want to deploy. You can use * as a pattern for search current folder, ** for search current folder and sub-folder
  • excludefiles files to be exclude, can use * and **
  • dependencies setup webresources dependencies.

Tag [entity] is a placeholder of entity logical name

datasources

"datasources": [
  {
    "profile": "DEBUG",
    "solution": "???",
    "displayname": "???",
    "pluralname": "???",
    "name": "???"
  }
]
  • profile use to pass to DynamicsCrm.DevKit.Cli argument profile. You can define multi profiles and should be unique name
  • solution a valid solution logical name. DynamicsCrm.DevKit.Cli use to add components to it when created/registered
  • displayname display name of the data source
  • pluralname plural name of the data source
  • name logical name of the data source

solutionpackagers

"solutionpackagers": [
  {
    "profile": "Extract-Unmanaged",
    "solution": "???",
    "rootfolder": "",
    "solutiontype": "Unmanaged",
    "folder": "???",
    "type": "Extract",
    "mapfile": ""
  },
  {
    "profile": "Extract-Managed",
    "solution": "???",
    "rootfolder": "",
    "solutiontype": "Managed",
    "folder": "???",
    "type": "Extract",
    "mapfile": ""
  },
  {
    "profile": "Pack-Unmanaged",
    "solution": "???",
    "rootfolder": "",
    "solutiontype": "Unmanaged",
    "folder": "???",
    "type": "Pack",
    "mapfile": ""
  },
  {
    "profile": "Pack-Managed",
    "solution": "???",
    "rootfolder": "",
    "solutiontype": "Managed",
    "folder": "???",
    "type": "Pack",
    "mapfile": ""
  }
]
  • profile use to pass to DynamicsCrm.DevKit.Cli argument profile. You can define multi profiles and should be unique name
  • solution a valid solution logical name. This is the solution you want to Extract/Pack
  • rootfolder the root folder DynamicsCrm.DevKit.Cli use to saved files. If Empty, DynamicsCrm.DevKit.Cli use as current folder when execute
  • solutiontype valid with 2 values Managed / Unmanaged
  • folder the folder name to reference files by solution packager
  • type valid with 2 values Extract / Pack
  • mapfile the map file to use with solution packager. It related file path with the rootfolder

generators

"generators": [
  {
    "profile": "LATEBOUND",
    "type": "CSharp",
    "rootnamespace": "???",
    "rootfolder": "???",
    "entities": "folder",
    "debug": "?"
  },
  {
    "profile": "JS-FORM",
    "type": "JsForm",
    "rootnamespace": "???",
    "rootfolder": "???",
    "entities": "folder",
    "debug": "?"
  },
  {
    "profile": "JS-WEBAPI",
    "type": "JsWebApi",
    "rootnamespace": "???",
    "rootfolder": "???",
    "entities": "folder",
    "debug": "?"
  }
]
  • profile use to pass to DynamicsCrm.DevKit.Cli argument profile. You can define multi profiles and should be unique name
  • type valid with 3 types CSharp or JsForm or JsWebApi
  • rootnamespace root namespace value to use generator namespace
  • rootfolder the folder to saved the files. If Empty, DynamicsCrm.DevKit.Cli use as current folder when execute
  • entities valid with 3 values
    • * or all generator all entities
    • folder or empty generator entities as the pattern
      • *.generated.cs for type = "CSharp"
      • *.form.js for type = "JsForm"
      • *.webapi.js for type = "JsWebApi"
    • logicalname1,logicalname2,logicalname3 generator with the match logicalname entity, separator by ,
  • debug
    • ? use with the value read in the saved file. If not found the file, use true
    • true no action
    • false Uglify js code files

downloadwebresources

"downloadwebresources": [
  {
    "profile": "DEBUG",
    "solution": "???"
  }
]
  • profile use to pass to DynamicsCrm.DevKit.Cli argument profile. You can define multi profiles and should be unique name
  • solution a valid solution logical name. DynamicsCrm.DevKit.Cli use to download webresources files and save to current folder

downloadreports

"downloadreports": [
  {
    "profile": "DEBUG",
    "solution": "???"
  }
]
  • profile use to pass to DynamicsCrm.DevKit.Cli argument profile. You can define multi profiles and should be unique name
  • solution a valid solution logical name. DynamicsCrm.DevKit.Cli use to download reports files and save to current folder

uploadreports

"uploadreports": [
  {
    "profile": "DEBUG",
    "solution": "???",
    "language": [ "???" ]
  }
]
  • profile use to pass to DynamicsCrm.DevKit.Cli argument profile. You can define multi profiles and should be unique name
  • solution a valid solution logical name. DynamicsCrm.DevKit.Cli use to add components to it when created
  • language a string language. E.g.: English

proxytypes

"proxytypes": [
  {
    "profile": "ALL",
    "namespace": "???",
    "output": "GeneratedCode.cs",
    "entities": ""
  }
]
  • profile use to pass to DynamicsCrm.DevKit.Cli argument profile. You can define multi profiles and should be unique name
  • rootnamespace root namespace value to use generator namespace
  • output output file, save in the current folder when DynamicsCrm.DevKit.Cli execute
  • entities
    • * or all generator all entities of the current connected instance
    • logicalname1,logicalname2,logicalname3 generator with the match logicalname entity, separator by ,
Clone this wiki locally