See all operations
POST: projects/{project_id}/requirements
Description
Creates a new requirement record in the current project at the end of the list the user has access to.
Note: the indent level is set at the same as the last one in the list the user has access to
Name and RequirementTypeId are the only non-optional fields. Do not include the RequirementId field.
How to Execute
To access this REST web service, you need to use the following URL (make sure to replace any parameters (eg {project_id}) with the relevant value (eg 1):
https://api.inflectra.com/spira/services/v7_0/RestService.svc/projects/{project_id}/requirements
Request Parameters
Name
|
Description
|
project_id
|
The id of the project
|
Request Body
Property
|
Description
|
RequirementId
|
The id of the requirement (integer)
|
IndentLevel
|
The indentation level of the artifact (string)
The system uses a set of three-letter segments to denote indent (e.g. AAA followed by AAB, etc.)
|
StatusId
|
The id of the requirement's status (integer).
If no value is provided, the default status is used
Relevant values: Accepted 5; Completed 10; Developed 4; Evaluated 7; In Progress 3; Obsolete 8; Planned 2; Rejected 6; Requested 1; Tested 9.
|
RequirementTypeId
|
The type of requirement (integer).
Relevant values: Package -1; Need 1; Feature 2; Use Case 3; User Story 4; Quality 5; Design Element 6
Null can be passed when created if using the default type
|
AuthorId
|
The id of the user that wrote the requirement (integer)
If no value is provided, the authenticated user is used instead
|
OwnerId
|
The id of the user that the requirement is assigned-to (integer)
|
ImportanceId
|
The id of the importance of the requirement (integer)
Relevant values: 1 - Critical 1; 2 - High 2; 3 - Medium 3; 4 - Low 4
|
ReleaseId
|
The id of the release the requirement is scheduled to implemented in (integer)
|
ComponentId
|
The id of the component the requirement is a part of (integer - these are created on a per project user by an administrator)
|
Name
|
The name of the requirement (string - required for POST)
|
Description
|
The description of the requirement (string)
|
CreationDate
|
The date/time the requirement was originally created (date-time)
|
LastUpdateDate
|
The date/time the requirement was last modified (date-time)
|
Summary
|
Is this a summary requirement or not (boolean)
|
EstimatePoints
|
The estimate of the requirement (decimal - in story points)
|
Steps
|
The list of scenarios steps (array - only available for Use Case requirement types)
|
StartDate
|
The start date of the requirement for planning purposes
|
EndDate
|
The end date of the requirement for planning purposes
|
PercentComplete
|
The percentage complete of the requirement
|
GoalId
|
The id of the goal that the requirement belongs to
|
IsSuspect
|
Is the requirement marked as suspect due to dependent item changes
|
ProjectId
|
The id of the project that the artifact belongs to
|
ProjectGuid
|
The guid of the project that the artifact belongs to
|
ConcurrencyDate
|
The datetime used to track optimistic concurrency to prevent edit conflicts
|
CustomProperties
|
The list of associated custom properties/fields for this artifact
|
Tags
|
The list of meta-tags that should be associated with the artifact
|
Guid
|
The unique identifier for the artifact
|
<RemoteRequirement xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/Inflectra.SpiraTest.Web.Services.v7_0.DataObjects">
<ArtifactTypeId>0</ArtifactTypeId>
<ConcurrencyDate>0001-01-01T00:00:00</ConcurrencyDate>
<CustomProperties i:nil="true" />
<Guid i:nil="true" />
<IsAttachments>false</IsAttachments>
<ProjectGuid i:nil="true" />
<ProjectId>0</ProjectId>
<Tags i:nil="true" />
<AuthorGuid i:nil="true" />
<AuthorId i:nil="true" />
<AuthorName i:nil="true" />
<ComponentId i:nil="true" />
<CoverageCountBlocked i:nil="true" />
<CoverageCountCaution i:nil="true" />
<CoverageCountFailed i:nil="true" />
<CoverageCountPassed i:nil="true" />
<CoverageCountTotal i:nil="true" />
<CreationDate>0001-01-01T00:00:00</CreationDate>
<Description i:nil="true" />
<EndDate i:nil="true" />
<EstimatePoints i:nil="true" />
<EstimatedEffort i:nil="true" />
<GoalId i:nil="true" />
<ImportanceId i:nil="true" />
<ImportanceName i:nil="true" />
<IndentLevel i:nil="true" />
<IsSuspect>false</IsSuspect>
<LastUpdateDate>0001-01-01T00:00:00</LastUpdateDate>
<Name i:nil="true" />
<OwnerGuid i:nil="true" />
<OwnerId i:nil="true" />
<OwnerName i:nil="true" />
<PercentComplete i:nil="true" />
<ProjectName i:nil="true" />
<ReleaseGuid i:nil="true" />
<ReleaseId i:nil="true" />
<ReleaseVersionNumber i:nil="true" />
<RequirementId i:nil="true" />
<RequirementTypeId i:nil="true" />
<RequirementTypeName i:nil="true" />
<StartDate i:nil="true" />
<StatusId i:nil="true" />
<StatusName i:nil="true" />
<Steps i:nil="true" />
<Summary>false</Summary>
<TaskActualEffort i:nil="true" />
<TaskCount i:nil="true" />
<TaskEstimatedEffort i:nil="true" />
</RemoteRequirement>
{"RequirementId":null,
"IndentLevel":null,
"StatusId":null,
"RequirementTypeId":null,
"AuthorId":null,
"OwnerId":null,
"AuthorGuid":null,
"OwnerGuid":null,
"ImportanceId":null,
"ReleaseId":null,
"ReleaseGuid":null,
"ComponentId":null,
"Name":null,
"Description":null,
"CreationDate":"0001-01-01T00:00:00",
"LastUpdateDate":"0001-01-01T00:00:00",
"Summary":false,
"CoverageCountTotal":null,
"CoverageCountPassed":null,
"CoverageCountFailed":null,
"CoverageCountCaution":null,
"CoverageCountBlocked":null,
"EstimatePoints":null,
"EstimatedEffort":null,
"TaskEstimatedEffort":null,
"TaskActualEffort":null,
"TaskCount":null,
"ReleaseVersionNumber":null,
"AuthorName":null,
"OwnerName":null,
"StatusName":null,
"ImportanceName":null,
"ProjectName":null,
"RequirementTypeName":null,
"Steps":null,
"StartDate":null,
"EndDate":null,
"PercentComplete":null,
"GoalId":null,
"IsSuspect":false,
"ProjectId":0,
"ProjectGuid":null,
"ArtifactTypeId":0,
"ConcurrencyDate":"0001-01-01T00:00:00",
"CustomProperties":null,
"IsAttachments":false,
"Tags":null,
"Guid":null}
Return Data
The JSON and XML examples below show the shape of one entry that will be returned. It does not show an example of how that entry will be populated.
Property
|
Description
|
RequirementId
|
The id of the requirement (integer)
|
IndentLevel
|
The indentation level of the artifact (string)
The system uses a set of three-letter segments to denote indent (e.g. AAA followed by AAB, etc.)
|
StatusId
|
The id of the requirement's status (integer).
If no value is provided, the default status is used
Relevant values: Accepted 5; Completed 10; Developed 4; Evaluated 7; In Progress 3; Obsolete 8; Planned 2; Rejected 6; Requested 1; Tested 9.
|
RequirementTypeId
|
The type of requirement (integer).
Relevant values: Package -1; Need 1; Feature 2; Use Case 3; User Story 4; Quality 5; Design Element 6
Null can be passed when created if using the default type
|
AuthorId
|
The id of the user that wrote the requirement (integer)
If no value is provided, the authenticated user is used instead
|
OwnerId
|
The id of the user that the requirement is assigned-to (integer)
|
AuthorGuid
|
The guid of the author.
|
OwnerGuid
|
The guid of the owner.
|
ImportanceId
|
The id of the importance of the requirement (integer)
Relevant values: 1 - Critical 1; 2 - High 2; 3 - Medium 3; 4 - Low 4
|
ReleaseId
|
The id of the release the requirement is scheduled to implemented in (integer)
|
ReleaseGuid
|
The guid of the release
|
ComponentId
|
The id of the component the requirement is a part of (integer - these are created on a per project user by an administrator)
|
Name
|
The name of the requirement (string - required for POST)
|
Description
|
The description of the requirement (string)
|
CreationDate
|
The date/time the requirement was originally created (date-time)
|
LastUpdateDate
|
The date/time the requirement was last modified (date-time)
|
Summary
|
Is this a summary requirement or not (boolean)
|
CoverageCountTotal
|
How many test cases cover this requirement (integer)
|
CoverageCountPassed
|
How many of the test cases that cover this requirement have passed (integer)
|
CoverageCountFailed
|
How many of the test cases that cover this requirement have failed (integer)
|
CoverageCountCaution
|
How many of the test cases that cover this requirement have been marked as caution (integer)
|
CoverageCountBlocked
|
How many of the test cases that cover this requirement have blocked (integer)
|
EstimatePoints
|
The estimate of the requirement (decimal - in story points)
|
EstimatedEffort
|
What was the original top-down level of effort estimated for this requirement, calculated from the points estimate (integer)
|
TaskEstimatedEffort
|
What is the bottom-up estimated effort for all the tasks associated with this requirement (integer)
|
TaskActualEffort
|
What is the bottom-up actual effort for all the tasks associated with this requirement (integer)
|
TaskCount
|
How many tasks are associated with this requirement (integer)
|
ReleaseVersionNumber
|
The version number string of the release that the requirement is scheduled for (string)
|
AuthorName
|
The display name of the user that wrote this requirement (string)
|
OwnerName
|
The display name of the user that this requirement is assigned-to (string)
|
StatusName
|
The display name of the status the requirement is in (string)
|
ImportanceName
|
The display name of the importance that the requirement is in (string)
|
ProjectName
|
The display name of the project that the requirement is associated with (string)
|
RequirementTypeName
|
The display name of the type of requirement (string)
|
Steps
|
The list of scenarios steps (array - only available for Use Case requirement types)
|
StartDate
|
The start date of the requirement for planning purposes
|
EndDate
|
The end date of the requirement for planning purposes
|
PercentComplete
|
The percentage complete of the requirement
|
GoalId
|
The id of the goal that the requirement belongs to
|
IsSuspect
|
Is the requirement marked as suspect due to dependent item changes
|
ProjectId
|
The id of the project that the artifact belongs to
|
ProjectGuid
|
The guid of the project that the artifact belongs to
|
ArtifactTypeId
|
The type of artifact that we have
|
ConcurrencyDate
|
The datetime used to track optimistic concurrency to prevent edit conflicts
|
CustomProperties
|
The list of associated custom properties/fields for this artifact
|
IsAttachments
|
Does this artifact have any attachments?
|
Tags
|
The list of meta-tags that should be associated with the artifact
|
Guid
|
The unique identifier for the artifact
|
<RemoteRequirement xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/Inflectra.SpiraTest.Web.Services.v7_0.DataObjects">
<ArtifactTypeId>0</ArtifactTypeId>
<ConcurrencyDate>0001-01-01T00:00:00</ConcurrencyDate>
<CustomProperties i:nil="true" />
<Guid i:nil="true" />
<IsAttachments>false</IsAttachments>
<ProjectGuid i:nil="true" />
<ProjectId>0</ProjectId>
<Tags i:nil="true" />
<AuthorGuid i:nil="true" />
<AuthorId i:nil="true" />
<AuthorName i:nil="true" />
<ComponentId i:nil="true" />
<CoverageCountBlocked i:nil="true" />
<CoverageCountCaution i:nil="true" />
<CoverageCountFailed i:nil="true" />
<CoverageCountPassed i:nil="true" />
<CoverageCountTotal i:nil="true" />
<CreationDate>0001-01-01T00:00:00</CreationDate>
<Description i:nil="true" />
<EndDate i:nil="true" />
<EstimatePoints i:nil="true" />
<EstimatedEffort i:nil="true" />
<GoalId i:nil="true" />
<ImportanceId i:nil="true" />
<ImportanceName i:nil="true" />
<IndentLevel i:nil="true" />
<IsSuspect>false</IsSuspect>
<LastUpdateDate>0001-01-01T00:00:00</LastUpdateDate>
<Name i:nil="true" />
<OwnerGuid i:nil="true" />
<OwnerId i:nil="true" />
<OwnerName i:nil="true" />
<PercentComplete i:nil="true" />
<ProjectName i:nil="true" />
<ReleaseGuid i:nil="true" />
<ReleaseId i:nil="true" />
<ReleaseVersionNumber i:nil="true" />
<RequirementId i:nil="true" />
<RequirementTypeId i:nil="true" />
<RequirementTypeName i:nil="true" />
<StartDate i:nil="true" />
<StatusId i:nil="true" />
<StatusName i:nil="true" />
<Steps i:nil="true" />
<Summary>false</Summary>
<TaskActualEffort i:nil="true" />
<TaskCount i:nil="true" />
<TaskEstimatedEffort i:nil="true" />
</RemoteRequirement>
{"RequirementId":null,
"IndentLevel":null,
"StatusId":null,
"RequirementTypeId":null,
"AuthorId":null,
"OwnerId":null,
"AuthorGuid":null,
"OwnerGuid":null,
"ImportanceId":null,
"ReleaseId":null,
"ReleaseGuid":null,
"ComponentId":null,
"Name":null,
"Description":null,
"CreationDate":"0001-01-01T00:00:00",
"LastUpdateDate":"0001-01-01T00:00:00",
"Summary":false,
"CoverageCountTotal":null,
"CoverageCountPassed":null,
"CoverageCountFailed":null,
"CoverageCountCaution":null,
"CoverageCountBlocked":null,
"EstimatePoints":null,
"EstimatedEffort":null,
"TaskEstimatedEffort":null,
"TaskActualEffort":null,
"TaskCount":null,
"ReleaseVersionNumber":null,
"AuthorName":null,
"OwnerName":null,
"StatusName":null,
"ImportanceName":null,
"ProjectName":null,
"RequirementTypeName":null,
"Steps":null,
"StartDate":null,
"EndDate":null,
"PercentComplete":null,
"GoalId":null,
"IsSuspect":false,
"ProjectId":0,
"ProjectGuid":null,
"ArtifactTypeId":0,
"ConcurrencyDate":"0001-01-01T00:00:00",
"CustomProperties":null,
"IsAttachments":false,
"Tags":null,
"Guid":null}