Azure DevOps has no single comment feature. It has several, in different places, with different rules: the Discussion section on a work item, comment threads on pull requests, comments at the bottom of a wiki page, and commit comments. Each behaves differently when you edit, search, resolve or audit it. This guide covers all four, then moves on to the habits that keep threads useful instead of noisy.

Wezardapp
wezardapp.com
Capture UAT Issues Clearly
Wezard records your screen, transcribes issues in real time, and uses AI to detect duplicate tickets before they reach Azure DevOps.

Visit Wezard

TL;DR

  • Work item comments live in the Discussion section. You can edit or delete your own, and the change history is kept in the History tab.
  • Use @ to mention people, # for work items and ! for pull requests. Azure DevOps has no CC, so a mention is the only way to notify someone.
  • Pull request comments are threads with a status, and Azure Repos now shows unresolved versus total threads in the PR list.
  • Discussion is not a queryable field. To find comments, you search the History field.
  • Threads without owners and rules turn into message boards. Write a short commenting policy and assign someone to watch it.

Table of Contents

The four places comments live in Azure DevOps

Before you decide how your team should comment, be clear about which kind of comment you mean.

Where What it is for Who usually writes it
Work item Discussion Questions, decisions and status on a bug, story or task PMs, analysts, testers, developers
Pull request threads Line-level and general review feedback on code Developers, reviewers
Wiki page comments Feedback on documentation Anyone with wiki access
Commit comments Notes on a single commit Developers

The distinction matters because they do not share history or notifications. A decision made in a pull request thread will not appear on the linked work item unless someone copies it there. If you run user acceptance testing, most of your useful conversation happens in the first row, which is where we spend most of this article.

Work item comments: the Discussion section

The Discussion section is where teams collaborate on a work item by adding and reviewing comments. Microsoft’s own documentation notes that a Discussion work item field does not exist, which has practical consequences we cover in the search section below.

Formatting, reactions and mentions

The Sprint 156 update added reactions on discussion comments and mentions for people, work items and pull requests. The mention triggers are:

  • @ for a person
  • # for a work item
  • ! for a pull request

Reactions come in six emoji options. A thumbs up on “confirmed, I can reproduce this” is a cheap way to add signal without adding a comment that someone must read.

Editing and deleting

You can edit or delete comments you wrote. Per the Azure DevOps blog announcement, edited comments carry an “(edited)” mark and the changes are kept in the work item’s History tab. That audit trail is what makes the feature safe for regulated teams: nobody can quietly rewrite what they said last week.

One practical rule follows. If a comment is wrong, edit it rather than deleting it and posting again, so the thread stays readable and the history shows what changed.

Saving a comment is not saving a rule

The Discussion control is separate from ordinary fields. Saving a comment there does not run work item rules the way saving a field change does, so do not count on a comment to move a state or fill a field. If a decision needs to change the work item, change the field as well, then say why in the comment.

Mentions, notifications and the missing CC

A frequent surprise for people coming from email: Azure DevOps does not support CC-ing people on a discussion. You notify stakeholders with an @mention instead. Microsoft’s notifications FAQ also points out that a user needs at least a Basic access level to be mentioned, which often trips up admins testing permissions with a Stakeholder account.

That has a direct UAT consequence. Business users who review features often hold limited access levels. If you @mention a business approver and they never respond, check their access level before you assume they ignored you.

A few mention habits that work:

  1. Mention one person per question. “@Dana, can you confirm the discount applies to renewals?” gets an answer. “@everyone thoughts?” does not.
  2. Put the question first and the context after it, so the notification preview carries the ask.
  3. Link related items with #, not with pasted titles. Titles change, links do not.
  4. Use ! to point at the pull request that fixes a defect, so testers can see what to retest.

Pull request comments

Pull request comments are threads, not flat lists. Each thread belongs to a file and position (or to the PR in general), holds an opening comment plus replies, and carries a status. Microsoft’s API reference describes a comment thread as an initial comment with subsequent replies, plus metadata such as status and last-updated date.

Since the Sprint 273 update, Azure Repos shows unresolved comments in the pull request list in a simple unresolved-over-total format such as 1 / 3, so you can see review progress without opening every PR.

How to make that number mean something:

  • Resolve with a reason. Close a thread only after the change is pushed or the disagreement is settled, and say which.
  • Separate blockers from suggestions. Begin non-blocking remarks with a label such as “nit:” so the author knows what must change before merge.
  • Keep the PR thread and the work item in step. If review changes the behavior a tester will see, add one line to the work item Discussion.

Finding and auditing comments

Because there is no Discussion field, you cannot write a query that filters on it. The documented workaround is to search through the History field, since the Discussion text is recorded in the work item history. For a PM trying to find every ticket where someone mentioned “refund”, that is the route: query on History contains the term, then open the results.

For audits, the History tab is also where you see who edited what. Combined with the “(edited)” mark, this gives you a defensible record of how a decision evolved.

Comment revision linked to an audit history

Comments through the REST API and tokens

If you automate comments, for example to post test results back to work items, you will need to authenticate. Microsoft’s guidance on personal access tokens steers you toward Microsoft Entra tokens or managed identities where possible, because a PAT is a long-lived credential. If a tool does require one, keep the lifetime short and the scope minimal. Commenting on work items needs only a work item write scope, not full access.

Same page, a date to know: Microsoft’s documentation states that global PATs are slated for deprecation on December 1, 2026, so use organization-scoped tokens for any new automation and review old ones now.

Also, handle formatting with care. Posting formatted text through the API is a recurring question on community forums, and what renders correctly in the browser editor may need explicit formatting handling when posted by script. Test on a throwaway work item before you point a script at a live backlog.

Governing comments so threads stay useful

The technical features are the easy part. The hard part is that work item threads, like knowledge article comments in other tools, can drift into ungoverned message boards. A manager in a ServiceNow community discussion on comments for knowledge articles describes leaving the Comments field off for years because of this risk. The commonly suggested answer is clear commenting guidelines, plus subject matter experts who monitor and answer threads so work is not duplicated and information stays accurate.

That advice carries over to Azure DevOps and ServiceNow work equally. Teams that write down operating rules for shared workflows, as in these ops rules for team workflows aimed at engineering managers, tend to land on the same pattern: named ownership, written expectations and a regular review.

A lightweight policy for UAT work items can fit on one page:

  1. Purpose. Comments are for questions, decisions and evidence. Status belongs in the State field.
  2. Owner. Each work item has one named person who answers within an agreed time, such as one business day.
  3. Evidence. A claim that something fails includes steps, expected result, actual result and a recording or screenshot.
  4. Decisions. When a thread ends in a decision, the last comment states it in one sentence and references who agreed.
  5. No side channels. If a conversation moves to chat or a call, someone posts the outcome back.
  6. Duplicates. Before opening a new bug, search for it. If it exists, comment there and add your evidence instead of filing a second ticket.

Our perspective: comments are where duplicate noise starts

We build UAT software, so we see the same pattern across testing cycles. A business user hits a problem, finds no clear way to report it, and writes a vague comment on a loosely related ticket or opens a new ticket with a one-line description. Developers then spend their time asking for steps, and the backlog fills with near-identical items.

We think the fix has two parts. First, capture the issue where it happens: a screen recording, with the spoken explanation transcribed as the tester talks, gives a developer the context that a typed comment usually leaves out. Second, check for duplicates before the ticket reaches Jira or Azure DevOps, so the comment thread on the existing item gets the new evidence rather than a twin ticket gaining its own thread.

Comments are valuable when they are specific, owned and attached to the right item. Most of the problems teams blame on “too many comments” are really problems of too many items describing the same issue. For more on that, see our write-ups on reducing duplicate bugs in Azure Boards and on cutting bug noise with one or two gate states.

— Marketing

Comment practices for UAT in Azure DevOps

UAT is where comment discipline pays off most, because the people writing are not engineers. A few adjustments help.

Give testers a structure, not a blank box

Business users write better reports when prompted for what they did, what they expected and what happened. A guided form does that better than a free text field, which is the idea behind our piece on a ticket submission wizard for first-pass reproducibility.

Attach evidence to the comment

A recording or screenshot saves the round trip of “can you send a screenshot?”. Our guides on why context matters in bug reports and Azure DevOps bug reporting best practices go through what to include.

Agree who closes the loop

When a developer comments “fixed in the latest build”, the tester should reply with a retest result, and the business owner should sign off. Our walkthrough on signing off test cases after UAT covers that last step, and the Azure DevOps UAT guide for QA teams covers the wider process.

Remember ServiceNow works the same way

If your organization also runs ServiceNow, the same rules apply to work notes and comments: one purpose per field, a named owner, and a decision recorded at the end. The tool differs, the governance problem does not.

Where Wezard fits

Wezard is user acceptance testing software that records the tester’s screen, transcribes the issue in real time and uses AI to flag duplicate tickets before they reach your Jira or Azure DevOps backlog. It also integrates with ServiceNow. Testers can create tickets by voice or video, follow guided submission, and attach screenshots and files, and the result lands in the backlog as an enriched ticket rather than a bare comment.

Plans are published on the pricing page: Starter at $25 per month, Team at $70 per month and Business at $160 per month, with Enterprise available without a published price. If Azure DevOps is your backlog, start with our Azure DevOps integration page.

FAQ

Can I edit or delete a comment in an Azure DevOps work item?

Yes, for comments you wrote. Edited comments show an “(edited)” mark, and the changes are retained in the History tab, so the audit trail stays intact. Prefer editing to deleting when a comment is simply wrong.

How do I notify someone in an Azure DevOps comment?

Type @ followed by their name. Azure DevOps has no CC option, so a mention is the way to notify a stakeholder. The person needs at least a Basic access level to be mentioned.

Can I query work items by their comments?

Not directly, because there is no Discussion field to query. Discussion text is also recorded in the History field, so you can filter on History containing your search term and review the results.

How do I see which pull requests still have open comments?

Open the pull request list in Azure Repos. Following the Sprint 273 update, it shows unresolved versus total comment threads, such as 1 / 3, so you can spot reviews that are not finished.

Sources

Share This Story, Choose Your Platform!