I am making heavy use of DevOps queries in my daily tasks as release manager/scrum master at my customer. Especially when it comes to generating release notes.
Currently I have a query returning all DevOps Items, Ready for Release and tagged with Hotfix. I open them in Excel, format them a bit and paste them into ours Microsoft Teams Wiki. Excel really makes this table-tweaking much easier.
Today Excel kept crashing when I used Open in Excel and I could not figure out why. I used it successfully last week. After some googling I bumped into a forum post that told me to clear cache folders for Team Foundation Service. It helped !! Yay!!!
A couple of days ago I reinstalled my computer and since I usually go by “Newer is always Better” I installed Visual Studio 2019. When I was going to generate release notes for our latest release Excel Addin for DevOps did not work. I looked through the prerequisites and found nothing I missed… It should work… WTF
Today when writing release notes for my customers latest release I bumped into an issue. I have a query that returns all item in the current Iteration Path with their release notes. The release notes are written in Microsoft Word so I thought that if I could just get the query into Excel it would be an easy “Copy and Past” operation into word.
Fortunately Azure DevOps have just this feature. You simply go to queries, click the three dots negt to the query and select Open in Excel
Finally back for Flow Friday after some much needed rest over the holidays. This week is sort of a proof of concept. There are times when you need to just get a random value. This could be for a lottery or get a random name for the person that should take out the trash this week.
Create an Excel Sheet in OneDrive with a table containing all of the names you need to randomize
Go to Microsoft Power Automate and create a new flow
Since I want it to run automatically I set it on a schedule
Next we read the Excel file and figure out the number of rows
We then create a variable that is a random number between 0 and [number of rows in the table]
Then we get the name column form the row with the random number
Finally I sent the name in a notification
That is all… I will now get a notification with the name of the person that will take out the trash 🙂
In Dynamics 365 for Finance and Operations most of the data is represented in Entities which in turn are surfaced as OData feeds for used for integrations. If you need a raw look at the entity you can access the raw OData feed, unfortunately it is not easily readable for humans:
Excel to the rescue. In Excel go to Data – Get Data – From Other Sources – From OData Feed
We have started working with some customers who are looking into implementing The New Dynamics AX (aka AX 7) and one of the very useful features in AX are integration with the Microsoft Office. This has historically been done using an Office Addin which has been installed from the AX Install CD (of deployed by IT). In the new AX version this is done a little differently. You need to install a plugin from the Office Store (which I talk about here).
This is an issue with Office and how Office handles ADFS logins according to this article. According to Microsoft this has been fixed in the 16.0.6868.2060 build of Office 2016. This build is at the moment (2016-05-20) only available for Office Insiders which means that if you are using Office 365 your admin needs to enable you for Current Channel and you need to reinstall Office.
The reason for this is of course that the web app is trying to access the server on IP 127.0.0.1 port 10000 and since I am not doing this logged into the server console it will not work (it does work if i am logged in to the console)
To get this working you need to do these operations:
On the server edit the file C:\Program Files (x86)\Microsoft SDKs\Azure\Storage Emulator\AzureStorageEmulator.exe.config and change the IP to the correct address (or name)
Edit the file C:\CustomerServiceUnit\DOBind\Packages\Cloud\AosWebApplication\AosWebApplication.csx\roles\AosWeb\approot\web.config and change <add key=”AzureStorage.StorageConnectionString” value=”UseDevelopmentStorage=true” /> to <add key=”AzureStorage.StorageConnectionString” value=”UseDevelopmentStorage=true;DevelopmentStorageProxyUri=http://YourLocalIP” />
Open the tcp ports 10000, 10001 and 10002 to the server