You are not logged in. Click here to log in.

codebeamer Application Lifecycle Management (ALM)

Search In Project

Search inClear

Codebeamer DOORS Bridge REST API


Table of Contents


Codebeamer 9.1 and newer, also has special DOORS Bridge REST API, that allows to script:


This document only describes the DOORS Bridge specific functionality.

Please see REST API (v1), for an introduction.



Get the Top-Level Nodes of the DOORS Hierarchy

GET /doors/hierarchy[?options]
Option Type Required Meaning
server String Yes The (hostname, ip-address and port) of the DOORS Bridge server, e.g. "http://my-doors-bridge:9090/db".
username String Yes The DOORS username, to login at the underlying DOORS instance. This DOORS user must have Edit DXL (in batch mode) permission.
password String Yes The DOORS password, to authenticate the specified DOORS user.
recursively boolean No Get descendants recursively (true), or only get top-level nodes (false) ? Default is false.
baselineSets boolean No Only show projects and folders and the number of baseline set definitions per node (true),
or show projects, folders and (formal) modules, without baseline sets (false).
Default is false.

The response contains an array of JSON objects, where each object represents an item in the DOORS hierarchy.


The "type" of an item is:


Type Meaning
1 Folder
2 Project
3 Module


E.g.

GET /doors/hierarchy?server=http://my-doors-bridge:9090/db&username=...&password=...
[ {
  "id" : "00000001",
  "type" : 2,
  "name" : "Klaus Test",
  "description" : "Testprojekt für Tests von Klaus"
}, {
  "id" : "00000002",
  "type" : 1,
  "name" : "Intland Software",
  "description" : "Daten von Intland Software"
}, {
  "id" : "00000003",
  "type" : 1,
  "name" : "Mechatronics",
  "description" : "Merit Automotive Electronics"
}, {
  "id" : "00000004",
  "type" : 2,
  "name" : "Test Project"
}, {
  "id" : "00000005",
  "type" : 2,
  "name" : "ReqIF Test",
  "description" : "Project to test ReqIF import/export"
} ]




Get the Children or Descendants of the Specified DOORS Hierarchy Node

GET /doors/{node}/children[?options]
Option Type Required Meaning
node String Yes The Id of the parent node, e.g. "00000001".
server String Yes The (hostname, ip-address and port) of the DOORS Bridge server, e.g. "http://my-doors-bridge:9090/db".
username String Yes The DOORS username, to login at the underlying DOORS instance. This DOORS user must have Edit DXL (in batch mode) permission.
password String Yes The DOORS password, to authenticate the specified DOORS user.
recursively boolean No Get descendants recursively (true), or only get direct children (false) ? Default is false.
baselineSets boolean No Only show projects and folders and the number of baseline set definitions per node (true),
or show projects, folders and (formal) modules, without baseline sets (false).
Default is false.

The response contains an array of JSON objects, where each object represents an item in the DOORS hierarchy.

E.g.

GET /doors/00000001/children?server=http://my-doors-bridge:9090/db&username=...&password=...&recursively=true
[ {
  "id" : "00000020",
  "type" : 3,
  "name" : "Pflichtenheft",
  "description" : "Ein Test Pflichenheft"
}, {
  "id" : "00000021",
  "type" : 1,
  "name" : "Testmanagement",
  "description" : "Daten für das Testmanagement",
  "children" : [ {
    "id" : "00000040",
    "type" : 1,
    "name" : "Spezifikationen",
    "description" : "Testfälle und Testspezifikationen",
    "children" : [ {
      "id" : "00000060",
      "type" : 3,
      "name" : "Testfälle",
      "description" : "Testfall Spezifiationen"
    } ]
  }, {
    "id" : "00000041",
    "type" : 1,
    "name" : "Testprotokolle",
    "description" : "Protokolle/Ergebnisse"
  } ]
} ]




Get the Baseline Sets Defined in the Specified DOORS Project or Folder

GET /doors/{projectOrFolder}/baselineSets[?options]
Option Type Required Meaning
projectOrFolder String Yes The Id of the DOORS project or folder, e.g. "000000a0".
server String Yes The (hostname, ip-address and port) of the DOORS Bridge server, e.g. "http://my-doors-bridge:9090/db".
username String Yes The DOORS username, to login at the underlying DOORS instance. This DOORS user must have Edit DXL (in batch mode) permission.
password String Yes The DOORS password, to authenticate the specified DOORS user.
baselines boolean No Also get module baselines per baseline set (true), or only get baseline set definitions including modules and baseline sets (false) ? Default is false.

The response contains an array of JSON objects, where each object represents a DOORS baseline set definition, including modules and baseline sets.


E.g.

GET /doors/000000a0/baselineSet?server=http://my-doors-bridge:9090/db&username=...&password=...&baselines=true
[ {
  "name" : "SA deliveries",
  "description" : "Baselines made after each SA docs delivery",
  "modules" : [ {
    "id" : "00000182",
    "name" : "RTD_10024803_I",
    "description" : "RTD - B3",
    "path" : "/Mechatronics/10024803/02_SYS_REQs/RTD_10024803_I"
  }, {
    "id" : "00000260",
    "name" : "EETP_10024803",
    "description" : "Electrical Test Specification",
    "path" : "/Mechatronics/10024803/10_SYS_Test/EE/EETP_10024803"
  }, {
   ...
  } ],
  "baselineSets" : [ {
    "id" : "1.0.1.0",
    "description" : "SA B1 delivery",
    "Created On" : 1394625274,
    "Created By" : "krzysztof",
    "baselines" : {
      "00000182" : "3.0.1.0",
      "00000260" : "3.0.1.0",
      ...
     }
  }, {
    ...
  } ]
}, {
  ...
} ]




Get the Metadata (Attributes and Link Types) of the Specified DOORS Module

GET /doors/{module}/metaData[?options]
Option Type Required Meaning
module String Yes The Id of the formal module, e.g. "00000020".
Can also be comma-separated list of module ids, to get the merged/aggregated meta data of multiple modules.
server String Yes The (hostname, ip-address and port) of the DOORS Bridge server, e.g. "http://my-doors-bridge:9090/db".
username String Yes The DOORS username, to login at the underlying DOORS instance. This DOORS user must have Edit DXL (in batch mode) permission.
password String Yes The DOORS password, to authenticate the specified DOORS user.


The response is a JSON object with the attributes and link types of the specified module.


The "type" of an attribute is:



Type Meaning
0 String
1 Integer
2 Decimal
3 Timestamp
4 Boolean
5 Username
6 Enumeration
7 Reference
10 Rich Text


E.g.

GET /doors/00000020/metaData?server=http://my-doors-bridge:9090/db&username=...&password=...
{
  "id" : "00000020",
  "name" : "Pflichtenheft",
  "description" : "Ein Test Pflichenheft",
  "locked" : true,
  "attributes" : [ {
    "name" : "Created By",
    "type" : 5,
    "memberType" : 2
  }, {
    "name" : "Created On",
    "type" : 3
  }, {
    "name" : "Created Thru",
    "type" : 6,
    "options" : [ {
      "id" : 0,
      "name" : "Manual Input"
    }, {
      "id" : 1,
      "name" : "Extracting"
    }, {
      "id" : 2,
      "name" : "Copying"
    } ],
    "default" : "Manual Input"
  }, {
    "name" : "Last Modified By",
    "type" : 5,
    "memberType" : 2
  }, {
    "name" : "Last Modified On",
    "type" : 3
  }, {
    "name" : "Priorität",
    "description" : "Die Priorität der Anforderung",
    "type" : 6,
    "options" : [ {
      "id" : 1,
      "name" : "Nice to have",
      "color" : 0
    }, {
      "id" : 2,
      "name" : "Want to have",
      "color" : 33
    }, {
      "id" : 3,
      "name" : "Must have",
      "color" : 29
    } ],
    "editable" : true
  }, {
    "name" : "Speisefolge",
    "description" : "Umfang des gewünschten Menüs",
    "type" : 6,
    "options" : [ {
      "id" : 1,
      "name" : "Vorspeise"
    }, {
      "id" : 2,
      "name" : "Suppe"
    }, {
      "id" : 3,
      "name" : "Hauptgericht"
    }, {
      "id" : 4,
      "name" : "Dessert"
    } ],
    "multiple" : true,
    "editable" : true
  }, {
    "name" : "Status",
    "description" : "Der Status der Anforderung",
    "type" : 6,
    "options" : [ {
      "id" : 1,
      "name" : "Entwurf",
      "color" : 28
    }, {
      "id" : 3,
      "name" : "Akzeptiert",
      "color" : 25
    }, {
      "id" : 2,
      "name" : "Abgelehnt",
      "color" : 13
    } ],
    "editable" : true
  }, {
    "name" : "attachments",
    "type" : 7,
    "refType" : 5,
    "refQuali" : [ "attachment" ],
    "multiple" : true,
    "label" : "Attachments",
    "description" : "Whether to import embedded OLE objects and pictures as attachments, or only the object rich text without embedded OLE objects and pictures",
    "editable" : true
  }, {
    "name" : "discussions",
    "type" : 7,
    "refType" : 5,
    "refQuali" : [ "comment" ],
    "multiple" : true,
    "label" : "Discussions",
    "description" : "Whether to also import object discussions and comments, or not. (Only possible, if users are also imported)",
    "editable" : true
  }, {
    "name" : "history",
    "type" : 7,
    "refType" : 5,
    "refQuali" : [ "change" ],
    "multiple" : true,
    "label" : "History",
    "description" : "Whether to also import the object history, or not. (Only possible, if users are also imported)"
  } ],
  "linkTypes" : [ {
    "id" : "00000022",
    "name" : "DOORS Links",
    "description" : "Automatisch von DOORS erstelltes Linkmodul",
    "attributes" : [ {
      "name" : "Created By",
      "type" : 5,
      "memberType" : 2
    }, {
      "name" : "Created On",
      "type" : 3
    }, {
      "name" : "Last Modified By",
      "type" : 5,
      "memberType" : 2
    }, {
      "name" : "Last Modified On",
      "type" : 3
    } ]
  }, {
    "id" : "External",
    "name" : "External",
    "description" : "Links to external resources",
    "attributes" : [ {
      "name" : "Created By",
      "type" : 5,
      "memberType" : 2
    }, {
      "name" : "Created On",
      "type" : 3
    }, {
      "name" : "Last Modified By",
      "type" : 5,
      "memberType" : 2
    }, {
      "name" : "Last Modified On",
      "type" : 3
    } ]
  } ]
}




For more details, see section You must login to see this link. Register now, if you have no user account yet..


Get a HTML Preview of the Specified DOORS Module

GET /doors/{module}/preview[?options]
Option Type Required Meaning
module String Yes The Id of the formal module to preview, e.g. "00000020".
baseline String No The (version) Id of the module baseline to preview. The default is null, to show the current/head revision of the module.
server String Yes The (hostname, ip-address and port) of the DOORS Bridge server, e.g. "http://my-doors-bridge:9090/db".
username String Yes The DOORS username, to login at the underlying DOORS instance. This DOORS user must have Edit DXL (in batch mode) permission.
password String Yes The DOORS password, to authenticate the specified DOORS user.
length int No The length of the preview (number of items to show). The default is the first 50 items.


The response is an HTML fragment in UTF-8 encoding.


E.g.

GET /doors/00000020/preview?server=http://my-doors-bridge:9090/db&username=...&password=...




Get Information about All Registered DOORS Bridges

Since Codebeamer release 22.10-LTS (GINA).

GET / doors/bridges


You only get information about DOORS Bridges that are either public, or where you have explicit access.

For example:

[ {
  "id" : 12345,
  "server" : "http://my-doors-bridge:9090/db",
  "description" : "DOORS 9.7 Bridge",
  "public" : true
} ]


Get Information about a Specific DOORS Bridge

Since Codebeamer release 22.10-LTS (GINA).

GET /doors/bridge/{bridgeId}


You only get information about DOORS Bridges that are either public, or where you have explicit access.

For example:

GET /doors/bridge/12345
{
  "id" : 12345,
  "server" : "http://my-doors-bridge:9090/db",
  "description" : "DOORS 9.7 Bridge",
  "public" : true
}


Get the Tracker Associated with the Specified DOORS Module

In Codebeamer release 22.04 (FELICITY) and older:

GET /doors/{module}/tracker[?options]




Since Codebeamer release 22.10-LTS (GINA) and newer:

GET {CB}/rest/doors/bridge/{bridgeId}/module/{moduleId}/tracker[?options] 

Option Type Required Meaning
bridgeId int Yes The Id of the DOORS Bridge instance, to which the module belongs. The calling user must have access to the specified /doors/bridge/{bridgeId} or the bridge must be public.
module String Yes The Id of the formal module, whose associated tracker to get, for example: "00000020".
tracker_id int No An optional Codebeamer tracker id, to check, if the specified module can be associated with this tracker.


The result is information about the associated Codebeamer tracker, or null, if the specified module is not associated with any tracker.

For example:

GET /doors/bridge/12345/module/000000a0/tracker
{
  "id" : 5130,
  "type" : 5,
  "path" : "Tracker",
  "name" : "Pflichtenheft",
  "title" : "",
  "project" : {
    "id" : 14,
    "name" : "Test"
  }
}




Get the DOORS Import Settings of the Specified Tracker

GET /tracker/{trackerId}/doors/settings[?options]
Option Type Required Meaning
trackerId int Yes The id of the Codebeamer tracker, whose DOORS import settings to get.
version int No The id of a DOORS import history log entry, in order to get the historic import settings, that were in affect for that import.


You must be a Tracker Administrator, in order to get this information.


The result is a JSON object with information about the currently associated DOOORS module (if any), the import configuration and additional info to configure the import.



{
  "id" : 83740,
  "server" : {
     "id" : 12345,
     "server" : "http://my-doors-bridge:9090/db",
     "description" : "DOORS 9.7 Bridge",
     "public" : true
  },
  "username" : "Klaus"
  "password" : "*****",
  "module" : {
     "id" : "00000020",
     "type" : 3,
     "name" : "Pflichtenheft",
     "description" : "Ein Test Pflichenheft",
     "path" : "/Klaus Test/Pflichtenheft",
     "lock" : true,
     "modify" : true
  },
  "enabled" : true,
  "reliable" : false,
  "lockModule" : true,
  "linkObjects" : false,
  "users" : true,
  "fields" : [ {
    "name" : "Created By",
    "type" : 5,
    "memberType" : 2,
    "target" : 6
  }, {
    "name" : "Created On",
    "type" : 3,
    "target" : 4
  }, {
    "name" : "Last Modified By",
    "type" : 5,
    "memberType" : 2,
    "target" : 75
  },
     ...
  ],
  "links" : [ {
    "id" : "00000022",
    "name" : "DOORS Links",
    "description" : "Automatisch von DOORS erstelltes Linkmodul",
    "attributes" : [ {
      "name" : "Created By",
      "type" : 5,
      "memberType" : 2,
      "target" : {
        "id" : 6,
        "name" : "Created by"
      }
    },
       ...
    ],
    "target" : 1
  }, {
    "id" : "External",
    "name" : "External",
    "description" : "Links to external resources",
    "attributes" : [ ... ],
    "target" : 4
  } ],

  "interval" : "8:00h",
  "log" : -1,

  "userAdmin" : true,
  "objectFields" : [ ... ],
  "reservedFields" : [ ... ],
  "dedicatedField" : { ... },
  "designatedField" : { ... },
  "assocTypes" : [ ... ],
  "linkFields" : [ ... ]
}

Information Meaning
id Since Codebeamer release 22.10-LTS (GINA). The Id of this DOORS import configuration.
server In Codebeamer release 22.04 (FELICITY) and older: The (hostname, ip-address and port) of the DOORS Bridge server.
Since Codebeamer release 22.10-LTS (GINA): The information about the DOORS Bridge.
username The DOORS username, to login at the underlying DOORS instance. This DOORS user must have Edit DXL (in batch mode) permission.
password The DOORS password, to authenticate the specified DOORS user.
module Information about the associated DOORS module (if any).
reliable Whether DOORS Bridge should trust the history of the DOORS module (true) or not (false).
enabled Whether importing from the DOORS module into the tracker is enabled (true) or disabled (false).
lockModule Whether the DOORS module should be locked as "migrated", after having imported the relevant baselines and the current (head) revision (true) or not (false).
linkObjects Whether the objects in the DOORS module should be linked to the migrated items in the target Codebeamer tracker (true) or not (false).
users Whether DOORS users should be imported as Codebeamer users or not. Prerequisite for importing DOORS discussions, comments and history.
fields An array of those attributes of the DOORS module, that should be imported into target tracker fields, where target is the id of the tracker field.
Enumeration fields also have an array of the enum values and their mapping to target choice options, where target is the id of the choice option.
links An array of those link types of the DOORS module, that should be imported as target tracker item associations. target is the id of the Codebeamer association type.
interval The interval of periodic imports. Empty/null means no periodic imports. The minimum is "10 min".
log The max. number of imports, to log in the import history. The default is -1 (All). Preferred values are: -1, 10, 20, 50, 100, 200, 500


The response also contains this additional information about the target tracker, that will be required to display and configure the users, fields and linkstarget mapping:


Information Meaning
userAdmin Whether you have "User - Admin" permission (necessary in order to import DOORS users as Codebeamer users) or not
objectFields An array of those tracker fields, that can be associated as targets for the import of DOORS module attributes, e.g.
 "objectFields" : [ {
    "id" : 2,
    "property" : "namedPriority",
    "name" : "Business Value",
    "label" : "Business Value",
    "type" : 6,
    "required" : false,
    "multiple" : false,
    "options" : [ {
      "id" : 5,
      "name" : "Nice to have",
      "label" : "Nice to have",
      "flags" : 0
    }, {
      "id" : 3,
      "name" : "Should have",
      "label" : "Should have",
      "flags" : 0
    }, {
      "id" : 1,
      "name" : "Must have",
      "label" : "Must have",
      "flags" : 0
    } ]
  }, {
    "id" : 7,
    "property" : "status",
    "name" : "Status",
    "label" : "Status",
    "type" : 6,
    "required" : false,
    "multiple" : false,
    "options" : [ {
      "id" : 1,
      "name" : "New",
      "label" : "New",
      "flags" : 0
    }, {
      "id" : 2,
      "name" : "Draft",
      "label" : "Draft",
      "flags" : 64
    }, {
      "id" : 3,
      "name" : "Waiting for approval",
      "label" : "Waiting for approval",
      "flags" : 4,
      "style" : "#00a85d"
    }, {
      "id" : 4,
      "name" : "Rejected",
      "label" : "Rejected",
      "flags" : 16,
      "style" : "#ababab"
    }, {
      "id" : 5,
      "name" : "Accepted",
      "label" : "Accepted",
      "flags" : 16
    } ]
  },
  ...
]
reservedFields An array of those tracker fields, that cannot be associated with DOORS module attributes, but whose names cannot be used for new custom target fields
dedicatedField Information about those tracker fields, that can only be associated with dedicated DOORS module attributes, or not at all
  "dedicatedField" : {
    "ForeignID" : [ "id" ],
    "88" : [ "attachments" ],
    "AttachmentsOnly" : [ "attachments" ],
    "90" : [ "discussions" ],
    "Comments" : [ "discussions" ],
    "30" : [ "history" ],
    "History" : [ "history" ],
    "4" : [ "Created On" ],
    "ForeignCreatedOn" : [ "Created On" ],
    "6" : [ "Created By" ],
    "ForeignCreatedBy" : [ "Created By" ],
    "ForeignCreatedThru" : [ "Created Thru" ],
    "74" : [ "Last Modified On" ],
    "ForeignModifiedOn" : [ "Last Modified On" ],
    "75" : [ "Last Modified By" ],
    "ForeignModifiedBy" : [ "Last Modified By" ]
  }
The dedicatedField key is the id or name of a tracker field, and the value is an array of the DOORS attribute names, where this field is dedicated for.
designatedField Information about designated custom fields, that should be offered as possible target fields, even if no such objectField exists yet.
  "designatedField" : {
    "id" : {
      "name" : "ForeignID",
      "label" : "Foreign ID",
      "description" : "The original DOORS Object Id",
      "type" : 1
    },
    "attachments" : {
      "id" : 88,
      "property" : "attachments",
      "name" : "AttachmentsOnly",
      "label" : "Attachments",
      "type" : 7,
      "refType" : 5,
      "refQuali" : [ "attachment" ],
      "multiple" : true
    },
    "discussions" : {
      "id" : 90,
      "name" : "Comments",
      "label" : "Comments",
      "type" : 7,
      "refType" : 5,
      "refQuali" : [ "comment" ],
      "multiple" : true
    },
    "history" : {
      "id" : 30,
      "property" : "milestones",
      "name" : "History",
      "label" : "History",
      "type" : 7,
      "refType" : 5,
      "refQuali" : [ "change" ],
      "multiple" : true
    },
    "Created On" : {
      "name" : "ForeignCreatedOn",
      "label" : "Foreign Created at",
      "type" : 3
    },
    "Created By" : {
      "name" : "ForeignCreatedBy",
      "label" : "Foreign Created by",
      "type" : 0,
      "of" : {
        "type" : 5,
        "memberType" : 2
      }
    },
    "Created Thru" : {
      "name" : "ForeignCreatedThru",
      "label" : "Foreign Created thru",
      "type" : 6,
      "options" : [ {
        "name" : "Manual Input",
        "label" : "Manual Input",
        "flags" : 0
      }, {
        "name" : "Extracting",
        "label" : "Extracting",
        "flags" : 0
      }, {
        "name" : "Copying",
        "label" : "Copying",
        "flags" : 0
      } ]
    },
    "Last Modified On" : {
      "name" : "ForeignModifiedOn",
      "label" : "Foreign Modified at",
      "type" : 3
    },
    "Last Modified By" : {
      "name" : "ForeignModifiedBy",
      "label" : "Foreign Modified by",
      "type" : 0,
      "of" : {
        "type" : 5,
        "memberType" : 2
      }
    }
  }
The designatedField key is the name of the DOORS attribute, and the value is the definition of the designated custom tracker field.
assocTypes An array of the Codebeamer association types, that can be associated as DOORS link type target.
  "assocTypes" : [ {
    "id" : 1,
    "name" : "depends"
  }, {
    "id" : 2,
    "name" : "superordinate to"
  }, {
    "id" : 3,
    "name" : "subordinate to"
  }, {
    "id" : 4,
    "name" : "related"
  }, {
    "id" : 5,
    "name" : "derived"
  }, {
    "id" : 6,
    "name" : "violates"
  }, {
    "id" : 7,
    "name" : "excludes"
  }, {
    "id" : 8,
    "name" : "invalidates"
  }, {
    "id" : 9,
    "name" : "copy of"
  } ]
linkFields An array of the predefined Codebeamer association fields, that can be associated as DOORS link attribute target.
  "linkFields" : [ {
    "id" : 4,
    "property" : "submittedAt",
    "name" : "Created at",
    "label" : "Created at",
    "type" : 3
  }, {
    "id" : 6,
    "property" : "submitter",
    "name" : "Created by",
    "label" : "Created by",
    "type" : 5,
    "memberType" : 2
  }, {
    "id" : 74,
    "property" : "modifiedAt",
    "name" : "Modified at",
    "label" : "Modified at",
    "type" : 3
  }, {
    "id" : 75,
    "property" : "modifier",
    "name" : "Modified by",
    "label" : "Modified by",
    "type" : 5,
    "memberType" : 2
  }, {
    "id" : 10000,
    "property" : "customField[0]",
    "name" : "Propagate suspects",
    "label" : "Propagate suspects",
    "description" : "Should this association be marked 'Suspected' whenever the association target is modified?",
    "type" : 4
  }, {
    "id" : 10001,
    "property" : "customField[1]",
    "name" : "Suspected",
    "label" : "Suspected",
    "description" : "Has the association target been modified since creating/resetting this association?",
    "type" : 4
  }, {
    "id" : 85,
    "property" : "flags",
    "name" : "Deleted",
    "label" : "Deleted",
    "type" : 1
  } ]

Set the DOORS Import Settings for the Specified Tracker

PUT /tracker/{trackerId}/doors/settings

You must be a Tracker Administrator, in order to configure DOORS import for a tracker.

The request body must be a JSON object with the following information (see description above):

  • id - Only since Codebeamer release 22.10-LTS (GINA). The ID of the existing configuration to update, or null if this is a new configuration.
  • server
  • username
  • password
  • module
  • enabled
  • reliable (optional, default false)
  • lockModule (optional, default false)
  • linkObjects (optional, default false)
  • users (optional, default false)
  • fields (optional, by default only the DOORS object id, object heading and object text will be imported, all other attributes have to be specified here).
  • links (optional, by default no links will be imported).
  • interval (optional, by default imports will not run periodically)
  • log (optional, by default all imports will be logged)


To build the fields and links mapping, you should use the attributes and linkTypes of the module:

GET /doors/{module}/metaData[?options]




The fields mapping is an array of those module attributes, that you want to import, plus the target field mapping.


You can only import

  • discussions
  • and the history

if you are also importing users, which is only allowed, if you have userAdmin permission.


You can only assign DOORS user attributes {"type": 5, "memberType" : 2} , e.g. "Created By", to target member fields {"type": 5, "memberType" : 2} , e.g. "Submitted By", if you are importing users (see above).


The target of each attribute to import, is either one of the existing objectFields (the target field must be assignment compatible to the DOORS attribute and dedicatedFields can only be assigned to the specified attributes or not at all)

  "target" : {
     "id" : ...
  }




the designatedField, or, if there is no designated target field for the attribute, a new custom field with the specified name, e.g.

  "target" : {
     "name" : "XXX"
  }




The name XXX of new target fields must be unique within the tracker, so it must not be

  • the property, name or label of any of the existing objectFields, reservedFields or designatedFields, nor
  • the name of any other attribute target.

The attribute target field mapping must be unique. No two DOORS attributes must be mapped to the same target field !


If an attribute to import is an enumeration, then you must also map the attribute's enum values (options).

The target of an enum value must be either one of the existing options of the attribute target choice field, or a new choice option with the specified name.

The name of new target choice options must be unique within the target choice field, so it must not be

  • the name or label of any of the existing options of the target choice field, nor
  • the name of any other enum value target (for the same enum attribute).

The choice option target mapping must be unique per target field. No two enum values of the same DOORS attribute must be mapped to the same choice option of the target field !


The links mapping is an array of those module linkTypes, that you want to import, plus the target association type mapping.

The target of a link type must be one of the predefined assocTypes! You cannot define new targets for links!

The link target association mapping must be unique. No two DOORS link types (except "External" links) must be mapped to the same target association type !

The attributes of the links to import, must be mapped in the same way than object attributes.

Remove the DOORS Import Settings for the Specified Tracker

DELETE /tracker/{trackerId}/doors/settings

You must be a Tracker Administrator, in order to delete the DOORS import for a tracker.


Create Target Trackers and Configure DOORS Import for a Bulk/Batch of DOORS Modules

What, if you want to import DOORS Modules into a Codebeamer project, but there is no appropriate target tracker yet ?

You can create new target trackers and configure DOORS import for a bulk/batch of DOORS modules via:

POST /project/{projIdOrName}/doors/modules




You must be a Tracker Administrator in the specified project.

The request body must be a JSON object with the following information (see description above):

  • server
  • username
  • password
  • modules
  • template
  • enabled
  • reliable (optional, default false)
  • lockModule (optional, default false)
  • linkObjects (optional, default false)
  • users (optional, default false)
  • fields (optional, by default only the DOORS object id, object heading and object text will be imported, all other attributes have to be specified here).
  • links (optional, by default no links will be imported).
  • interval (optional, by default imports will not run periodically)
  • log (optional, by default all imports will be logged)

Information Meaning
server In Codebeamer release 22.14 (FELICITY) and older: The (hostname, ip-address and port) of the DOORS Bridge server.
Since Codebeamer release 22.10-LTS (GINA): A JSON object with at least the ID of the DOORS Bridge.
username The DOORS username, to login at the underlying DOORS instance. This DOORS user must have Edit DXL (in batch mode) permission.
password The DOORS password, to authenticate the specified DOORS user.
modules An array of the DOORS modules, for whom to create target trackers in the specified project. The name and description of each tracker will be copied from the respective module.
template Either the template tracker to use, or a JSON object, that defines the tracker type to use
reliable Whether DOORS Bridge should trust the history of the DOORS module (true) or not (false).
enabled Whether importing from the DOORS module into the tracker is enabled (true) or disabled (false).
lockModule Whether the DOORS module should be locked as "migrated", after having imported the relevant baselines and the current (head) revision (true) or not (false).
linkObjects Whether the objects in the DOORS module should be linked to the migrated items in the target Codebeamer tracker (true) or not (false).
users Whether DOORS users should be imported as Codebeamer users or not. Prerequisite for importing DOORS discussions, comments and history.
fields An array of those attributes of the DOORS module, that should be imported into target tracker fields, where target is the id of the tracker field.
Enumeration fields also have an array of the enum values and their mapping to target choice options, where target is the id of the choice option.
links An array of those link types of the DOORS module, that should be imported as target tracker item associations. target is the id of the Codebeamer association type.
interval The interval of periodic imports. Empty/null means no periodic imports. The minimum is "10 min".
log The max. number of imports, to log in the import history. The default is -1 (All). Preferred values are: -1, 10, 20, 50, 100, 200, 500


All modules in a batch should contain the same type of objects, e.g. Requirements, because you can only specify one template for the new target trackers.


To find out, which template trackers and tracker types are available for new DOORS import target trackers in the specified project, use:

GET /project/{projIdOrName}/doors/trackerTemplate




This request is documented further down below.


You have to select either one of the available template trackers, e.g.

"template" : {
   "id" : <template id>,
   "inherit" : true
}




where <template id> is the id of the template and inherit should be true to inherit the template configuration, or false to copy the template configuration.


Or, you have to specify the type of the new trackers, e.g.

"template" : {
  "type" : {
    "id" : 5,
    "name" : "Requirement"
  }
}




To build the fields and links configuration, you have to get the merged/aggregated meta data of all the modules via

GET /doors/{module}/metaData[?options]




where {module} should be the comma-separated list with the ids of all modules.



To get the necessary information about the defined, dedicated, designated, reserved and association fields, as well as association types, of the selected target template, use

POST /project/{projIdOrName}/doors/trackerTemplate




where the request body must be the selected template.



For each module and it's new associated target tracker, only the fields and links, that are relevant for the module, will be used to build the tracker configuration.



The result is a JSON object, that contains the result for each of the specified modules (per module id). Either

  • the newly created and associated Tracker, or
  • the Exception, that occured upon Tracker creation or configuration

From here on, you have to GET, PUT and DELETE the /tracker/{trackerId}/doors/settings for each tracker individually.


Get Information about the Next Import into the Specified Tracker from the Associated DOORS Module - If any

GET /tracker/{trackerId}/doors/import

You must have "Issue - Add" permission on the tracker.

The result is a JSON object with the following information:

{
  "tracker" : {
    "id" : 139792,
    "type" : 5,
    "name" : "Pflichtenheft",
    "project" : {
      "id" : 34,
      "name" : "Test"
    }
  },
  "admin" : true,
  "server" : {
     "id" : 12345,
     "server" : "http://my-doors-bridge:9090/db",
     "description" : "DOORS 9.7 Bridge",
     "public" : true
  },
  "connection" : {
     "server" : {
        "id" : 12345,
        "server" : "http://my-doors-bridge:9090/db",
        "description" : "DOORS 9.7 Bridge",
        "public" : true
     },
    "username" : "Klaus",
    "password" : "***"
  },
  "module" : {
    "id" : "00000020",
    "name" : "Pflichtenheft",
    "description" : "Ein Test Pflichenheft",
    "path" : "/Klaus Test/Pflichtenheft",
    "Last Modified On" : 1516292954,
    "Last Modified By" : "Klaus",
    "lockModule" : true,
    "linkObjects" : true,
    "baselines" : [ {
      "id" : "0.1",
      "description" : "Initialer Stand",
      "Created On" : 1489143458020,
      "Created By" : "Klaus",
      "createdAt" : "Mär 10 2017 11:57"
    }, {
      "id" : "0.2",
      "description" : "Zweiter Stand",
      "Created On" : 1491820027020,
      "Created By" : "Klaus",
      "createdAt" : "Apr 10 2017 12:27"
    } ],
    "lastModifiedAt" : "Jan 18 17:29"
  },
  "enabled" : true,
  "lastImport" : {
      "date" : ...
  },
  "nextSync" : {
    "direction" : null,
    "date" : null
  }
}

Information Meaning
tracker Information about the target tracker
admin Whether you have "Tracker - Administration" permission or not.
server Since Codebeamer release 22.10-LTS (GINA): A JSON object with information about the DOORS Bridge.
connection Connection to DOORS Bridge (server, username and password).
module The DOORS module to import from, including the importable baselines (Baselines, that have already been imported, or cannot be imported any more, are not listed here).
lastImport Information about the last import (if any).
enabled Whether importing from the DOORS module into the tracker is enabled (true) or disabled (false).
nextSync Information about the next scheduled import (if any)

Do a New Import into the Specified Tracker from the Associated DOORS Module - If any

POST /tracker/{trackerId}/doors/import

You must have "Issue - Add" permission on the tracker.

The request body must be a JSON object, where you can specify the optional baseline to import, and whether the baseline should be mirrored by a tracker baseline or not:

{
   "baseline" : "0.1",
   "mirroring" : true
}




In CB-9.4 and newer, and only when importing the current/head revision of a module, and only, if the module allows to lock the module and link objects, you can optionally request to lock the module and optionally link objects to imported tracker items:

{
   "lockModule"  : true,
   "linkObjects" : true
}




The response body contains statistics about the imported DOORS objects. See the import statistics in the history below.

Get the DOORS Import History of a Tracker

GET /tracker/{trackerId}/doors/history[?options]
Option Type Required Meaning
trackerId int Yes The Id of the tracker
page int No The history page to get, starting from 1. The default is 1 (the first page)
pagesize int No The number of history entries (imports) to return per page. The default is 25. The maximum is 500.

The response contains the requested page from the DOORS import history of the tracker, e.g.

{
  "page" : 1,
  "size" : 25,
  "total" : 4,
  "list" : [ {
    "version" : 3,
    "date" : "Heute 17:01",
    "user" : {
      "id" : 1,
      "name" : "bond",
      "realName" : "Default System Administrator"
    },
    "sync" : 1,
    "baseline" : {
      "id" : "0.2",
      "date" : 1491820026993
    },
   "import" : {
      "objects" : {
        "imported" : 0,
        "updated" : 6,
        "updatedItems" : [ {
          "id" : 7032,
          "description" : "<span class='wikiContent'>Das ist ein <b>Beispiel</b>-Pflichtenheft zum Test des erweiterten Excel-Exports<br />\n<br /></span>",
          "remote" : {
            "id" : 16
          },
          "changes" : [ {
            "fieldId" : 2,
            "fieldName" : "Relevanz",
            "oldValue" : "--",
            "newValue" : "Wäre schön"
          }, {
            "fieldId" : 7,
            "fieldName" : "Status",
            "oldValue" : "--",
            "newValue" : "Entwurf"
          }, {
            "fieldId" : 90,
            "fieldName" : "Kommentar",
            "op" : "Add",
            "newValue" : "Weitere"
          } ]
        },
           ...
        ],
        "deleted" : 0,
        "failed" : 0
      },
      "history" : {
        "imported" : 21,
        "updated" : 0,
        "deleted" : 0,
        "failed" : 0,
        "empty" : false
      },
      "links" : {
        "imported" : 1,
        "updated" : 0,
        "deleted" : 0,
        "failed" : 0,
        "empty" : false
      },
      "baselines" : {
        "imported" : 1,
        "updated" : 0,
        "deleted" : 0,
        "failed" : 0,
        "empty" : false
      }
    },
  }, {
    "version" : 2,
    "date" : "Heute 17:00",
    "user" : {
      "id" : 1,
      "name" : "bond",
      "realName" : "Default System Administrator"
    },
    "sync" : 1,
    "baseline" : {
      "id" : "0.1",
      "date" : 1489143458006
    },
    "import" : {
      "objects" : {
        "imported" : 13,
        "updated" : 0,
        "deleted" : 0,
        "failed" : 0
      },
      "history" : {
        "imported" : 39,
        "updated" : 0,
        "deleted" : 0,
        "failed" : 0,
        "empty" : false
      },
      "discussions" : {
        "imported" : 2,
        "updated" : 0,
        "deleted" : 0,
        "failed" : 0,
        "empty" : false
      },
      "comments" : {
        "imported" : 4,
        "updated" : 0,
        "deleted" : 0,
        "failed" : 0,
        "empty" : false
      },
      "attachments" : {
        "imported" : 5,
        "updated" : 0,
        "deleted" : 0,
        "failed" : 0,
        "empty" : false
      },
      "baselines" : {
        "imported" : 1,
        "updated" : 0,
        "deleted" : 0,
        "failed" : 0,
        "empty" : false
      }
    },
  } ]
}




The history is in descending order. The first page contains the last/newest import information.


The statistics about the first/initial/full import only contain numbers.

The statistics about incremental imports also contain information about newly imported items and updated items including changes per field.



Get Information about the Available Template Trackers and Tracker Types for new DOORS Import Target Trackers in the Specified Project

GET /project/{projIdOrName}/doors/trackerTemplate
Option Type Required Meaning
projIdOrName String Yes The Id or Name of the Codebeamer project, where to create new trackers


You must be a Tracker Administrator in the specified project.


The response body contains the possible types and the possible templates for DOORS import target trackers:



{
  "types" : [ ... ],
  "templates" : [ ... ]
}



Get Information about the Defined, Dedicated, Designated, Reserved and Association Fields, as well as Association Types of the Specified Import Target Template

POST /project/{projIdOrName}/doors/trackerTemplate

You must be a Tracker Administrator in the specified project.

The request body must contain a JSON object, that is either the template tracker to use, or defines the tracker type to use, e.g.

{
  "type" : {
    "id" : 5,
    "name" : "Requirement"
  }
}





The result is a JSON object with information about the specified template tracker or a tracker of the specified type:

{
  "enabled" : true,
  "userAdmin" : true,
  "objectFields" : [ ... ],
  "reservedFields" : [ ... ],
  "dedicatedField" : { ... },
  "designatedField" : { ... },
  "assocTypes" : [ ... ],
  "linkFields" : [ ... ]
}

Information Meaning
enabled Whether importing from DOORS into the tracker is enabled (true) or disabled (false).
userAdmin Whether you have "User - Admin" permission (necessary in order to import DOORS users as Codebeamer users) or not
objectFields An array of those tracker fields, that can be associated as targets for the import of DOORS module attributes, e.g.
 "objectFields" : [ {
    "id" : 2,
    "property" : "namedPriority",
    "name" : "Business Value",
    "label" : "Business Value",
    "type" : 6,
    "required" : false,
    "multiple" : false,
    "options" : [ {
      "id" : 5,
      "name" : "Nice to have",
      "label" : "Nice to have",
      "flags" : 0
    }, {
      "id" : 3,
      "name" : "Should have",
      "label" : "Should have",
      "flags" : 0
    }, {
      "id" : 1,
      "name" : "Must have",
      "label" : "Must have",
      "flags" : 0
    } ]
  }, {
    "id" : 7,
    "property" : "status",
    "name" : "Status",
    "label" : "Status",
    "type" : 6,
    "required" : false,
    "multiple" : false,
    "options" : [ {
      "id" : 1,
      "name" : "New",
      "label" : "New",
      "flags" : 0
    }, {
      "id" : 2,
      "name" : "Draft",
      "label" : "Draft",
      "flags" : 64
    }, {
      "id" : 3,
      "name" : "Waiting for approval",
      "label" : "Waiting for approval",
      "flags" : 4,
      "style" : "#00a85d"
    }, {
      "id" : 4,
      "name" : "Rejected",
      "label" : "Rejected",
      "flags" : 16,
      "style" : "#ababab"
    }, {
      "id" : 5,
      "name" : "Accepted",
      "label" : "Accepted",
      "flags" : 16
    } ]
  },
  ...
]
reservedFields An array of those tracker fields, that cannot be associated with DOORS module attributes, but whose names cannot be used for new custom target fields
dedicatedField Information about those tracker fields, that can only be associated with dedicated DOORS module attributes, or not at all
  "dedicatedField" : {
    "ForeignID" : [ "id" ],
    "88" : [ "attachments" ],
    "AttachmentsOnly" : [ "attachments" ],
    "90" : [ "discussions" ],
    "Comments" : [ "discussions" ],
    "30" : [ "history" ],
    "History" : [ "history" ],
    "4" : [ "Created On" ],
    "ForeignCreatedOn" : [ "Created On" ],
    "6" : [ "Created By" ],
    "ForeignCreatedBy" : [ "Created By" ],
    "ForeignCreatedThru" : [ "Created Thru" ],
    "74" : [ "Last Modified On" ],
    "ForeignModifiedOn" : [ "Last Modified On" ],
    "75" : [ "Last Modified By" ],
    "ForeignModifiedBy" : [ "Last Modified By" ]
  }
The dedicatedField key is the id or name of a tracker field, and the value is an array of the DOORS attribute names, where this field is dedicated for.
designatedField Information about designated custom fields, that should be offered as possible target fields, even if no such objectField exists yet.
  "designatedField" : {
    "id" : {
      "name" : "ForeignID",
      "label" : "Foreign ID",
      "description" : "The original DOORS Object Id",
      "type" : 1
    },
    "attachments" : {
      "id" : 88,
      "property" : "attachments",
      "name" : "AttachmentsOnly",
      "label" : "Attachments",
      "type" : 7,
      "refType" : 5,
      "refQuali" : [ "attachment" ],
      "multiple" : true
    },
    "discussions" : {
      "id" : 90,
      "name" : "Comments",
      "label" : "Comments",
      "type" : 7,
      "refType" : 5,
      "refQuali" : [ "comment" ],
      "multiple" : true
    },
    "history" : {
      "id" : 30,
      "property" : "milestones",
      "name" : "History",
      "label" : "History",
      "type" : 7,
      "refType" : 5,
      "refQuali" : [ "change" ],
      "multiple" : true
    },
    "Created On" : {
      "name" : "ForeignCreatedOn",
      "label" : "Foreign Created at",
      "type" : 3
    },
    "Created By" : {
      "name" : "ForeignCreatedBy",
      "label" : "Foreign Created by",
      "type" : 0,
      "of" : {
        "type" : 5,
        "memberType" : 2
      }
    },
    "Created Thru" : {
      "name" : "ForeignCreatedThru",
      "label" : "Foreign Created thru",
      "type" : 6,
      "options" : [ {
        "name" : "Manual Input",
        "label" : "Manual Input",
        "flags" : 0
      }, {
        "name" : "Extracting",
        "label" : "Extracting",
        "flags" : 0
      }, {
        "name" : "Copying",
        "label" : "Copying",
        "flags" : 0
      } ]
    },
    "Last Modified On" : {
      "name" : "ForeignModifiedOn",
      "label" : "Foreign Modified at",
      "type" : 3
    },
    "Last Modified By" : {
      "name" : "ForeignModifiedBy",
      "label" : "Foreign Modified by",
      "type" : 0,
      "of" : {
        "type" : 5,
        "memberType" : 2
      }
    }
  }
The designatedField key is the name of the DOORS attribute, and the value is the definition of the designated custom tracker field.
assocTypes An array of the Codebeamer association types, that can be associated as DOORS link type target.
  "assocTypes" : [ {
    "id" : 1,
    "name" : "depends"
  }, {
    "id" : 2,
    "name" : "superordinate to"
  }, {
    "id" : 3,
    "name" : "subordinate to"
  }, {
    "id" : 4,
    "name" : "related"
  }, {
    "id" : 5,
    "name" : "derived"
  }, {
    "id" : 6,
    "name" : "violates"
  }, {
    "id" : 7,
    "name" : "excludes"
  }, {
    "id" : 8,
    "name" : "invalidates"
  }, {
    "id" : 9,
    "name" : "copy of"
  } ]
linkFields An array of the predefined Codebeamer association fields, that can be associated as DOORS link attribute target.
  "linkFields" : [ {
    "id" : 4,
    "property" : "submittedAt",
    "name" : "Created at",
    "label" : "Created at",
    "type" : 3
  }, {
    "id" : 6,
    "property" : "submitter",
    "name" : "Created by",
    "label" : "Created by",
    "type" : 5,
    "memberType" : 2
  }, {
    "id" : 74,
    "property" : "modifiedAt",
    "name" : "Modified at",
    "label" : "Modified at",
    "type" : 3
  }, {
    "id" : 75,
    "property" : "modifier",
    "name" : "Modified by",
    "label" : "Modified by",
    "type" : 5,
    "memberType" : 2
  }, {
    "id" : 10000,
    "property" : "customField[0]",
    "name" : "Propagate suspects",
    "label" : "Propagate suspects",
    "description" : "Should this association be marked 'Suspected' whenever the association target is modified?",
    "type" : 4
  }, {
    "id" : 10001,
    "property" : "customField[1]",
    "name" : "Suspected",
    "label" : "Suspected",
    "description" : "Has the association target been modified since creating/resetting this association?",
    "type" : 4
  }, {
    "id" : 85,
    "property" : "flags",
    "name" : "Deleted",
    "label" : "Deleted",
    "type" : 1
  } ]

Get the Project Associated with the Specified DOORS Project or Folder

In Codebeamer release 22.04 (FELICTY) and older:

GET /doors/{projectOrFolder}/project[?options]




Since Codebeamer release 22.10-LTS (GINA):

GET /doors/bridge/{bridgeId}/folder/{projectOrFolder}/project[?options] 

Option Type Required Meaning
bridgeId int Yes The ID of the DOORS Bridge instance to which the projectOrFolder belongs.
The calling user must have access to the specified /doors/bridge/{bridgeId} or the bridge must be public.
projectOrFolder String Yes The Id of the DOORS project or folder, whose associated project to get, e.g. "000000a0".
proj_id int No An optional Codebeamer project id, to check, if the specified DOORS project or folder can be associated with this project.


The result is information about the associated Codebeamer project, or null, if the specified DOORS project or folder is not associated with any project.


Get the DOORS Project or Folder Associated with the Specified Project

GET /project/{projIdOrName}/doors/settings
Option Type Required Meaning
projIdOrName String Yes The Id or the name of the Codebeamer project, whose associated DOORS project or folder to get


You must be a Project Administrator, in order to get this information.


The result is a JSON object with information about the currently associated DOORS project or folder (if any):


{
  "server" : {
     "id" : 12345,
     "server" : "http://my-doors-bridge:9090/db",
     "description" : "DOORS 9.7 Bridge",
     "public" : true
  },
  "username" : "Klaus",
  "password" : "**",
  "module" : {
    "id" : "000000a1",
    "type" : 2,
    "name" : "Raw_Project_2",
    "description" : "Just technical testing",
    "path" : "/Mechatronics/Raw_Project_2"
  }
}


"module" is the associated DOORS project or folder (and not a module).


Set the DOORS Project or Folder Associated with the Specified Project

PUT /project/{projIdOrName}/doors/settings

You must be a Project Administrator, in order to do this.

The request body must be a JSON object (see above).


Get Information about Baseline Sets, Defined on the Specified DOORS Project or Folder that can be Imported into the Specified Project

In Codebeamer release 22.04 (FELICITY) and older:

GET /doors/{projectOrFolder}/baselineSets/project/{projIdOrName}[?options]
GET /project/{projIdOrName}/doors/{projectOrFolder}/baselineSets[?options]




Since Codebeamer release 22.10-LTS (GINA):

GET /doors/bridge/{bridgeId}/folder/{projectOrFolder}/baselineSets/project/{projIdOrName}[?options]
GET /project/{projIdOrName}/doors/bridge/{bridgeId}/folder/{projectOrFolder}/baselineSets[?options]

Option Type Required Meaning
bridgeId int Codebeamer release 22.10-LTS (GINA). The ID of the DOORS Bridge instance, to which the projectOrFolder belongs.
The calling user must have access to the specified /doors/bridge/{bridgeId} or the bridge must be public.
server String Codebeamer release 22.04 (FELICITY). The (hostname, ip-address and port) of the DOORS Bridge server, e.g. "http://my-doors-bridge:9090/db".
username String Yes The DOORS username, to login at the underlying DOORS instance. This DOORS user must have Edit DXL (in batch mode) permission.
password String Yes The DOORS password, to authenticate the specified DOORS user.
projectOrFolder String Yes The Id of the DOORS project or folder, whose defined baseline sets to import
projIdOrName String Yes The Id or the name of the Codebeamer project, where to import the baseline sets, defined on the specified DOORS project/folder


You must be a Tracker Administrator in the specified project.



E.g.

GET /project/Test/doors/bridge/12345/folder/000000a1/baselineSets?username=...&password=...




The response contains a JSON object with the following information:

{
  "project" : {
    "id" : 34,
    "name" : "Test"
  },
  "trackers" : [ ... ],
  "baselineSets" : [ {
    "id" : "1.0.A-Sample",
    "description" : "",
    "Created On" : 1511964226905,
    "Created By" : "Administrator",
    "baselines" : {
      "00000580" : "1.0.A-Sample",
      "00000581" : "1.0.A-Sample"
    },
    "definition" : {
      "name" : "BLSD_0",
      "description" : "script generated set definition for 'A-Sample'"
    },
    "date" : 1511964895905,
    "createdAt" : "Nov 29 2017 15:03",
    "status" : "importable"
  }, {
    "id" : "1.0.B-Sample",
    "description" : "",
    "Created On" : 1511964240905,
    "Created By" : "Administrator",
    "baselines" : {
      "00000580" : "2.0.B-Sample",
      "00000581" : "2.0.B-Sample"
    },
    "definition" : {
      "name" : "BLSD_1",
      "description" : "script generated set definition for 'B-Sample'"
    },
    "date" : 1511965078905,
    "createdAt" : "Nov 29 2017 15:04",
    "status" : "importable"
  }, {
    "id" : "1.0.C-Sample",
    "description" : "Administrator created set @ 29.11.2017 15:04:03",
    "Created On" : 1511964249905,
    "Created By" : "Administrator",
    "baselines" : {
      "00000580" : "3.0.C-Sample"
    },
    "definition" : {
      "name" : "BLSD_2",
      "description" : "script generated set definition for 'C-Sample'"
    },
    "date" : 1517317172905,
    "createdAt" : "Nov 29 2017 15:04",
    "status" : "importable"
  }, {
    "id" : "HEAD",
    "Created By" : "System",
    "Created On" : 1519123868444,
    "baselines" : {
      "00000580" : null,
      "00000581" : null
    },
    "date" : 9223372036854775807,
    "definition" : {
      "name" : "Projekt/Ordner",
      "description" : "Dies ist eine automatisch generierte Pseudo-Baselinegruppen-Definition, die alle (formalen) Module in dem ausgewählten DOORS Projekt/Ordner umfasst."
    },
    "description" : "Die aktuellen Versionen aller (formalen) Module in dem ausgewählten DOORS Projekt/Ordner",
    "createdAt" : "Jetzt",
    "status" : "importable"
  } ],
  "modules" : {
    "00000580" : {
      "id" : "00000580",
      "name" : "RS",
      "path" : "/Mechatronics/Raw_Project_2/RS",
      "tracker" : {
        "id" : 139791,
        "type" : 5,
        "name" : "Lastenheft",
        "project" : {
          "id" : 34,
          "name" : "Test"
        }
      }
    },
    "00000581" : {
      "id" : "00000581",
      "name" : "TD",
      "path" : "/Mechatronics/Raw_Project_2/TD"
    }
  }
}

Information Meaning
project The id and name of the project
trackers An array of project trackers, that can be possible DOORS import targets, but have not been associated with DOORS modules yet.
baselineSets An array of DOORS baseline sets (ordered by date)
modules A JSON object serving as lookup map for all the modules, that are referred to in the Baseline Sets


The information about each Baseline Set:
definition Name and description of the baseline set definition
baselines A JSON object specifying the Baseline/Version Ids of all the Modules contained in this baseline set (per Module Id).
date The anchor/reference date of this baseline set: This is the latest Created On of the baseline set or any of it's included baselines.
status The import status of this baseline set
  • importable
  • imported
  • blocked
blockers Only for baseline sets, whose status is blocked: A JSON object specifying the Baseline/Version Ids of all the Modules, that block the import of this baseline set.
imported Only for baseline sets, whose status is imported: Information about the import
mapping Only for baseline sets, whose status is imported: A JSON object specifying the mapping of DOORS module (id) to target Codebeamer tracker, at the time of the import


Please note: Codebeamer automatically adds a pseudo baseline set "Projekt/Ordner - HEAD" to the baselineSets, whose baselines are the current/head revisions of all modules in the DOORS project/folder recursively, whether or not these modules are also included in "real" DOORS baseline sets, or there are no DOORS baseline sets at all.

Get Information about the Necessary Steps to Import the Specified Baseline Sets

POST /doors/baselineSets


The request body must be a JSON object containing:

  • server
    • In Codebeamer release 22.04 (FELICITY) and older: The (hostname, ip-address and port) of the DOORS Bridge server.
    • Since Codebeamer release 22.10-LTS (GINA): A JSON object with at least the id of the DOORS Bridge.
  • username
  • password
  • baselineSets an array of the baseline sets to import (should be a subset of the importable baseline sets returned from the previous request)

The result is an array of the importable baseline sets, each containing an array of the modules, that are associated with target trackers, and where baselines have to be imported.


Please note: Modules that are not associated with target trackers, or that have already been imported beyond the baseline/version in the baseline set, will be ignored!


E.g. When asking for the import steps for the baselineSets returned by the previous example, that each contained two modules, but where only one module (id="00000580") was associated with a tracker, and the other module (id="00000581") was not, then only the module with id="00000580" will be imported:

[ {
  "id" : "1.0.A-Sample",
  "description" : "",
  "Created On" : 1511964220,
  "Created By" : "Administrator",
  "definition" : {
    "name" : "BLSD_0",
    "description" : "script generated set definition for 'A-Sample'"
  },
  "date" : 1511964291910,
  "modules" : [ {
    "id" : "00000580",
    "name" : "RS",
    "description" : null,
    "path" : "/Mechatronics/Raw_Project_2/RS",
    "Last Modified On" : 1517471990,
    "Last Modified By" : "Administrator",
    "baselines" : [ {
      "id" : "1.0.A-Sample",
      "description" : "",
      "Created On" : 1511964291910,
      "Created By" : "Administrator",
      "createdAt" : "Nov 29 2017 15:04"
    } ],
    "lastModifiedAt" : "Feb 01 08:59",
    "tracker" : {
      "id" : 139791,
      "type" : 5,
      "name" : "Lastenheft",
      "project" : {
        "id" : 34,
        "name" : "Test"
      }
    }
  } ]
}, {
  "id" : "1.0.B-Sample",
  "description" : "",
  "Created On" : 1511964234,
  "Created By" : "Administrator",
  "definition" : {
    "name" : "BLSD_1",
    "description" : "script generated set definition for 'B-Sample'"
  },
  "date" : 1511965064910,
  "modules" : [ {
    "id" : "00000580",
    "name" : "RS",
    "description" : null,
    "path" : "/Mechatronics/Raw_Project_2/RS",
    "Last Modified On" : 1517471990,
    "Last Modified By" : "Administrator",
    "baselines" : [ {
      "id" : "2.0.B-Sample",
      "description" : "",
      "Created On" : 1511965064910,
      "Created By" : "Administrator",
      "createdAt" : "Nov 29 2017 15:17"
    } ],
    "lastModifiedAt" : "Feb 01 08:59",
    "tracker" : {
      "id" : 139791,
      "type" : 5,
      "name" : "Lastenheft",
      "project" : {
        "id" : 34,
        "name" : "Test"
      }
    },
    "newerThan" : 1511964291910
  } ]
}, {
  "id" : "1.0.C-Sample",
  "description" : "Administrator created set @ 29.11.2017 15:04:03:\nC sample comment\n",
  "Created On" : 1511964243,
  "Created By" : "Administrator",
  "definition" : {
    "name" : "BLSD_2",
    "description" : "script generated set definition for 'C-Sample'"
  },
  "date" : 1517317172910,
  "modules" : [ {
    "id" : "00000580",
    "name" : "RS",
    "description" : null,
    "path" : "/Mechatronics/Raw_Project_2/RS",
    "Last Modified On" : 1517471990,
    "Last Modified By" : "Administrator",
    "baselines" : [ {
      "id" : "3.0.C-Sample",
      "description" : "Administrator created set @ 29.11.2017 15:04:03:\nC sample comment\n",
      "Created On" : 1517317172910,
      "Created By" : "Administrator",
      "createdAt" : "Jan 30 13:59"
    } ],
    "lastModifiedAt" : "Feb 01 08:59",
    "tracker" : {
      "id" : 139791,
      "type" : 5,
      "name" : "Lastenheft",
      "project" : {
        "id" : 34,
        "name" : "Test"
      }
    },
    "newerThan" : 1511965064910
  } ]
} ]




Get Information about the Necessary Steps to Import All Importable Baseline Sets Defined on the Specified DOORS Project or Folder

In Codebeamer release 22.04 (FELICTY) and older:

GET /doors/{projectOrFolder}/baselineSets/steps[?options]




Since Codebeamer release 22.10-LTS (GINA):

GET /doors/bridge/{bridgeId}/folder/{projectOrFolder}/baselineSets/steps[?options]

Option Type Required Meaning
bridgeId int Codebeamer release 22.10-LTS (GINA). The ID of the DOORS Bridge instance to which the projectOrFolder belongs.
The calling user must have access to the specified /doors/bridge/{bridgeId} or the bridge must be public.
server String Codebeamer release 22.04 (FELICITY). The (hostname, ip-address and port) of the DOORS Bridge server, e.g. "http://my-doors-bridge:9090/db".
username String Yes The DOORS username, to login at the underlying DOORS instance. This DOORS user must have Edit DXL (in batch mode) permission.
password String Yes The DOORS password, to authenticate the specified DOORS user.
projectOrFolder String Yes The Id of the DOORS project or folder, whose defined baseline sets to import


This gets information about the necessary steps to import all importable baseline sets defined on the specified DOORS project or folder into thecurrently associated target trackers of the modules included in those baseline sets.


If you need to verify the module tracker mappings/configurations first or select individual baseline sets to import, then you should first

  • GET /doors/bridge/{bridgeId}/folder/{projectOrFolder}/baselineSets/project/{projIdOrName}[?options]

then check module mappings and then

  • POST /doors/baselineSets

Import One or More Baseline Sets

POST /project/{projIdOrName}/doors/baselineSets
Option Type Required Meaning
projIdOrName String Yes The Id or Name of the Codebeamer project, where to import the baseline sets

You must be a Tracker Administrator in the specified project.


The request body must contain either a single baseline set (JSON object) or an array of baseline sets, as returned from

  • GET /doors/bridge/{bridgeId}/folder{projectOrFolder}/baselineSets/steps[?options] or
  • POST /doors/baselineSets