Inactive Tasks Query in Azure Devops - azure-devops

We are currently implementing Azure Devops for our backlog and task management. We are using a Kanban board setup. I would like to add a query to our dashboard to show Stale actions, effectively I want to see a list tasks that have been assigned but not modified in 7 days.
Initially I tried the state change date, but am finding that some tasks are having activity but just not a state change.
So I tried Changed Date, but that shows changes to the priority level when other items are changed.
How can I write a query that would only identify work items that have not been modified in over 7 days?

Currently there are no existing field can meet your requirement. And the Changed Date field will be updated if there are any changes to this work item as you mentioned.
As a workaround, you could try following steps.
Add a custom field to a work item type (Inheritance process), I add field LastEdit which is Date/Time type and IsActive which is Text (single line) type for Task, and field IsActive is required, as below.
Add a rule to a work item type (Inheritance process), I add 3 rules for Task, as below.
Therefore, the field LastEdit is the last edit time, and users must edit the field IsActive when they update this work item and then the field LastEdit will be updated, otherwise they cannot save their changes.
Now you could filter target Tasks that using the field LastEdit, as below.

Here's the approach I tried utilizing rules to set a "LastEdit" custom date field. I have 4 of these set for different changes, then I can query off the LastEdit date. It'll take a few days before I know if this works or not, but some simple testing seem ok. The major shortcoming I see is that I cant create a rule to update the LastEdit based on a new comment being entered.

Related

Is it possible to query when a specific field changed in Azure DevOps?

I have a DateTime field (MyDTField) in my Azure DevOps instance (I am an admin on it, so I can change its schema if necessary). I would like to write a query that returns any items where the above field (MyDTField) changed in the last 7 days. Is this possible to do?
For e.g. the built in "Changed Date" field allows us to write a similar query, but that returns work times where any field value changed. I want to get items where a specific field changed within a specified time period.
Thanks!
You can try to set up a query like as below to see if it can work as expected.
To view more details, you can see:
Query history and discussion fields
Operators and macros supported for each data type
[UPDATE]
As a workaround, you can try like as below on each of the work item types that have the MyDTField field:
Add another custom Date/Time field, for example "MyDTField Latest change Date" field.
Add a work item rule like this. With this rule, once the MyDTField field changed, the value of the MyDTField Latest change Date field will be automatically changed to the current date/time.
Set up the query like as this. With this query, you will get the list of work items as your expectation.

How can I create a custom rule when changing board column in Azure Devops Boards?

I am trying to create a custom rule so that a custom field must be defined when moving a card to a specific board column but can't find how to do it.
Something in the lines of:
When board column changes value to "Deploy" make custom field "Target" required.
A user should not be able to move a card to column "Deploy" whithout field "Target" being defined.
Any suggestions?
There is a similar question but the only answer to that is using state changes isn't applicable for this particular column change.
The Board Column are not fields of work items as Shamrai mentioned. I am afraid it cannot be done by using the column Name.
The workaround is to map the columns to different states. And then add custom rule by using the workitem state changes.
Click the Gear icon on the Boards page, Navigate to Columns. See below:
You can add Custom State for User Story,Feature and Epic, if there are not enough states to map with the columns.
Go to Organization Settings--> Process under Boards-->Select the inherited process the your project using-->Click User Story(or Feature and Epic)-->Navigate to State and Add new State.
Now you can create the custom rule to make the Target field required when the state of the work item is changed (moved to a different column).
That`s a problem because Board Column, Board Lane, and Board Column Done fields are not available in the fields list to assign rules. I think you may try the following:
Add custom state "Deploy" and assign it to your column. Then use rules.
Create a custom application that queries Deploy without Target and returns such work items with comments "where is your target?" How can I find all work items in a given board column via Azure DevOps API? , How to update the work item from Powershell For VSTS?

In Azure DevOps portal how to query list of tasks whose Completed effort is modified today

In Azure DevOps portal how to query list of work items whose "Completed effort" is modified today. Actually I'm trying to query list of work items my team members have worked today and email them to my manager.
I'm able to query list of work items "modified" by users today, but I do not want to retrieve a work item if it's completed effort is not modified and some other filed is modified.
I am afraid it cannot be done directly. There is not such a filter of completed effort change.
However, there is a workaround to achieve this. Check below:
1, Add a custom field of Date type(see below Modified Date field). Check here for detailed steps.
2, Create a rule: Check here for detailed steps:
Condtions: When change was made to Completed work field.
Action: Set the customized Modified Date field to the Changed Date
3,Then you can add Modified Date filter in your Query. See below query, only the work items whose completed effort filed is modified today will be returned:
Another workaround is to use work item tracking Rest api. This is a little complicated:
1, First call Wiql rest api to get all the work items of your current query.
2, Second loop through the returned work items and call Updates rest api, Then filter those work items whose completed effort field has new value.

How to add a message in Azure DevOps work item template, "Select a value to field 'XYZ'", without marking that field a mandatory?

How can we notify a user to select a value to a drop-down field in Azure DevOps work item without making it a required field.
The reason of not making it mandatory is because it is not a compulsory information.
But the reason for this 'way to notify' is to make sure that this value is to be filled when it is relevant (which is most of the time - but not all the time).
There is no option to add a notification on a field without making it mandatory, but there is a workaround to force the user to think about the value of the field.
You can add an additional boolean field who is enabled by default. This field can be used to create a rule for your original field, to indicate if it is required or not.
So to set this up you have to add the following fields/rules to your work item type:
2 fields:
originalFieldName (the field with extra attention)
booleanFieldName (Boolean, default value: true)
2 Rules:
When a work item is created
Then set the value of booleanFieldName to 1
When the value of booleanFieldName Equals 1
Then make originalFieldName required
With this solution the user always have to fill in the field or make the field is optional by deselecting the boolean field.
If you just want a message to be displayed in the work item to notify user to select a value. There is a workaround that you can create a customized process. You can customize the fields and pages in the your custom process.
For testing, i create a custom process and add a notification text to a group name to indicate use to select a value for a field. Please refer to below step.
1, Go to the Process section in the Organization Settings, and select the process that you want your custom process inherit from.
2, Then choose the work item type you want to edit. You can edit or add a fields or group to the work item type. For below example, i edit the title for Planning group to add a notification message.
For more information about custom process please refer the official documents.
If you already choose a process to your project. You can refer the detailed steps here to change your project process to the customized process.
Hope you find above helpful.

How can i view the Created Date and the Owner of the Field in Azure DevOps

I am working on Azure DevOps and I know little about the product. I want to view the field history when it is created and by whom it is created and last modified.
I have gone through a couple of things in docs but it didn't help me.
Research up till Now
It shows me the fields but no information other than when I clicked on fields it gives me an option to delete the field.
Path
Organization Setting > Process > Fields
How can i view the Created Date and the Owner of the Field in Azure DevOps
Indeed, there is no such out of box way to get the Created Date and the Owner of the Field.
As a workaround, we could add a custom field in our custom process and set the value to 1 when the field is defined with a value. For example, I create a MyCustomFiled field and add rule to set the MyCustomFiled to 1 if the target field is defined:
In this case, when the target field is created by some one, our custom filed will be set with value 1.
Next, we create a query with following Filters:
Now, we could get the Created Date and the Owner of the Field.
Update:
what about the fields that are already created?
For this situation, we could query workitems whose fields have been modified according to the opposite conditions, for example, the Description field:
If this workaround still not work for you, you could try to use REST API Revisions - Get to get all the history for one workitem, use scripts to filter the revision about the specify field, then loop through all the workitems.
GET https://dev.azure.com/{organization}/{project}/_apis/wit/workItems/{id}/revisions/{revisionNumber}?api-version=5.1
Hope this helps.