Posts

Understanding YAML Indentation in Azure DevOps Pipelines

When working with YAML pipelines in Azure DevOps , indentation isn’t just about readability—it directly defines how your pipeline is interpreted and executed. Let’s start with a correct and clean YAML structure . ✅ Correct Version variables: conn: test steps: - script: echo "Hello565 $(conn)" displayName: step1 - script: echo "Hello" displayName: step2 This structure ensures that: variables are defined at the root level steps is a list Each step contains properly aligned properties 🧠 How to Think About Spaces YAML uses spaces to represent hierarchy . Think of it like a tree structure: steps: # level 0 - script: ... # level 1 (2 spaces) displayName: ... # level 2 (aligned with script) Key Idea: Each level is indented using 2 spaces Elements at the same level must be perfectly aligned Misalignment changes how YAML is interpreted internally 🔁 Alternative: Multiline Script When your script conta...

Understanding Spaces and Indentation in Azure DevOps YAML Pipelines

  When working with Azure DevOps YAML pipelines , one of the most important concepts to understand is indentation . Unlike programming languages that use braces ( {} ) or brackets ( [] ) to define structure, YAML relies entirely on spaces to represent hierarchy. Even a small indentation mistake can completely change how Azure DevOps interprets your pipeline. Why Indentation Matters Azure DevOps uses indentation to determine: Parent-child relationships between pipeline sections Which properties belong to an object Which items belong to a list/collection In simple terms: Indentation defines structure in YAML Basic Rule Use consistent spaces to nest child elements under parent elements. Recommended standard: Use 2 spaces per indentation level Never use tabs Correct Indentation Example pool: vmImage: ubuntu-latest What This Means pool is the parent object vmImage is a property inside pool Equivalent JSON: { "pool": { "vmImage": "ubuntu-latest" } ...

Where action type business event is used

  🎯 Short Answer 👉 Business Events defined in Action Type are used in Orchestration Rules (Policies) as triggers for the NEXT step. 🧠 Where exactly they are used 📍 Location in UI You will use them in: 👉 Orchestration → Policies (Rules) 🔗 How they are used Step-by-step flow: 1️⃣ Initial Business Event (starts flow) Example: Order Created 2️⃣ Rule triggers Action Type IF Order Created → Execute Fulfillment Action 3️⃣ Action runs (Provider Action + Flow) 4️⃣ Action Type emits Business Event Defined in Action Type: Business Event Success → Fulfillment Completed Business Event Failure → Fulfillment Failed 5️⃣ These events are USED in next rules IF Fulfillment Completed → Trigger Shipping IF Fulfillment Failed → Retry or Alert 👉 THIS is where they are actually used. 🔁 Full Chain (Important) Order Created (Business Event) ↓ Rule 1 ↓ Action Type (Fulfillment) ↓ Provider Action executes ↓ Fulfillment Completed (Busi...

Business events trigger Orchestration flow then why there are business events in action type

 Excellent question 👍 — this is exactly where most confusion happens in Dynamics 365 Intelligent Order Management You’re right: Business Events trigger orchestration So why are they also present in Action Type ? 🧠 The Key Idea (Most Important) 👉 There are TWO types of business events in IOM: Type Purpose Trigger Events Start orchestration Outcome Events Continue orchestration 🔷 1. Business Events (Trigger level) These are: 👉 External or initial events Examples: Order Created Order Updated ✔ These START orchestration 🔷 2. Business Events in Action Type (Outcome level) These are: 👉 Internal events generated AFTER an action runs Examples: Fulfillment Completed Fulfillment Failed ✔ These CONTINUE orchestration 🔗 Full Flow (This is the missing link) [Business Event - Trigger] Order Created ↓ Orchestration Rule fires ↓ Action Type selected ↓ Provider Action executes ↓ [Business Event - Outcome] Fulfillmen...

Intelligent Order Management Core Concepts

 This is a core concept in orchestration inside Dynamics 365 Intelligent Order Management — and once you see the linkage clearly, everything else (flows, providers, execution) becomes much easier. 🧠 Big Picture (End-to-End Flow) Business Event → Orchestration Rule → Action Type → Provider Action → Execution (Power Automate) Each piece has a specific role 👇 🔷 1. Business Events (Trigger layer) 👉 Business Events = “Something happened” Examples: Order created Line updated Fulfillment completed ✔ These are generated inside IOM or external systems ✔ They trigger orchestration 🔷 2. Orchestration Rule (Decision layer) 👉 This is where logic is defined: WHEN event occurs IF conditions match THEN perform action Example: If Order Created → Trigger fulfillment 🔷 3. Action Type (Template layer) 👉 Action Type = “What kind of action is this?” It defines: Category of action (e.g., Fulfillment, Payment, Transformation) Expected inputs/output...

Understanding Orchestration in Dynamics 365 Intelligent Order Management

  (Business Events, Action Types, and Provider Actions Explained) When working with Dynamics 365 Intelligent Order Management (IOM) , one of the most important concepts to understand is how orchestration actually works behind the scenes. Many users get confused about how Business Events , Action Types , and Provider Actions are connected—especially when they see business events defined in multiple places. This blog simplifies the architecture and explains how everything fits together in a clear, practical way. 🧠 The Big Picture At its core, IOM is an event-driven orchestration system . The entire flow works like this: Business Event → Orchestration Rule → Action Type → Provider Action → Flow Execution → Business Event → Next Step 🔷 1. Business Events – The Starting Point Business Events represent something that has happened . Examples: Order Created Order Updated Payment Confirmed These events act as triggers and are used to start orchestration. 👉 Think of them as: “Signals th...

DevOps Concepts

Image
  In Azure DevOps Pipelines , the structure is hierarchical. Diagram shows the typical flow: Trigger → Pipeline → Stage → Job (runs on Agent) → Steps (Script/Task) 1️⃣ Stages A Stage is a major phase of the pipeline . Typical stages represent different parts of the CI/CD lifecycle. Examples: Build Test Deploy stages: YAML - stage: Build - stage: Test - stage: Deploy 2️⃣ Agents An Agent is the machine that runs your pipeline jobs . It executes the tasks like: compiling code running scripts deploying applications Agents can be: Microsoft-hosted agents Provided by Microsoft. Example: Ubuntu Windows macOS Self-hosted agents Your own machines or servers. Example: company build server private VM Example pool: vmImage: 'ubuntu-latest' Here Ubuntu is the agent machine that executes the pipeline. 3️⃣ Jobs A Job is a group of steps executed on one agent . Important rules: Each job runs on one agent Jobs can run in parallel Jobs contai...