Daily SonarCloud quality gate status board in Teams

Every weekday morning, post every failing SonarCloud project into Microsoft Teams, so builds that have been red for a week stop slipping past your team.

Deterministic Code
SonarCloudMicrosoft TeamsEngineeringOperationsDaily DigestsNotifications & Alerts
PromptCreate

Every weekday at 8:30am, run a scheduled workflow that builds a quality gate status board for my whole SonarCloud organization and posts it into our engineering channel in Microsoft Teams. The reason this exists: SonarCloud's own notification only fires when a project's main branch transitions from passed to failed or from failed to passed, so a project that has been red for a week is never mentioned again. This workflow reports the current state of everything on every run, so standing failures stay visible.

Step one, list the projects. Use the SonarCloud "Projects — Search" operation with my organization key to get every project in the organization. This endpoint is page based, so page through it using the page number and page size parameters until you have collected every project, rather than assuming the first page is the whole organization. Keep each project's key and its display name.

Step two, get each project's gate result. For every project returned, call the SonarCloud "Quality Gates — Project Status" operation using that project's key. Each response gives an overall status plus the list of individual conditions with their metric, comparator, error threshold, and actual value. Handle projects that have never been analyzed, or that return an error, by skipping them rather than failing the whole run.

Step three, filter. Keep only the projects whose overall status is ERROR. Discard the passing ones entirely, they do not belong in the message.

Step four, format one message. For each failing project include the project display name, the specific conditions that failed, and a direct link to the project at https://sonarcloud.io/project/overview?id= followed by the project key. Translate the raw metric names into plain language so the message is readable at a glance, for example new_coverage becomes "coverage on new code", new_blocker_violations becomes "new blocker issues", and new_duplicated_lines_density becomes "duplicated lines on new code". Where it is useful, show the actual value against the threshold, for example "coverage on new code 62.4% vs required 80%". Only list conditions whose own status is failing, not every condition on the gate. Sort failing projects alphabetically by name so the board reads consistently from day to day, and put a count of failing projects at the top.

Step five, always post something. If no project is in ERROR, post a short all clear line instead of skipping the message, for example "All clear: all 34 projects are passing their quality gate." This matters, because a workflow that stays silent on good days is indistinguishable from a workflow that has silently broken.

Step six, deliver it. Send the finished board as a single message using the Microsoft Teams "Create Channel Message" operation, targeting our engineering team and channel. One message per run, never one message per project.

Two practical notes. SonarCloud returns HTTP 429 when its rate limit is hit, so pace the per project status calls in a larger organization and back off and retry rather than dropping projects from the board. If my organization is on the US instance, the host is sonarqube.us instead of sonarcloud.io, and the project links need to match.

What does this prompt do?

  • Checks every project in your SonarCloud organization each weekday morning, not just the ones that changed overnight
  • Posts one Microsoft Teams message listing each failing project, what actually failed (such as coverage on new code or new blocker issues), and a link straight to the project
  • Keeps re-reporting projects that are still failing, so a project that went red last week stays visible until someone fixes it
  • Posts a short all clear line when everything passes, so a quiet channel never gets confused with a broken check

What do I need to use this?

  • A SonarCloud account with access to the organization you want to monitor
  • A Microsoft Teams account that can post in the channel you want the board sent to
  • The name of the Teams team and channel where the status board should land

How can I customize it?

  • Change the timing, for example move it off 8:30am, run it twice a day, or add a Friday afternoon recap
  • Send it somewhere else, such as a different channel per squad so each team only sees its own projects
  • Adjust what counts as worth reporting, for example include projects in a warning state or limit the board to a subset of projects

FAQs

How is this different from the notifications SonarCloud already sends?
SonarCloud's built in notification only fires when a project's main branch flips between passed and failed. If a project fails and then stays failing, it is only announced once and never mentioned again. This status board re-reports every failing project every morning, so standing failures stay visible instead of going quiet.
Will this flood our channel with messages?
No. Each run posts a single message no matter how many projects are failing, so you get one predictable update each weekday morning rather than a stream of separate alerts.
What gets posted when everything is passing?
A short all clear line. That is deliberate, because a workflow that stays silent on good days looks exactly like a workflow that has broken, and you would not be able to tell the difference.
Can I send this to Slack instead of Microsoft Teams?
Yes. The same pattern works with Slack, you just swap the final posting step for your Slack workspace and channel. Everything about how projects are gathered and filtered stays the same.
Do we need to change anything in our build pipeline?
No. This only reads the results SonarCloud already has from your existing analyses, so your pipeline and your quality gate rules stay exactly as they are.

Related templates

Daily chase-up for unreviewed SonarCloud security hotspots

Every weekday morning, surface the security checks nobody has reviewed yet, file them in the right repository, and post your team one clear summary.

SonarCloud
GitHub
Slack Bot
Agentic Task
Weekly code health brief for engineering leadership

Every Monday at 8am, your leads get a plain English read on code quality across every project, plus a spreadsheet that tracks the trend over time.

SonarCloud
Google Sheets
Gmail
Agentic Task
Turn critical SonarCloud findings into tracked Jira tickets

Only blocker and critical bugs and vulnerabilities become Jira tickets, with the file, the rule, why it matters, and a suggested fix.

SonarCloud
Jira
Slack Bot
Agentic Task
Close won in Dynamics 365 and invoice when a contract is signed

When a contract is fully signed, we close the matching deal as won in Dynamics 365, raise the invoice, and announce the win in Microsoft Teams.

Docusign
Microsoft Dynamics 365
Microsoft Teams
Agentic Task
Weekday Teams reminders for your Blackboard grading backlog

Every weekday at 4pm each instructor gets a private Teams message listing only their ungraded submissions, oldest first, with overdue work flagged.

Blackboard
Microsoft Teams
Agentic Task
Auto-summarize new pull requests in Microsoft Teams

When a pull request opens in Azure DevOps, an agent writes a plain-English summary and posts it to Teams so reviewers instantly know what to prioritize.

Azure DevOps
Microsoft Teams
Agentic Task

Stop letting red projects go quiet.

Get one clear picture of every failing quality gate in your organization, every weekday morning, without chasing dashboards.