Create Delivery Plan styling rules using Azure Devops REST Apis

Viewed 21

I am trying to create Delivery plan in the Azure Devops project using Azure Devops REST Apis. I have used following method to create the same.

https://docs.microsoft.com/en-us/rest/api/azure/devops/work/plans/create?view=azure-devops-rest-6.0

POST https://dev.azure.com/{organization}/{project}/_apis/work/plans?api-version=6.0

and I am sending following data in the request body properties

{
    "properties": {
        "teamBacklogMappings": [
            {
                "teamId": "09d57738-697f-4433-abdd-b80a2bc6337b",
                "categoryReferenceName": "Microsoft.RequirementCategory"
            },
            {
                "teamId": "5df45eec-4108-474a-8d93-bc09c0b9037e",
                "categoryReferenceName": "Microsoft.RequirementCategory"
            },
            {
                "teamId": "e8ed402b-68e7-4140-96f2-07790a08788b",
                "categoryReferenceName": "Microsoft.RequirementCategory"
            },
            {
                "teamId": "14425694-efa5-454e-811c-e9e03d79198f",
                "categoryReferenceName": "Microsoft.RequirementCategory"
            },
            {
                "teamId": "b02690e9-1f48-421a-a918-3b23cc9a1b73",
                "categoryReferenceName": "Microsoft.RequirementCategory"
            }
        ],
        "cardSettings": {
            "fields": {
                "showId": true,
                "showAssignedTo": true,
                "assignedToDisplayFormat": "avatarOnly",
                "showState": true,
                "showTags": true,
                "showParent": false,
                "showEmptyFields": true,
                "showChildRollup": true,
                "additionalFields": null,
                "coreFields": [
                    {
                        "referenceName": "System.AssignedTo",
                        "displayName": "Assigned To",
                        "fieldType": "string",
                        "isIdentity": true
                    },
                    {
                        "referenceName": "System.Id",
                        "displayName": "ID",
                        "fieldType": "integer",
                        "isIdentity": false
                    },
                    {
                        "referenceName": "System.State",
                        "displayName": "State",
                        "fieldType": "string",
                        "isIdentity": false
                    },
                    {
                        "referenceName": "System.Tags",
                        "displayName": "Tags",
                        "fieldType": "plainText",
                        "isIdentity": false
                    }
                ]
            }
        },
        "markers": [],
        "styleSettings": [
            {
                "name": "BLOCKER",
                "isEnabled": "True",
                "filter": "[System.Tags] CONTAINS 'BLOCKER'",
                "clauses": [
                    {
                        "fieldName": "System.Tags",
                        "logicalOperator": "AND",
                        "operator": "CONTAINS",
                        "value": "BLOCKER"
                    }
                ],
                "settings": {
                    "background-color": "#E60017",
                    "title-color": "#000000"
                }
            },
            {
                "name": "New",
                "isEnabled": "True",
                "filter": "[System.State] = 'New'",
                "clauses": [
                    {
                        "fieldName": "System.State",
                        "logicalOperator": "AND",
                        "operator": "=",
                        "value": "New"
                    }
                ],
                "settings": {
                    "background-color": "#AAAAAA",
                    "title-color": "#000000"
                }
            },
            {
                "name": "Dev Completed",
                "isEnabled": "True",
                "filter": "[System.State] = 'Development Completed'",
                "clauses": [
                    {
                        "fieldName": "System.State",
                        "logicalOperator": "AND",
                        "operator": "=",
                        "value": "Development Completed"
                    }
                ],
                "settings": {
                    "background-color": "#D7E587",
                    "title-color": "#000000"
                }
            },
            {
                "name": "Deployed to QA",
                "isEnabled": "True",
                "filter": "[System.State] = 'Deployed to QA (SIT)'",
                "clauses": [
                    {
                        "fieldName": "System.State",
                        "logicalOperator": "AND",
                        "operator": "=",
                        "value": "Deployed to QA (SIT)"
                    }
                ],
                "settings": {
                    "background-color": "#C3D84C",
                    "title-color": "#000000"
                }
            },
            {
                "name": "Deployed to UAT",
                "isEnabled": "True",
                "filter": "[System.State] = 'Deployed to UAT'",
                "clauses": [
                    {
                        "fieldName": "System.State",
                        "logicalOperator": "AND",
                        "operator": "=",
                        "value": "Deployed to UAT"
                    }
                ],
                "settings": {
                    "background-color": "#60AF49",
                    "title-color": "#000000"
                }
            },
            {
                "name": "Deployed to PROD",
                "isEnabled": "True",
                "filter": "[System.State] = 'Completed'",
                "clauses": [
                    {
                        "fieldName": "System.State",
                        "logicalOperator": "AND",
                        "operator": "=",
                        "value": "Completed"
                    }
                ],
                "settings": {
                    "background-color": "#00643A",
                    "title-color": "#000000"
                }
            }
        ],
        "tagStyleSettings": []
    }
}

However Styling rules are not getting created in the project.

2 Answers

Create Delivery Plan doesn't accept style settings, from the UI you can notice this:

enter image description here

Just get the plan id and the response from the Create API and then use them in the Update API, this is the only way.

Related