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
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).
Project Wikis: Azure DevOps
Azure DevOps offers two types of wikis. Knowing the difference is exam-critical.
| Feature | Project Wiki (Provisioned) | Code Wiki (Published) |
|---|---|---|
| Created by | Provisioned from the Wiki hub β one per project | Published from a folder in any Git repository |
| Count limit | One provisioned wiki per project | Unlimited code wikis per project |
| Storage | Stored in a hidden Git repo managed by Azure DevOps | Stored in your existing repository alongside code |
| Editing | Rich editor in browser OR Markdown files via Git | Edit as files in any code editor or IDE |
| Versioning | Git-backed with full history | Follows the branch β different branches can have different docs |
| Page hierarchy | Drag-and-drop page reordering in the wiki UI | Folder structure defines page hierarchy with .order files |
| Best for | General project documentation managed by PMs and leads | Technical documentation that lives with the codebase |
| Mermaid support | Yes β inline in Markdown | Yes β 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]
:::
π’ 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:
- Groups PRs by label (features, fixes, breaking changes)
- Credits all contributors
- Excludes PRs with the
internallabel (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
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.
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#1234in 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
| Capability | Azure DevOps + Teams | GitHub + Teams |
|---|---|---|
| App name | Azure DevOps app for Microsoft Teams | GitHub for Microsoft Teams app |
| Setup | Install app in Teams > connect to Azure DevOps org | Install app in Teams > authenticate with GitHub |
| Notifications | Subscribe to build, release, PR, work item events per channel | Subscribe to issues, PRs, releases, deployments, Actions per channel |
| Commands | Slash commands: create work items, query items, get pipeline status | Slash commands: open/close issues, subscribe/unsubscribe repos |
| Previews | Pasting Azure DevOps URLs auto-unfurls with rich cards | Pasting GitHub URLs auto-unfurls with PR status, issue details |
| Approval workflows | Release approvals in Teams via Adaptive Cards | Deployment environment approvals via notifications |
| Granularity | Subscribe per project, per repo, or per pipeline | Subscribe 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
incidentlabel
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
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.
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?
Kai wants GitHub to auto-generate release notes that group changes into 'Features', 'Bug Fixes', and 'Breaking Changes'. What must he configure?
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