Alternatives to e-mails for alerts from TFS in Visual Studio? - visual-studio

Are there other ways to receive alerts from TFS, besides e-mails? I would rather keep my e-mail inbox clean, and have some kind of notification icon or banner, like here on StackOverflow when you have new messages.
EDIT: In my case, it would be useful to know when changes have been pushed to trunk, so that I can keep my code synched and avoid big merges.

Except emails you could also use some 3-rd party tool/extension to get the notification from TFS/Azure DevOps.
However as a limitation, most of them mainly only support the notification of CI build/release/work item area.
For example:
Continuous Delivery Tools for Visual Studio
The Continuous Delivery Tools for Visual Studio integrate build
notification directly into Visual Studio. This results in a toast
notification whenever you have Visual Studio open:
Catlight
Another great tool to get build notifications is Catlight, it
runs from the task tray and will even notify you when Visual studio
isn't open:
Siren of Shame
And another option is Siren of Shame, which also offers
integration with a USB emergency light that will start blinking when
the build fails:
More details please take a look at jessehouwing and CJBS 's reply in this question:
Notifications for successful automated builds to each team member

Related

How do I view GitHub issues from within Visual Studio 2022?

How do I view and integrate with GitHub issues using Visual Studio 2022?
When connected to an Azure Repo, the VS Team Explorer window includes a "Work Items" view that shows open issues from Azure Boards. I can easily create a branch from one, link it automatically, and submit pull requests. The integration is great.
When I connect to a GitHub repository, that integration is lost. The Team Explorer window no longer contains a "Work Items" view. Since I can't view the issues, I can no longer automatically create branches that are linked to the issue. I have to now manually type in the issue number if I want to link a commit to the issue. And the "Create Pull Request" menu items simply launches the browser to the GitHub page; there's no integration there, either.
I have found a VS Code blog post that enables a lot of this functionality (and more) into VS Code, but I've yet to find anything for Visual Studio 2022. From that post, I am most interested in the "Working on issues" bit. As described above, this was functionality that worked with Azure Repos but is lost with GitHub integration. How might I regain that functionality with GitHub and Visual Studio 2022?
The "old" team explorer did a number of really nice things, but it was also very hard to integrate into for other tool vendors. With the new Git experience the Visual Studio team opted for a more agnostic approach.
The old Team Explorer was written in .NET 4 and was very much geared towards integrating with Azure DevOps. It stems from 2005 when Team Foundation Server first got released. Over time other vendors snuck their way into Team Explorer, but mostly through undocumented and unsupported ways. This has caused many interesting issues in the past. The concept of the Team Explorer window also wasn't ideal for hosting GitHub, Azure DevOps, BitBucket and every other tool-vendor that wanted to be listed and there was very little in the way of control for users to set the order of elements or hide certain tiles. As such it's a breeding ground for bugs and it needed to be ported to .NET Core and x64 and to support out-of-process extensibility to properly support Visual Studio 2022 anyway.
So Team Explorer and its old undocumented extensibility points were dropped and the new Git Window was born. This window is a pure git client and it's vendor agnostic. Vendors may add menu items to the top level menu, but they currently can't extend the new git window.
At the same time, Visual Studio 2022 dropped support for the built-in browser window, which was a memory hog, loads IE11 and also needed full retooling to support the x64 out-of-process loading that Visual Studio 2022 now demands.
All of this work now allows Visual Studio to use more memory, it's faster and by moving extensions out-of-process, it has greatly improved the performance and stability of the visual studio platform. Unfortunately this all happened at the expense of some features.
The new git experience is no longer constrained by the Team Explorer window, is a top-level citizen in Visual Studio and can finally use easier to remember keyboard shortcut keys. It's much faster too and the new architecture allowed the team to build interactive rebase, multi-repo support, submodule support and more. But their priorities have been in advanced git scenarios for a long while, not in building support for vendor specific issue integration. It looks like that may be changing though. Auto-completion of #... is now in Visual Studio 17.5 preview:
Some tool vendors may invest in native integration into Visual Studio in the future. Many old extensions are no longer available in VS2022 or the authors are still working on a new version that conforms to the new requirements.
On the other hand you have VS Code, which is used by GitHub itself internally, runs in a browser, powers github.dev and github codespaces and doesn't carry the legacy if Visual Studio 2022. It's not Microsoft, but GitHub who has extended vscode and they added the support for their platform through extensions and open source contribution to the editor directly. GitHub has a different stake in vscode, they have the engineering staff that knows how to extend atom-based applications (they basically built that technology) thus, their features have been added to vscode.
Is it fair? Do we want it in big VS as well? Sure, but unfortunately, that's currently not where the money is being spent.
There are a few ways to accomplish what you want. But none are exactly what you desire.
The web
The main way is to start working from the browser. On every issue there is a Development section from which you can create a branch or initiate a pull request from the associated branch:
You can then immediately check it out locally
Or navigate to the code panel for the branch and click the open in visual studio link. This will launch visual studio in the correct context using the repo you selected and will check out the branch locally for you to start working.
Any commits you make to this branch are automatically associated to the issue, so there's no need to pass in the #issuenumber every time.
The cli
An alternative to working from the browser is to use the CLI. If you have the GitHub CLI installed it will pick up the context of your repo from the list of remotes and you can perform quick commands straight from visual studio's built-in terminal.
gh pr create
to create a new PR.
gh issue list
to quickly list your open issues
gh issue develop #issuenumber
to create a branch on the remote, associate it to your issue and check out the branch locally.
It takes a bit of getting used to the commands, but if you like the CLI it's a quick way to work.
In Visual Studio
You can create pull requests from your current state, which will then bring you to the browser with most of the data pre-filled. Issue auto-completion also works in the browser from that point forward.
To get the other features you want, you must install extensions. Unfortunately, GitHub has stopped development on the old GitHub for Visual Studio extension since most of its features have now moved into visual studio. It's not easy to build and maintain an extension for multiple versions of Visual Studio, so I don't expect this will be brought back to life.
I rely on the Git Web links extension to quickly switch between web and visual studio from the context of my working files:
In the settings you can set the default behavior to not copy, but to open in browser.
Other functionality you're after is currently not available through a publicly listed extension. Most of there features have also been removed or deprecated for Azure DevOps itself, so I don't expect the Visual Studio team to be in a hurry to add first-class support for Issue tracking back in.
Unfortunately, the "Work Items" view and the related issue integration for GitHub Repos is not currently available in Visual Studio 2022 out of the box.
You might be able to find a Visual Studio extension that provides this functionality, but I'm not aware of any off the top of my head.
An alternative option would be to use the GitHub API to retrieve the issues, and create a custom extension to display the issues in Visual Studio 2022. However, this would require custom development work on your part.
It seems like the VS2022 will have this feature in future (it's in Preview now).
https://youtu.be/0NiHvdoMBO8?t=95 [VS2022 Preview Feature]

Visual Studio : Disable CodeLens lync (Skype Enterprise) integration?

The enterprise I work for recently started using Skype Enterprise. Our setup seems very problematic, we have two domains, two seperate email/mailbox and Lync/Skype Enterprise doesn't like it and goes into endless loops on some features (creating Outlook meetings, for example).
One of those feature is the CodeLens / Source Control / Lync integration. If I accidentally click on someone's name, Visual Studio (2017) becomes unresponsive and the Skype Enterprise window pops up but does nothing. Even if I close / minimize the window, Visual Studio is still unresponsive. I have to close Skype or kill it's process.
Of course, the problem doesn't occur when Skype Enterprise is not running.
So I decided to not use Skype Enterprise and that was OK for a while, but now more and more people want me to get on skype... meaning I have to keep it running now.
I've submitted the problem to our internal TI Support service and their current solution is to disable Skype / Outlook integration extension in Outlook, works for outlook freezes we had but doesn't do anything for Visual Studio.
All that being said. I know how to disable CodeLens but I like it's features (source control integration) and would rather not disable it, if possible. However, CodeLens Lync integration (Having "Call" shortcuts in Visual studio), I don't care about. I'd like to disable only that integration since it's problematic. But looking at CodeLens options... i don't see a way to disable that specific communication.
Anyone has any idea? A specific registry key maybe?

Notifications for successful automated builds to each team member

We are just integrating Visual Studio Team Services as our new workflow and setting up automated builds on commits to master. Currently the individual who commits to master and instigates a new build will get a notification email when the build fails or succeeds.
We thought we would all get a notification but it does not appear that way. We have looked at notification settings in VSTS but have so far not found any setting that would allow all of us to be notified on build completion. Is there a setting we are missing or is this a feature that is not currently supported?
Notifications
The VSTS Build Succeeded notification can be customized to report only on certain statuses using the Filter Criteria options, by creating the subscription for a team or group the notification will be sent to all members of the group:
If you need more advanced filters, consider routing your notification to an alternate email address and point that to IFTTT or Microsoft Flow. Or using the Build notification step in Microsoft Flow directly.
Visual Studio CD tools
The VSTS CD Tools integrate build notification directly into Visual Studio. This results in a toast notification whenever you have Visual Studio open:
Catlight
Another great tool to get build notifications is Catlight, it runs from the task tray and will even notify you when Visual studio isn't open:
Siren of Shame
And a 4th option is Siren of Shame, which also offers integration with a USB emergency light that will start blinking when the build fails:
AnyStatus
AnyStatus is a notification tool that comes as a Visual Studio add-in, or stand-alone tray icon (desktop app) that will notify upon status of build changes.
It has support for many Continuous Integration systems, including TFS vNext.
Here's is the configuration screen for adding a new project:
Here is the status screen, which appears when clicking the tray icon:
Here is the tray icon (immediately after triggering a build):
The tray icon shows a tick when all builds are OK, and a red X when at least one has failed. It shows a 'play' icon when at least one build is in progress.
Maybe node-build-monitor could be interesting for you. We use it for our teams on a dedicated screen. But you can open it in a browser tab and enable desktop notifications, too.
It's open source with a lots of contributers and support for many services.
https://marcells.github.io/node-build-monitor
If anyone is getting the dreaded "An error occurred while sending the request." with Catlight, try running it as administrator. Fixed it for us.

How do I queue a new build in Visual Studio without the options popup?

I know I can set up continuous integration - and that makes builds happen seamlessly. However this isn't appropriate for all our projects.
So for those, I can right-click the build and select queue new build and wait for the popup and queue it.
However, I never have to change those options. And this is about more than saving a click. More than once I've right-clicked and selected Queue build, left my desk before it appears (sometimes it takes 5-8 sec), meaning to meet with a co-worker or take lunch break prior to a large build.
Then I return to my desk and unlock my PC only to be greeted by the 'queue build' popup. Then I have to wait for it to build.
Usually I remember ... but the times I get burned are bitter indeed!
It's not able to suppress the options pop up when you queue the build either in visual-studio or web. For vNext build, it will also open a web portal.
As a workaround, you could try to use TFS API or Rest API to trigger the build instead of manually through Visual Studio. Please follow below tutorials:
For vNext Build:
How to trigger a build in TFS 2015 using REST API
For XAML Build: TFS API Queue a New Build with Custom Parameters
Besides you could also add a use voice here , TFS PM and Admin will kindly review your suggestion.

TFS Alerts not showing up in the Alerts Explorer

I've recently moved to a new computer and I am no longer able to see any of my alerts that I setup in Visual Studio 2010 and Alerts Explorer. However, I'm still receiving the alert emails when the events fire. I am using the same domain login and I have the same permissions (administrative permissions so that shouldn't be a problem). I have VS Power Tools installed (version 3.3.40818.0). I have the latest services packs & hot fixes installed for VS and TFS.
When I open the Alerts Explorer, I can only see one system event under the Build Alerts that I can't delete. I want to clean up the "spam" I'm receiving but I can't delete the alerts because I can't see it.
Without me having to go into the TFS database and fiddling around with tables and records I don't know much about - how do I get my alerts back in my Alerts Explorer? My old machine is not available anymore.
You can use the BisSubscribe tool (available on the TFS server) to unregister unwanted alerts, but unfortunately you'll need to search the database for the IDs of the alerts you want to remove. This post should give you directions: http://social.msdn.microsoft.com/Forums/pl-PL/tfsadmin/thread/01e7d1e2-2f5c-415f-81f3-a28e86be0c93.

Resources