πŸ”’ Guided

Pre-launch preview. Authorised access only.

Incorrect code

Guided by A Guide to Cloud
Explore AB-900 AI-901
Guided AZ-400 Domain 1
Domain 1 β€” Module 3 of 3 100%
3 of 25 overall

AZ-400 Study Guide

Domain 1: Design and Implement Processes and Communications

  • Work Item Tracking: Boards, GitHub & Flow
  • DevOps Metrics: Dashboards That Drive Decisions
  • Collaboration: Wikis, Teams & Release Notes

Domain 2: Design and Implement a Source Control Strategy

  • Branching Strategies: Trunk-Based, Feature & Release
  • Pull Requests: Policies, Protections & Merge Rules
  • Repository Management: LFS, Permissions & Recovery

Domain 3: Design and Implement Build and Release Pipelines

  • Package Management: Feeds, Versioning & Upstream
  • Testing Strategy: Quality Gates & Release Gates
  • Test Implementation: Code Coverage & Pipeline Tests
  • Azure Pipelines: YAML from Scratch Free
  • GitHub Actions: Workflows from Scratch Free
  • Pipeline Agents: Self-Hosted, Hybrid & VM Templates
  • Multi-Stage Pipelines: Templates, Variables & Approvals
  • Deployment Strategies: Blue-Green, Canary & Ring Free
  • Safe Rollouts: Slots, Dependencies & Hotfix Paths
  • Deployment Implementations: Containers, Scripts & Databases
  • Infrastructure as Code: ARM vs Bicep vs Terraform
  • IaC in Practice: Desired State & Deployment Environments
  • Pipeline Maintenance: Health, Migration & Retention

Domain 4: Develop a Security and Compliance Plan

  • Pipeline Identity: Service Principals, Managed IDs & OIDC Free
  • Authorization & Access: GitHub Roles & Azure DevOps Security
  • Secrets & Secure Pipelines: Key Vault & Workload Federation
  • Security Scanning: GHAS, Defender & Dependabot

Domain 5: Implement an Instrumentation Strategy

  • Monitoring for DevOps: Azure Monitor & App Insights
  • Metrics & KQL: Analysing Telemetry & Traces

AZ-400 Study Guide

Domain 1: Design and Implement Processes and Communications

  • Work Item Tracking: Boards, GitHub & Flow
  • DevOps Metrics: Dashboards That Drive Decisions
  • Collaboration: Wikis, Teams & Release Notes

Domain 2: Design and Implement a Source Control Strategy

  • Branching Strategies: Trunk-Based, Feature & Release
  • Pull Requests: Policies, Protections & Merge Rules
  • Repository Management: LFS, Permissions & Recovery

Domain 3: Design and Implement Build and Release Pipelines

  • Package Management: Feeds, Versioning & Upstream
  • Testing Strategy: Quality Gates & Release Gates
  • Test Implementation: Code Coverage & Pipeline Tests
  • Azure Pipelines: YAML from Scratch Free
  • GitHub Actions: Workflows from Scratch Free
  • Pipeline Agents: Self-Hosted, Hybrid & VM Templates
  • Multi-Stage Pipelines: Templates, Variables & Approvals
  • Deployment Strategies: Blue-Green, Canary & Ring Free
  • Safe Rollouts: Slots, Dependencies & Hotfix Paths
  • Deployment Implementations: Containers, Scripts & Databases
  • Infrastructure as Code: ARM vs Bicep vs Terraform
  • IaC in Practice: Desired State & Deployment Environments
  • Pipeline Maintenance: Health, Migration & Retention

Domain 4: Develop a Security and Compliance Plan

  • Pipeline Identity: Service Principals, Managed IDs & OIDC Free
  • Authorization & Access: GitHub Roles & Azure DevOps Security
  • Secrets & Secure Pipelines: Key Vault & Workload Federation
  • Security Scanning: GHAS, Defender & Dependabot

Domain 5: Implement an Instrumentation Strategy

  • Monitoring for DevOps: Azure Monitor & App Insights
  • Metrics & KQL: Analysing Telemetry & Traces
Domain 1: Design and Implement Processes and Communications Premium ⏱ ~11 min read

Collaboration: Wikis, Teams & Release Notes

Configure project wikis with Markdown and Mermaid, automate release notes from Git history, set up webhooks, and integrate Azure DevOps and GitHub with Microsoft Teams.

Why Documentation and Integration Matter

β˜• Simple explanation

Think of a shared family recipe book.

Everyone in the family can read recipes, add new ones, and update old ones. When Grandma tweaks the cookie recipe, the update shows up for everyone. When someone makes a batch, they write a note: β€œMade 2025-04-10 β€” doubled the chocolate chips, was amazing.”

Now imagine the recipe book can also text you: β€œHey, Grandma just updated the cookie recipe!” and post a message in the family group chat.

That’s what DevOps documentation and integration tools do β€” shared knowledge (wikis), automatic announcements (release notes), and connected communication (webhooks and Teams integration).

DevOps is not just about shipping code β€” it’s about shared understanding. Documentation keeps knowledge accessible. Release notes communicate what changed. Webhooks and integrations keep the right people informed without manual effort.

The AZ-400 exam tests your ability to configure wikis (Markdown, Mermaid), automate release notes from Git history, set up webhooks for event-driven integrations, and connect Azure DevOps / GitHub to Microsoft Teams. You also need to know how to document APIs with Swagger/OpenAPI.

Project Wikis: Azure DevOps

Azure DevOps offers two types of wikis. Knowing the difference is exam-critical.

Azure DevOps Wiki Types
FeatureProject Wiki (Provisioned)Code Wiki (Published)
Created byProvisioned from the Wiki hub β€” one per projectPublished from a folder in any Git repository
Count limitOne provisioned wiki per projectUnlimited code wikis per project
StorageStored in a hidden Git repo managed by Azure DevOpsStored in your existing repository alongside code
EditingRich editor in browser OR Markdown files via GitEdit as files in any code editor or IDE
VersioningGit-backed with full historyFollows the branch β€” different branches can have different docs
Page hierarchyDrag-and-drop page reordering in the wiki UIFolder structure defines page hierarchy with .order files
Best forGeneral project documentation managed by PMs and leadsTechnical documentation that lives with the codebase
Mermaid supportYes β€” inline in MarkdownYes β€” inline in Markdown

Mermaid Diagrams in Wikis

Both wiki types support Mermaid diagrams rendered from text. The exam expects you to recognise Mermaid syntax and know which diagram types are supported.

Common Mermaid diagrams for DevOps:

  • Flowcharts β€” CI/CD pipeline flow, decision trees
  • Sequence diagrams β€” API call flows, deployment approval sequences
  • Gantt charts β€” project timelines, sprint plans
  • State diagrams β€” work item state transitions
  • Git graph β€” branching strategy visualisation

A Mermaid block in an Azure DevOps wiki looks like this:

:::mermaid
graph LR
    A[Code Push] --> B[CI Build]
    B --> C[Unit Tests]
    C --> D[Security Scan]
    D --> E[Deploy to Staging]
    E --> F[Integration Tests]
    F --> G[Deploy to Production]
:::
Question

How many provisioned wikis can an Azure DevOps project have? How many code wikis?

Click or press Enter to reveal answer

Answer

One provisioned (project) wiki per project. Unlimited code wikis per project β€” each published from a different repository folder or branch. This means you can have separate code wikis for API docs, architecture docs, runbooks, etc., all within the same project.

Click to flip back

🏒 Nadia’s Wiki Strategy

Nadia uses both wiki types at Meridian Insurance:

  • Project Wiki β€” onboarding guides, team agreements, sprint ceremonies, escalation procedures
  • Code Wiki (API repo) β€” auto-generated API docs from the docs/ folder, updated with every PR
  • Code Wiki (Infra repo) β€” architecture diagrams in Mermaid, updated by Jordan’s platform team

Elena (compliance) loves that every wiki change has a Git commit with author and timestamp β€” instant audit trail.

Automated Release Notes

GitHub: Automatically Generated Release Notes

GitHub can auto-generate release notes from merged pull requests. You configure categories in .github/release.yml:

changelog:
  categories:
    - title: "New Features"
      labels:
        - "enhancement"
        - "feature"
    - title: "Bug Fixes"
      labels:
        - "bug"
        - "fix"
    - title: "Breaking Changes"
      labels:
        - "breaking"
    - title: "Other Changes"
      labels:
        - "*"

When you create a new release on GitHub, clicking β€œGenerate release notes” pulls all merged PRs since the last release, categorises them by label, and lists contributors.

πŸš€ Kai’s Release Note Automation

Kai configures release.yml so that every GitHub Release automatically:

  1. Groups PRs by label (features, fixes, breaking changes)
  2. Credits all contributors
  3. Excludes PRs with the internal label (refactoring, CI changes)

Riku (frontend dev) just ensures every PR has the right label. Release notes write themselves.

Azure DevOps: Release Notes from Work Items

In Azure DevOps, you generate release notes from:

  • Work items linked to builds β€” query all items resolved since the last release
  • Azure DevOps REST API β€” pull work item details for custom release note templates
  • Marketplace extensions β€” β€œGenerate Release Notes” extension creates Markdown from linked work items
  • Azure Pipelines tasks β€” generate release notes as a pipeline step during deployment
Question

How do you configure automatic release note categories in GitHub?

Click or press Enter to reveal answer

Answer

Create a .github/release.yml file in the repository. Define categories with titles and label filters. When creating a GitHub Release, click 'Generate release notes' β€” GitHub groups merged PRs by their labels into the categories you defined. PRs not matching any category go into 'Other Changes' if you include a wildcard label.

Click to flip back

API Documentation

For the exam, know that API documentation is typically generated from OpenAPI/Swagger specifications:

  • Swagger UI β€” interactive API explorer generated from an OpenAPI spec
  • Swashbuckle (ASP.NET) β€” auto-generates OpenAPI spec from controller code
  • GitHub Pages β€” host generated API docs as a static site
  • Azure API Management β€” publishes a developer portal with auto-generated API docs from imported OpenAPI specs
Exam Tip: API Documentation Integration

The exam may ask how to ensure API documentation stays in sync with code. The best answer is to generate API docs from code annotations (Swashbuckle for .NET, Springfox for Java, etc.) as part of the CI pipeline. The pipeline generates the OpenAPI spec, then publishes updated docs. This prevents documentation drift because docs are rebuilt on every commit.

Webhooks: Event-Driven Integration

Webhooks allow external systems to be notified when events occur. They’re the backbone of DevOps integration.

Azure DevOps Service Hooks

Azure DevOps uses service hooks (not raw webhooks β€” the terminology matters). You configure them in Project Settings > Service Hooks.

Supported events include: Work item created/updated, build completed, release deployed, PR created/merged, code pushed

Supported targets include: Slack, Microsoft Teams, Jenkins, Grafana, custom webhook URL, Azure Service Bus, Azure Storage Queue

GitHub Webhooks

GitHub sends HTTP POST requests to a configured URL when events occur.

Configuration: Repository Settings > Webhooks > Add webhook > choose events > specify payload URL

Supported events include: Push, pull request, issues, release, deployment, workflow run, and 30+ other event types

Security: Always validate webhook payloads using the shared secret and HMAC-SHA256 signature in the X-Hub-Signature-256 header.

Question

What is the difference between Azure DevOps service hooks and GitHub webhooks?

Click or press Enter to reveal answer

Answer

Azure DevOps uses 'service hooks' β€” a managed integration layer with built-in connectors for common targets (Teams, Slack, Jenkins) and a configuration UI. GitHub uses raw webhooks β€” HTTP POST to any URL when events occur, secured with HMAC-SHA256 signatures. Both achieve event-driven integration, but Azure DevOps provides a more opinionated, managed experience while GitHub gives raw flexibility.

Click to flip back

Azure Boards + GitHub Integration

The Azure Boards GitHub App connects Azure Boards work items to GitHub repositories. This was covered in Module 1, but the integration specifics are tested here too.

Setup: Install the Azure Boards app from GitHub Marketplace > authorise for your organisation > map GitHub repos to Azure DevOps projects.

Key features:

  • AB#1234 in commits/PRs creates a link to work item 1234
  • Transition states on PR merge (e.g., move to β€œDone” when PR merges)
  • Work item mentions appear in GitHub PR sidebar
  • GitHub Commit and PR links appear on the Azure Boards work item

Microsoft Teams Integration

Teams Integration: Azure DevOps vs GitHub
CapabilityAzure DevOps + TeamsGitHub + Teams
App nameAzure DevOps app for Microsoft TeamsGitHub for Microsoft Teams app
SetupInstall app in Teams > connect to Azure DevOps orgInstall app in Teams > authenticate with GitHub
NotificationsSubscribe to build, release, PR, work item events per channelSubscribe to issues, PRs, releases, deployments, Actions per channel
CommandsSlash commands: create work items, query items, get pipeline statusSlash commands: open/close issues, subscribe/unsubscribe repos
PreviewsPasting Azure DevOps URLs auto-unfurls with rich cardsPasting GitHub URLs auto-unfurls with PR status, issue details
Approval workflowsRelease approvals in Teams via Adaptive CardsDeployment environment approvals via notifications
GranularitySubscribe per project, per repo, or per pipelineSubscribe per repository or per organisation

πŸš€ Kai’s Teams Setup

Kai configures three Teams channels at Launchpad Labs:

  • #deployments β€” subscribed to GitHub deployment events (production only)
  • #code-reviews β€” subscribed to PR events (new PRs, reviews requested)
  • #incidents β€” subscribed to GitHub Issues with the incident label

When Riku opens a PR, the #code-reviews channel gets a rich card with the PR title, description, and a direct link. Zoe (QA) sees it immediately.

🏒 Nadia’s Teams Setup

Nadia uses the Azure DevOps app for Teams:

  • #releases β€” subscribed to release deployment completed events
  • #build-alerts β€” subscribed to build failure events (not successes β€” reducing noise)
  • Approval channel β€” Dmitri receives release approval requests as Adaptive Cards and can approve directly in Teams
Question

How do you configure Azure DevOps to send release approval requests to Microsoft Teams?

Click or press Enter to reveal answer

Answer

Install the Azure DevOps app for Microsoft Teams. Subscribe the channel to release deployment approval events. When a release reaches an approval gate, an Adaptive Card is posted to the Teams channel. The designated approver can approve or reject directly from Teams without opening Azure DevOps.

Click to flip back

Exam Tip: Webhook Security

The exam may ask about securing webhooks. For GitHub, always configure a webhook secret and validate the X-Hub-Signature-256 header using HMAC-SHA256. For Azure DevOps service hooks, use Basic authentication or OAuth when sending to custom endpoints. Never send webhooks to HTTP (unencrypted) endpoints β€” always use HTTPS.

Knowledge Check

Jordan needs to host technical architecture documentation that stays in sync with the codebase and supports Mermaid diagrams. Which wiki type should Jordan use in Azure DevOps?

Knowledge Check

Kai wants GitHub to auto-generate release notes that group changes into 'Features', 'Bug Fixes', and 'Breaking Changes'. What must he configure?

Knowledge Check

Dr. Amira's government client requires an audit trail proving who approved each release and when. Which Microsoft Teams integration feature supports this?

🎬 Video coming soon

Wikis, Teams & Release Notes

Next up: Branching Strategies: Trunk-Based, Feature & Release

← Previous

DevOps Metrics: Dashboards That Drive Decisions

Next β†’

Branching Strategies: Trunk-Based, Feature & Release

Guided

I learn, I simplify, I share.

A Guide to Cloud YouTube Feedback

© 2026 Sutheesh. All rights reserved.

Guided is an independent study resource and is not affiliated with, endorsed by, or officially connected to Microsoft. Microsoft, Azure, and related trademarks are property of Microsoft Corporation. Always verify information against Microsoft Learn.