REST API - Defining a Trace in the Request Body
How to define a trace in the request body using the Blueprint API.
The following services require you to define/specify a trace in the request body:
In the request body you must specify:
- The other artifact in the trace relationship (for Add Traces and Delete Traces requests)
OR - The new parent trace (for Change Parent Trace)
Parameters
You must specify a Traces element first to contain any individual traces you want to specify by using the Trace element. Here is an example in XML:
<Traces>
<Trace>
</Trace>
<Trace>
</Trace>
</Traces>
The following parameters can be specified within each <Trace> element you are specifying:
ArtifactId: The ID of the artifact whose trace relationship is being defined.SubArtifactId: The ID of the sub-artifact whose trace relationship is being defined.ProjectId: The ID of the project of the artifact whose trace relationship is being defined.Type: Defines the type of trace. The valid values are the following:Manual: Only applicable when adding or deleting a trace.Parent: Only applicable when moving an artifact.
Direction: The direction of the trace. The valid values are the following:To: From the artifact in the URI request to the artifact in the request body.From: To the artifact in the URI request from the artifact in the request body.TwoWay: The artifacts have a bi-directional trace.
IsSuspect: Marks the trace as suspect.
Depending on the request, you are adding a trace relationship to, removing a relationship from, or establishing a new child-parent relationship with the artifact in the request body. In each context, some parameters are mandatory, while others are optional or ignored:
- Adding a Trace:
- Required:
direction,type(set to Manual), one ofartifactIdorsubArtifactId(the other is optional) - Optional:
projectIdandisSuspect
- Required:
- Deleting a Trace:
- Required:
type(set to Manual), one ofartifactIdorsubArtifactId(the other is optional),direction(if the query is using thereconcileWithTwoWayparameter, which is set to true) - Optional:
projectId - Ignored:
isSuspect
- Required:
- Changing a Parent Trace:
- Required:
type(set to Parent), one ofartifactIdorprojectIdThe artifact in the request body must belong to the same project as the artifact in the URI request. - Ignored: All other properties are ignored.
- Required:
Examples
AddTrace Example
Here is an example of a request body in XML format:
<?xml version="1.0" ?>
<Traces xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.blueprintsys.com/blueprint/api/v1">
<Trace>
<ArtifactId>888020</ArtifactId>
<Direction>To</Direction>
<IsSuspect>false</IsSuspect>
<ProjectId>847739</ProjectId>
<Type>Manual</Type>
</Trace>
</Traces>
Here is an example of a request body in JSON format:
[
{
"Type": "Manual",
"ProjectId": 123456,
"ArtifactId": 123,
"IsSuspect": false
},
{
"Type": "Manual",
"ProjectId": 123456,
"ArtifactId": 456,
"IsSuspect": false
},
{
"Type": "Manual",
"ProjectId": 789,
"ArtifactId": 789,
"SubArtifactId": 789,
"IsSuspect": false
}
]
Delete Traces Example
Here is an example of a request body in XML format:
<?xml version="1.0" ?>
<Traces xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.blueprintsys.com/blueprint/api/v1">
<Trace>
<ArtifactId>843925</ArtifactId>
<Type>Manual</Type>
</Trace>
</Traces>
Here is an example of a request body in JSON format:
[
{
"Type": "Manual",
"ArtifactId": 847750
}
]
ChangeParentTrace Example
Here is an example of a request body in XML format:
<?xml version="1.0" ?>
<Traces xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.blueprintsys.com/blueprint/api/v1">
<Trace>
<ArtifactId>999666</ArtifactId>
<Type>Parent</Type>
</Trace>
</Traces>
Here is an example of a request body in JSON format:
[
{
"Type": "Parent",
"ArtifactId": 999666
}
]
How did we do?
REST API - Defining an Artifact in the Request Body
REST API - Defining a User in the Request Body