Browsed by
Category: Microsoft

Branching Workflow – CI / CD Part 6

Branching Workflow – CI / CD Part 6

“How to start?” … Well, I avoided answering this question a long time, until now. I found an approach which fits perfect into Azure DevOps and satisfy my CI / CD workflow. You know, Real-Life of Microsoft Dynamics 365 Business Central is development, deployment, support, and maintenance together. Therefore all of these processes need access to the right source code. Source Code Management (SCM) Some basics: Most of us know “OMA” (Object Manager Advanced). Microsoft Navision developers uses OMA since…

Read More Read More

Uploading a file from MSDyn365BC as “multipart/form-data” message

Uploading a file from MSDyn365BC as “multipart/form-data” message

Yes, uploading a file from Microsoft Dynamics 365 Business Central to a Web API sounds easy because Microsoft AL provides all these new and cool objects like JsonObject, HttpRequest, HttpResponse and HttpClient. But sometimes the devil is in the detail…“How-to setup the corret HttpRequest message with all the needed HttpHeaders and how-to add the file content?” Swagger “Web API” Definition Good news, my Web API provide a Swagger definition. Now I see what is needed. Swagger-UI visualization display the API…

Read More Read More

Avoiding Parameter Chaos in PowerApps

Avoiding Parameter Chaos in PowerApps

I love PowerApps! This technology gives me the freedom to create a portable user interface (UI) for my demos in a couple of minutes. Well, sometimes it takes a little bit longer, especially when… Direct before NAV TechDays 2019 I decided to create a PowerApp to demonstrate the power of our Intelligent ERP framework. To execute the needed API calls I attached a Power Automate flow to my PowerApp. During setup of the flow I played a little bit to…

Read More Read More

Application Versions – CI / CD Part 5

Application Versions – CI / CD Part 5

Classic NAV development processes, customizations with C/Side became obsolete in the Business Central age was replaced by Apps. Apps have version numbers to identify which app version is newer, handle updates and finally synchronize data changes in the right order. New App Versions are produced by fully automated CI processes in a very short time and the generated Artifacts replace the installed version in target environments during automated CD processes. The application version helps to keep the necessary overview and…

Read More Read More

Deployment Tasks – CI / CD Part 4

Deployment Tasks – CI / CD Part 4

All we need are Tasks to deploy our Artifacts at Microsoft Dynamics 365 Business Central SaaS or On-Prem. In this article I’ll share with you a deeper look into my deployment stages. CI/CD Pipeline Tasks for MSDyn365BC Azure DevOps provide lots of build-in tasks to execute almost everything in the context of a Build or Deployment Agent. Unfortunately, pre-configured Pipelines or Tasks for Microsoft Dynamics 365 Business Central are not part of this list. However, there are other good options…

Read More Read More

Agents, Agent- and Deployment Pools – CI / CD Part 3

Agents, Agent- and Deployment Pools – CI / CD Part 3

Artifacts and Deployment Stages and Controlling the Artifact Flow should be clear. It’s time to see what Azure DevOps provide to deploy Artifact(s) into target environment(s). Two scenarios must be covered: SaaS and OnPrem. Both uses the same install base of Dynamics 365 Business Central, but are different in your access rights. Dynamics 365 Business Central – SaaS Here Release Artifact(s) (e.g. per-tenant App) must be deployed into your SaaS environment, your Microsoft Dynamics 365 Business Central tenant – hosted by Microsoft: BC Sandbox (Microsoft SaaS…

Read More Read More

Controlling the Artifact Flow – CI / CD Part 2

Controlling the Artifact Flow – CI / CD Part 2

In my last post I described my view on Artifacts and Deployment Stages. Now it’s time to look at the Artifact flow. Remember, an Artifact is unchangeable. Therefore it’s deployed only in one direction – strait forward – until any stage in the flow fails or it reaches the final destination. Controlling the Flow You control the flow – each stage – by these questions: When is a stage executed? … Trigger(s) Who allow the Artifact to enter the stage and what must be or informed?…

Read More Read More

Artifacts and Deployment Stages – CI / CD Part 1

Artifacts and Deployment Stages – CI / CD Part 1

Setup of a modern Development Process for Microsoft Dynamics 365 Business Central with Azure DevOps is state of the art. It’s future proof, especially to handle monthly updates in the SaaS world. Unfortunately, there is no standard setup for Azure DevOps and no standard CI / CD process available – not yet. Conclusion – we need to define this Setup and the CI / CD process for MSDyn365BC! Artifacts Let’s keep it simple – an Azure DevOps Artifact is a package….

Read More Read More

Upload files into your Azure Storage with Dynamics 365 Business Central

Upload files into your Azure Storage with Dynamics 365 Business Central

This open source library uses the Azure Blob Service from Microsoft Dynamics 365 Business Central to access your storage account, containers and blobs. See also here: Blob Service REST API Disclaimer: …please keep in mind, this example does not cover every aspects and is provided “AS IS”. Feel free to improve, contribute, use this API as an inspiration or contact me, if you have some ideas 😉 Authentication In each scenario, authentication is in my opinion the hardest challenge. Azure Blob Service API is an important service…

Read More Read More

IoT C2D Messages from Dynamics 365 Business Central

IoT C2D Messages from Dynamics 365 Business Central

My example invoke an Azure IoT Hub Device Method from Microsoft Dynamics 365 Business Central. Required information to send a message to from IoT Hub to the IoT Device endpoint are: IoT Hub Uri IoT Device Id IoT Hub SaS Token for authorization A device method will be invoked by calling the method on the Device Twin by using this Url: (API Documentation – Invoke Device Method) The message content is Json. Key methodName specify the called method and payload contains the data (parameters) for…

Read More Read More