How to check if user story was updated? - azure-devops

I'm trying to create a logic app around a query that checks if user stories have been updated in the last 24 hours and notify user otherwise, but if I use the state as my clause, anything contributes to the state and it wont be accurate to TRUE updates (e.g. comments).
How should I approach this? Is "ChangedDate" the best field to check for updated stories and then remind the user to update the story after 24 hours have passed? Or is there a better condition I can use that checks for legitimate user story updates?

ChangedDate is enough.
ChangedDate can filter out all changed work items including state change and comments add records. it can achieve your requirement.
E.G:
Created Date >= #StartOfDay - 1
To remind users to update user stories regularly, we can try to install extensions like Scheduled Work Item Query, then create a pipeline using the extension task to send the query result to team members. We can Configure schedules for pipelines to trigger the pipeline based on your requirement, for example every 24 hours.

Related

Increment Planning Query

Our teams are using Azure DevOps. We're using the Agile framework and an enterprise release management approach (essentially, SAFe). Our increments are based on the quarters of the year -- for us, this equals 6 sprints.
My goal is to be able to view work scheduled within the current increment as the sprints move along.
I currently have a query that displays current sprint plus the future 5, to give me 3 month's worth of work (see below).
The trouble with this is it has to be edited after each sprint so it only displays the current increment's work. (I have to change it to include the previous sprint and reduce the number of future sprints otherwise it doesn't display completed work in this increment, as well as showing upcoming work from the next increment.)
Increment Planning Query
Sorry for any inconvenience.
I am afraid there is no such increment planning query, that because the value of CurrentIteration will be different due to the change of the current date.
If you want use the #CurrentIteration macros, you have to modify this query after each sprint.
As workaround, you could specify the each Iteration value in the query, like:
With this workaround, we do not need modify the query after each sprint, just need update it after each quarter.
If above workaround not work for you, you could add your request for this feature on our UserVoice site (https://developercommunity.visualstudio.com/content/idea/post.html?space=21 ), which is our main forum for product suggestions. Thank you for helping us build a better Azure DevOps:
Hope this helps.

Create a query that shows work you planned at the beginning of a sprint

I'm looking to create a query that shows all of the stories that were added to the sprint during our sprint planning meeting. This meeting always takes place on day 1 of the sprint.
Naturally, some stories may be removed mid-sprint but I'd still like to see what was originally planned.
Equally, some stories may be added mid-sprint and I wouldn't want to include those.
I noticed that the built-in Velocity widget has a 'planned' bar, but I'm not entirely sure how that's calculated.
For this issue ,deleted work items cannot be displayed with other work items in queries. If you want to query the stories created by a certain period of time, you can do it in two steps.
First you can query the stories created in the initial time period by the following conditions.
Then you can add the Created Date and Iteration Path column in Recycle Bin to find the stories deleted in this time period.
If your stories are permanently deleted(Remove from Recycle Bin), then you will really cannot query them.

Call external web service from within Crm 2016

I have some functionality I need to implement in Dynamics Crm 2016. I need to scan all records for a custom entity and update any record where a certain condition is true. This is a bit too complex to do via a workflow (I can't change owner via a workflow step) so I'm thinking perhaps I could perform this logic in a custom plugin. I don't know if it makes sense to call this plugin from a workflow in crm though, as I need to perform the logic on all records for this particular entity, and I need the logic to run regularly, i.e. daily/weekly. What's the best way to do this?
I figured this out. It was actually possible to do entirely within Crm. What I was trying to do was the following.
I have a custom entity called announcement, and it has a custom field called embargo date.
I needed to somehow check periodically if the embargo date has been reached, meaning, is the embargo date today? If so, then I needed to change the owner of this entity.
If the embargo date has not yet been reached, then I need to wait until it is, checking the date again everyday till it is reached.
I managed this with a workflow. I added my check conditions, if they were true I assigned the entity to another user.
If my conditions weren't true, I added wait step to wait for 1 day,then another step to Start workflow where I called the current workflow recursively. Meaning, if the conditions aren't true have the workflow call itself again.

How can I add a variable number of months to a date using Workflow Designer in CRM2011?

I'd like to do this in the graphical workflow designer witin CRM if possible, rather than resort to XAML or a custom assembly.
I want to set a date in a new record to the value of the corresponding date in another record, incremented by a number of months found in a third (related) record. The application is bumping the renewal date of a membership by the duration of the membership type, which might be 3, 12, 24 or 60 months.
Any help appreciated, including telling me that it can't be done!
It can be done but you need to write a custom workflow activity, this because you need to fetch the related entities to retrieve the value.
MSDN - Create a Custom Workflow Activity

Data expiration

I developed an application where the user can create tasks (like a an agenda, ERP or CRM)
So, the user creates a task and that task has an expiration date. The idea is to erase the entry when the task expires.
I've been thinking solutions, like having a timer and so, but:
There is any method or way to create data that expires?? I mean, does MySQL, MSSQL (or any DB Manager) support something like this natively?
I would be great to have something like this:
CREATE TABLE [MyTASK] (expires on mydate action = DELETE){
mydate,
mysomething,
myagain
}
And then, the FakeSQL erases the data when the field "mydate" expires.
Data won't expire itself. You'll have to run something to find and remove it.
MS SQL Server supports the concept of scheduled jobs. So you can specify a stored proc that erases anything over (say) a week old, and configure that job to run every night.
mySQL seems to have Event Schedulers since 5.1.
If storage space is not an issue, it's worth a thought about putting in a bit field to mark a record as deleted so that none of your data is lost in case you want to add a part to your application that can look at all previous tasks. Like some administrative tools. Let's say employees are making tasks, and a task has expired and you don't want normal users to be able to modify or access expired tasks, so you "Delete" them when they expire. But one day the big boss comes along and says he wants a list of all tasks in the last year. This bit field could come in handy. It's just a thought and there may be better suggestions out there