Skip to content
Release: Australia · Updated: 2026-03-12 · Official documentation · View source

DevOps work item import for Azure Boards

Azure Boards work items are mapped to default ServiceNow DevOps states and types during import. You can use the DevOpsAzureDevOpsWorkItemHelper script include to customize the mappings.

Default Azure Boards work item mapping

Native State and Native Type fields of the work item contain the original state and type values from the source tool.

ServiceNow DevOpsAzure Boards BasicAzure Boards AgileAzure Boards Scrum
TaskTaskTask Test caseTask Impediment Test case
BugIssueBug IssueBug
Story--User storyProduct backlog item
EpicEpicEpicEpic
Feature--FeatureFeature

Note: Historical import of Azure DevOps work items is not supported for Agile Boards CMMI process.

ServiceNow DevOpsAzure Boards BasicAzure Boards AgileAzure Boards Scrum
PlannedTo DoNewNew Open Approved Committed To do
WIPDoingActive DesignIn Progress Design
CompleteDoneReady ClosedDone Ready Closed
DeletedDeletedCompleted DeletedRemoved

Note: When an imported Azure Boards work item type or state is not recognized, the value is set to Other.

Customize Azure Boards state and type mappings

Access the DevOpsAzureDevOpsWorkItemHelper script include in the System Definition > Script Includes module.

This script example adds new states and types for custom processes MyScrum and CustomBasic. CustomBasic inherits the state and type defined for Basic process.

var DevOpsAzureDevOpsWorkItemHelper = Class.create();

DevOpsAzureDevOpsWorkItemHelper.prototype = Object.extendsObject(DevOpsAzureDevOpsWorkItemHelperSNC, {

    setDefaultProcess: function (projectProcess){

        DevOpsAzureDevOpsWorkItemHelperSNC.prototype.setDefaultProcess.call(this, projectProcess);

        //set custom states and types
        var newStates, newWITypes;
        if (projectProcess == 'NPScrum'){
            // no parent process set. So type and states avaibale will be linited to newStates
            // and newWITypes
            newStates = {
                'Delayed': 'planned',
                'Approved': 'wip'
            };
            newWITypes= {
                'Request': 'story',
                'Incident': 'task'
            };

        } else  if (projectProcess == 'CustomBasic'){
            //set parent process to Basic to inherit basic states and types
            this.setParentProcess('Basic');
            newStates = {
                'Auto-Approved': 'wip'
            };
            newWITypes= {
                'UserStory': 'story'
            };
        }

        this.setStates(newStates);
        this.setWorkItemTypes(newWITypes);
    },

    type: 'DevOpsAzureDevOpsWorkItemHelper'
});

Parent Topic:Azure DevOps integration with DevOps Change Velocity