Makes general improvements to the Azure DevOps experience, particularly around pull requests. Also contains workflow improvements for NI engineers.
More Awesome Azure DevOps (userscript) | azdo-userscripts
A collection of userscripts to improve the Azure DevOps UI.
By default, Violentmonkey will auto-update scripts from the original install location once a day. You can force an update from the extensions menu.
main or master.Alt+1, Alt+2, etc. In FireFox, it is Alt+Shift+Num. See this table for details on your browser.
note: (case insensitive) will appear expanded on page load, even if they are closed. They are also highlighted with a light border. Use this to mark interesting things for your reviewers in your PR!
await: (case insensitive) will appear highlighted. Use this to help developers focus their attention on the comments that you want to see again (e.g. the reason why you voted Waiting on Author or Rejected).
Note: Not all highlights will be correct; it can only highlight the code that appears in the diff; so multi-line strings may appear weird. Practically, these sorts of issues are rare and overshadowed by the benefit of syntax highlighting in all other cases.
These features are only available in NI AzDO accounts.


ni/owners-approved status, hovering over the Approve button pops up a reminder to consider bypassing ownersWorks out of the box for reviewers signed in with an NI/Emerson account. Users on other tenants/orgs can enable it by supplying their own Azure AD app registration (see below).
Reviewers on a PR are annotated with an Out of Office label when their Microsoft 365 presence shows they are out of office. Hovering the label shows their Outlook auto-reply message (if any).
This is looked up live per-reviewer via the Microsoft Graph presence API, so it is always current. For NI/Emerson accounts it works with no setup — the script signs you in silently using a shared, single-tenant Azure AD app registration the first time you view a PR. Reviewers that can’t be resolved simply show no label.
In the builds results logs view, the left pane is now resizable so that job and step names are more visible.

These features are only available in NI AzDO accounts.
When using this userscript on Windows, a button to launch the “NI Binary Git Diff” protocol handler will be displayed.

This button will be added to binary files with the following extensions: .vi, .vim, .vit, .ctt, .ctl.
Note: This is a preview feature. Please contact Humberto Garza (NI) for more details and instructions.
Trophies are awarded for notable PRs and shown in a trophies section on the Overview tab. For example:

The reviewer out-of-office annotations use a shared Azure AD app registration so end users don’t have to create their own. A few notes for maintainers:
OOO_DEFAULT_GRAPH_CLIENT_ID in src/azdo-pr-dashboard.user.js.Presence.Read.All, admin-consented once by IT. Only tenant accounts can obtain a token, and only to read presence as the signed-in user. It also requests the standard offline_access scope so the script can silently refresh access tokens via a background request instead of a popup; because the redirect URIs are SPA-type, these refresh tokens last 24h, after which one silent re-auth popup is needed.https://dev.azure.com/ server-redirects to the org root (stripping the OAuth params), so the redirect URI must be the org-specific root. Register each AZDO org root your users use as a Single-page application redirect URI on the app registration, e.g. https://dev.azure.com/ni/. To support a new org later, add its root URL there — no code change is needed.The update URL goes through a URL redirect service to get a rough idea of how many people are using this script. To opt-out, change the update URL to the original download URL your usescript dashboard (or disable updates). This redirect service may also help if the URL needs to change; e.g. if the file is moved or renamed.
No other data is collected. The script is sourced and updated directly from the master branch of this repo.
Inspired by a PR filtering script originally written by Tian Yu, which faded out approved PRs. Further improved by Alejandro Barreto.
MIT. Issues and pull requests welcomed ❤️