<p>Customizing the Scrum process in Azure DevOps to enforce specific rules, like preventing certain state transitions based on user roles or field values, can be challenging because Azure DevOps provides limited inbuilt customization options for process rules. However, there are some strategies you can employ to achieve similar functionality:</p>
<p>Process Customization:
While Azure DevOps allows for some process customizations, such as adding or modifying work item types, fields, and states, it doesn't natively support complex conditional logic based on user roles directly within the state transition rules. You can check if there are any updates or extensions that might offer more advanced process customization options.</p>
<p>Azure DevOps Services Hooks:
Use service hooks or webhooks to integrate with external services. You can set up a service hook that triggers on work item updates and then use an external service (like a custom web application or Azure Functions) to check the conditions you want to enforce (like the &quot;Developed_By&quot; field). If the condition is not met, you can revert the change or notify the responsible parties to take appropriate action.</p>
<p>Custom Development:
Develop a custom application or script that uses the Azure DevOps REST API to monitor work item changes and enforces the rules you need. This application can periodically check the state of work items and revert changes or notify users if their actions violate your process rules.</p>
<p>To mimic the specific behavior you described, you would likely need a combination of a service hook or webhook with a custom logic handler (like an Azure Function or a web service) that checks the &quot;Developed_By&quot; field and validates the state transition based on your rules.</p>

CC BY-SA 4.0
2024-03-09T07:12:18.843Z
Fantastic response, geeky_girl! This all makes sense to me.  Certainly seems that ADO is not as flexible as TFS with the XML modelling but at least there's ways and means around it as you identified.  Thank you.
stevedunn1969
CC BY-SA 4.0
2024-03-07T16:17:51.887Z
2024-03-07T16:17:51.887Z
geeky_girl
<p>I'm trying to customise the Scrum process in Azure DevOps to make it fit our needs better.</p>
<p>When we had TFS we were able to prevent a Developer from changing the state of a Product Backlog Item from &quot;Quality Control&quot; to &quot;Ready for Test&quot; if that developer was already in a &quot;Developed_By&quot; field.</p>
<p>How do we mimic that behaviour in Azure DevOps, the rules seem to be quite limiting (we can't define reasons for state movement, we can't do conditional rules based on security)?</p>

<azure><process>
Custom Rule issues in Azure DevOps Services
stevedunn1969
# Custom Rule issues in Azure DevOps Services

(Asked by: username_0 on 2024-02-06)

I'm trying to customise the Scrum process in Azure DevOps to make it fit our needs better.

When we had TFS we were able to prevent a Developer from changing the state of a Product Backlog Item from "Quality Control" to "Ready for Test" if that developer was already in a "Developed\_By" field.

How do we mimic that behaviour in Azure DevOps, the rules seem to be quite limiting (we can't define reasons for state movement, we can't do conditional rules based on security)?

**Tags:** azure, process


---

## 1 answers

### Answer by username_1 on 2024-03-07. Score: 1 | Accepted answer

Customizing the Scrum process in Azure DevOps to enforce specific rules, like preventing certain state transitions based on user roles or field values, can be challenging because Azure DevOps provides limited inbuilt customization options for process rules. However, there are some strategies you can employ to achieve similar functionality:

Process Customization:
While Azure DevOps allows for some process customizations, such as adding or modifying work item types, fields, and states, it doesn't natively support complex conditional logic based on user roles directly within the state transition rules. You can check if there are any updates or extensions that might offer more advanced process customization options.

Azure DevOps Services Hooks:
Use service hooks or webhooks to integrate with external services. You can set up a service hook that triggers on work item updates and then use an external service (like a custom web application or Azure Functions) to check the conditions you want to enforce (like the "Developed\_By" field). If the condition is not met, you can revert the change or notify the responsible parties to take appropriate action.

Custom Development:
Develop a custom application or script that uses the Azure DevOps REST API to monitor work item changes and enforces the rules you need. This application can periodically check the state of work items and revert changes or notify users if their actions violate your process rules.

To mimic the specific behavior you described, you would likely need a combination of a service hook or webhook with a custom logic handler (like an Azure Function or a web service) that checks the "Developed\_By" field and validates the state transition based on your rules.

> **Comments:**
> **username_0**: Fantastic response, username_1! This all makes sense to me.  Certainly seems that ADO is not as flexible as TFS with the XML modelling but at least there's ways and means around it as you identified.  Thank you.  

---

