true
This is structure is used to define the custom soap fault message.
Custom SOAP Fault Message class Name :ServiceFaultMessage
The short description of the fault
The detailed stack trace of the error message
The type of the fault - normally the full name of the server exception class
true
This is structure is used to define the custom soap fault message.
Custom SOAP Fault Message class Name :ServiceFaultMessage
The list of actual validation messages
The short description of the fault
true
Represents a single validation message item
Represents a single Test Case artifact in the system
Whether this test case is marked as active or not
The id of the user that wrote the test case
The authenticated user is used if no value is provided
The display name of the user that wrote the test case
The id of the attachment that is being used to store the test script (file or url)
Null if manual only
The id of the automation engine the associated test script uses (null if manual only)
The date the test case was created
The description of the test case
The estimated time to execute the test case
The date the test case was last executed
The execution status id of the test case
Whether this is actually a test case folder or not
The indentation level of the artifact
The system uses a set of three-letter segments to denote indent (e.g. AAA followed by AAB, etc.)
The date the test case was last updated
The name of the test case
The id of the user that the test case is assigned-to
The display name of the user that the test case is assigned-to
The display name of the project that the test case belongs to
The id of the test case
The id of the priority of the test case
The display name of the priority of the test case
The list of test steps that comprise the test case
The type of artifact that we have (read-only)
The datetime used to track optimistic concurrency to prevent edit conflicts
The list of associated custom properties/fields for this artifact
The id of the project that the artifact belongs to
The current project is always used for Insert operations for security reasons
Represents a single custom property instance associated with an artifact
The value of a boolean custom property
The value of a date-time custom property
The value of a decimal custom property
The associated custom property definition (read-only)
The value of a multi-list custom property
The value of an integer custom property
The number of the custom property field
The value of a string custom property
Represents a single project custom property configuration entry
The artifact type that the custom property is for
The associated custom list if this is a list custom property
This will be null if this is not a list custom property
The internal field name of the custom property (e.g. Custom_01)
The id of the custom property (leave null for newly created ones)
The type of custom property. It can have the following values:
Text = 1,
Integer = 2,
Decimal = 3,
Boolean = 4,
Date = 5,
List = 6,
MultiList = 7,
User = 8
The display name of the type of custom property
Has this custom property been deleted
The display name for the custom property
The collection of custom property options
The project the custom property belongs to
The position number of this custom property (1-30). Each artifact type can have 30 custom properties per project
The physical data type that this custom property is stored as (Int32, String, DataTime, etc.)
Represents a custom list in the system
Whether the list is active or not
The id of the custom list
The name of the custom list
The id of the project the custom list belongs to
Whether the list is sorted on value or not
The collection of values in the custom list
Represents a custom list value (property value) in the system
The id of the custom list the value belongs to
The id of the custom list value
The name of the custom list value
Represents a single project custom property option entry.
Examples of options include: maximum length, minimum value, etc.
The id of the custom property option. Allowed values are:
AllowEmpty = 1,
MaxLength = 2,
MinLength = 3,
RichText = 4,
Default = 5,
MaxValue = 6,
MinValue = 7,
Precision = 8
The value of the custom property option
This represents a single test step in the system
The description of what the tester should do to execute this step
The id of the execution status for the last time it was executed
The description of what the tester should see if the step succeeds
The date the test step was last updated
If this step is really a linked test case, this is the id of the linked test case
The position of the step in the test case
Any sample data that the tester should use during execution
The id of the test case the step belongs to
The id of the test step
Represents a test step parameter (used when you have linked test case steps)
The name of the test step parameter
The value of the parameter to be passed from the parent test case to the child test case
The artifact ID that this comment belongs to.The unique ID for this comment / artifact type.The date and time the comment was made.Whether the comment was marked for deletion or hidden.
Not currently used, should remain false.The text of the comment.
The userID of the author.
The authenticated user is used if no value providedThe full name of the author.
Represents a single filter that can be applied to a Retrieve query
The filter value for date/time fields where you want to filter on a date range
The filter value for fields that contain integers
Used when you only want to filter on a single value
The filter value for fields that contain integers
Used when you only want to filter on a set of multiple values
The name of the field being filtered on. For standard fields it would be something like 'RequirementStatusId',
for custom properties, it would be of the format: 'Custom_01' not the display name.
The filter value for fields that contain strings
This will perform a LIKE wildcard match on the string
Represents a date-range that is used in filters, etc.
Do we want to consider times when filtering
This is not used interally by the class, just tracked for the client's benefit
The ending date of the date-range
The starting date of the date-range
Represents a multi-values filter entry
Do we have the special case of a filter for (None) - i.e. all records that have no value set
Contains the list of specified values to filter on
Represents a single Test Case Folder. This is added to the v4.x API
so that clients that need folders when using Spira v5.0 can get all of the folders easily.
This fixes a serious issue that we were having with Rapise.
The indentation level of the folder
The system uses a set of three-letter segments to denote indent (e.g. AAA followed by AAB, etc.)
The name of the test case folder
The parent test case folder
The id of the project this folder belongs to
The id of the test case folder
Represents a manual test run in the system
The list of test steps that comprise the manual test
The actual duration of how long the test should take to execute (read-only)
This field is calculated from the start/end dates provided during execution
The id of the build that the test was executed against
The date/time that the test execution was completed
The estimated duration of how long the test should take to execute (read-only)
This field is populated from the test case being executed
The id of overall execution status for the test run
Failed = 1;
Passed = 2;
NotRun = 3;
NotApplicable = 4;
Blocked = 5;
Caution = 6;
The name of the test run (usually the same as the test case)
The id of the release that the test run should be reported against
The date/time that the test execution was started
The id of the test case that the test run is an instance of
The id of the test run
The id of the type of test run (automated vs. manual)
The id of the test set that the test run should be reported against
The id of the unique test case entry in the test set
The id of the user that executed the test
The authenticated user is used if no value is provided
This object represents a single step in a test run in the system
The actual result that occurs when the tester executes the step
The description of what the tester should do when executing the step
The id of the execution status of the test run step result
Failed = 1;
Passed = 2;
NotRun = 3;
NotApplicable = 4;
Blocked = 5;
Caution = 6;
The expected result that should oocur when the tester executes the step
The positional order of the test run step in the test run
The sample data that should be used by the tester
The id of the test case that the test run step is based on
May be different from the TestRun.TestCaseId in the case of Linked Test Cases
The is of the parent test run
The id of the test run step
The id of the test step the test run step is based on
Represents an automated test run in the system
The id of the attachment that is being used to store the test script (file or url)
The id of the automation engine that the result is being recorded for
The token of the automation engine that the result is being recorded for (read-only)
The id of the automation host that the result is being recorded for
The list of test case parameters that have been provided
The number of assertions/errors reported during the automated test execution
The summary result of the test case
The name of the external automated tool that executed the test
The detailed trace of test results reported back from the automated testing tool
The name of the test case as it is known in the external tool
The datetime the test was scheduled for
The format of the automation results (1=Plain Text, 2=HTML) stored in the 'RunnerStackTrace' field
The list of test steps that comprise the automated test
These are optional for automated test runs. The status of the test run steps
does not change the overall status of the automated test run. They are used to
simply make reporting clearer inside the system. They will also update the status of
appropriate Test Step(s) if a valid test step id is provided.
Represents a test set test case parameter (used when you have a test set pass parameters through to mapped test cases)
The name of the test case parameter
The value of the parameter to be passed from the test set to the test case
Represents a single sort that can be applied to a Retrieve query
The name of the field that we want to sort on
Set true to sort ascending and false to sort descending
Stores the mapping/coverage between Test Sets and Test Cases
The id of the owner of the test case in the test set
Leave as null to default to the test set's owner
The id of the test case
The id of the test set
The unique id of the test case in the test set
Represents a single Test Set artifact in the system
The id of the automation host the test set is assigned-to
How many blocked test cases are in the set
How many cautioned test cases are in the set
How many failed test cases are in the set
How many test cases in the set are not applicable
How many test cases in the set have not been run
How many passed test cases are in the set
The date the test set was originally created
The id of the user who created the test set
If no value is provided, the authenticated user is used
The display name of the user that created the test set
The detailed description of the test set
The date that the test set was last executed by a tester
Is this test set actually a folder
The indentation level of the artifact
The system uses a set of three-letter segments to denote indent (e.g. AAA followed by AAB, etc.)
The date the test set was last modified
The name of the test set
The id of the user who the test set is assigned-to
The display name of the user that the test set is assigned-to
The date that the test set needs is planned to be executed on
The display name of the project that the test set belongs to
The id of the recurrence pattern the test set is scheduled for
The display name of the recurrence pattern
The id of the release that the test set is assigned-to
The version number of the release the test set is scheduled for
The id of the type of test set (1 = Manual, 2 = Automated)
The id of the test set
The id of the test set's status
The display name of the status of the test set
Represents a single User in the system
Whether the user is active in the system
Whether the user is a system administrator
Is this user approved by the system administrator
The department of the user
The email address of the user
The first (given) name of the user
The full name of the user concatenated (First + Middle + Last)
The last name (surname) of the user
The LDAP Distinguished Name for the user (null for non-LDAP users)
Is this user locked-out of their account
The middle initials of the user
This is the RSS token for this user
For security reasons, you have to access the API as a system administrator to retrieve this field
The id of the user
The login used by the user
Represents a single Automation Host artifact in the system
Is this host active for the project
The id of the host
The detailed description of the host
Optional
The last date/time that this host was contacted
The date/time that the host was last modified
This field needs to match the values retrieved to ensure data-concurrency
The name of the host
The token of the host
Ths is the name that external systems should refer to it as
Represents a single Automation Engine in the system
Is this host active for the project
The id of the engine
The detailed description of the engine
Optional
The display name of the engine
The token of the engine
Ths is the name that external systems should refer to it as
Represents a single build in SpiraTeam
The id of the build
The id of the status of the build (1=Failed, 2=Passed)
The display name of the status of the build
Read-only
The date the build was created
Pass null to use the current server date/time
The detailed description of the host
Optional
The date/time that the build was last modified
The name of the build
The id of the project the build belongs to
The id of the release or iteration the build belongs to
The list of source code revisions associated with the build
Represents a single source code revision association with a SpiraTeam build
The id of the build this revision is associated with
The date/time that the revision was associated with the build
Pass null to use the current date/time on the server
The key that uniquely identifies the revision
Represents a single data mapping entry between an item in the system and the same item in another, external system
The id of the item in the external system
The id of the item inside Spira
Whether this is the primary external mapped value in the case of 1..n mapping
The project that the data mapping entry relates to (null if it's not project specific)
Represents a document (attachment/url) in the system
The id of the artifact it's being attached to
The id of the type of artifact it's attached to
Requirement = 1,
TestCase = 2,
Incident = 3,
Release = 4,
TestRun = 5,
Task = 6,
TestStep = 7,
TestSet = 8
The id of the attachment
The id of the attachment type
File = 1,
URL = 2
The display name of the attachment type (i.e. whether it's a file or url)
The id of the user that uploaded the attachment
If no value is provided, the authenticated user is used
The display name of the user that uploaded the attachment
The version name of the current attachment
The description of the attachment
The date/time the attachment was last edited
The id of the user that edited the document
The display name of the user that edited the document
The filename of the file (if a file attachment) or the full URL if a URL attachment
The id of the attachment folder id for the current project
The id of the attachment type relative to the current project
The display name of the attachment type relative to the current project
This is not whether it's a file or url, but the project-specific classification
The size of the attachment in bytes
Pass 0 for a URL attachment
The list of meta-tags that should be associated with the attachment
The date/time the attachment was uploaded
The list of document versions
Represents a document version in the system
The id of the document
The id of the document version
The id of the user that uploaded the version
If no value is provided, the authenticated user is used
The display name of the user that uploaded the attachment version
The description of the attachment version
The filename of the file (if a file attachment) or the full URL if a URL attachment
The size of the attachment version in bytes
Pass 0 for a URL attachment
The date/time the attachment version was uploaded
The version number
Represents a document/attachment type in the system
Is this type active
Is this the default type for the project
The description of the document type.
Optional
The name of the document type.
The id of the document type
The id of the project that the folder belongs to
Represents a document/attachment folder in the system
The indentation level of the artifact
The system uses a set of three-letter segments to denote indent (e.g. AAA followed by AAB, etc.)
The name of the folder.
The id of the parent folder of this folder
Null for root folders
The id of the document folder
The id of the project that the folder belongs to
Represents an association/link between artifacts in the system
The id of the association/link
A comment that describes the association in more detail
The date/time the association was created
The user creating the association/link
If not specified, the authenticated user is used
The display name of the user that created the association/link
The artifact id being linked TO
The display name of the artifact being linked to
The type of artifact being linked TO
The display name of the type of artifact being linked to
The artifact id being linked FROM
The type of artifact being linked FROM
Represents an incident priority in the project
Whether the priority is active or not
The hex color code associated with the priority
The name of the incident priority
The id of the incident priority
Represents an incident severity in the project
Whether the severity is active or not
The hex color code associated with the severity
The name of the severity
The id of the incident severity
Represents an incident status in the project
Whether this status is active or not
The id of the incident status
The name of the incident status
Whether this status is considered an 'open' status or not
Represents an incident type in the project
Whether the incident type is active or not
The id of the incident type
Should incidents of this type appear in the 'Top Open Issues' section
The name of the incident type
Should incidents of this type appear in the 'Top Open Issues' section
The id of the workflow the incidents are associated with
Represents a single Incident artifact in the system
The actual effort (in minutes) it took to resolve the incident
The date that the incident was closed
The completion percentage (value = 0-100) of the incident as calculated in the system from the remaining effort
vs. the original estimated effort.
Read-Only
The date/time that the incident was originally created
If no value is provided, the current date/time on the server is used
The description of the incident
The id of the release/iteration that the incident was detected in
The version number of the release/iteration that the incident was detected in
The estimated effort (in minutes) to resolve the incident
The id of the build that the incident was fixed in
The name of the build that the incident was fixed in
The id of the incident
The id of the status of the incident
If no value is provided, the default status for the workflow is used
The display name of the status of the incident
Is the incident in an 'open' status or not?
The id of the type of the incident
If no value is provided, the default type for the project is used
The display name of the type of the incident
The date/time that the incident was last modified
This field needs to match the values retrieved to ensure data-concurrency
The name of the incident
The id of the user who detected the incident
If a value is not provided, the authenticated user is used
The display name of the user that detected the incident
The id of the user to the incident is assigned-to
The display name of the user that the incident is assigned to
The id of the priority of the incident
The display name of the priority of the incident
The display name of the project the incident belongs to
The projected actual effort of the incident when it is completed
Read-Only
The effort remaining as reported by the developer
The id of the release/iteration that the incident will be fixed in
The version number of the release/iteration that the incident will be resolved in
The id of the severity of the incident
The display name of the severity of the incident
The date that work started on the incident
The id of the test run step that the incident relates to
The id of the release/iteration that the incident was retested in
The version number of the release/iteration that the incident was retested in
Represents an incident field that can be controlled by the workflow
What is the caption for the field
What is the id of the field
What is the system name of the field
What is the state of the field that this represents
Inactive = 1,
Required = 2,
Hidden = 3
Contains a workflow transition.
Can this transition be executed by the detector of the incident
Can this transition be executed by the owner of the incident
What is the id of the input incident status
What is the id of the output incident status
What is the display name of the input incident status
What is the display name of the output incident status
What is the name of the transition
What is the id of this transition
What workflow does this transition belong to
Represents an incident custom property that can be controlled by the workflow
What is the id of the custom property
What is the caption for the custom property
What is the system name of the custom property
Uses the format Custom_01, Custom_02, Custom_03, etc.
What is the state of the custom property that this represents
Active = 1,
Required = 2
Represents a single Project in the system
Whether the project is active or not
The date/time the project was created
The description of the project
The name of the project
How many special non-working hours are there in a month in the project
The id of the project
The url associated with the project
How many working days are in a week for this project
How many working hours are in a day for this project
Stores a single project user membership entry
The ID of the project
The ID of the role the user has on the project
The name of the role the user has on the project
Read-only
Represents a single Project Role in the system
Whether the role is active or not
Whether the role is a project owner or not
The description of the project role
Can this role add discussions/comments to the project
Can this role add documents to the project
Can this role delete documents in the project
Can this role edit documents in the project
The name of the project role
The id of the project role
Can this role view the source code repository of the project
Stores the mapping/coverage between Releases and Test Cases
The id of the release
The id of the test case
Represents a single Release or Iteration artifact in the system
Although the fields refer to Release, they are the same fields for an Iteration
Is this release active for the project
How much effort is still available in the release for planning
The date the release was originally created
The id of the user that created the release
What is the full display name of the person who created this release
How many non-working days are associated with the release
The description of the release
What is the end date for the release
The full name and version number of the release combined
The indentation level of the artifact
The system uses a set of three-letter segments to denote indent (e.g. AAA followed by AAB, etc.)
Is this an iteration (true) or a release (false)
The date the release was last modified
The name of the release
What is the estimated planned effort associated with the release
The id of the release
How many people are working on the release
What is the start date for the release
Is this release a summary one (i.e. does it have child releases)
How much effort was actually expended for all the tasks scheduled for this release
How many tasks are scheduled for this release
How much effort was estimated for all the tasks scheduled for this release
The version number string of the release
Stores the mapping/coverage between Requirements and Test Cases
The id of the requirement
The id of the test case
Represents a single Requirement artifact in the system
The id of the user that wrote the requirement
If no value is provided, the authenticated user is used instead
The display name of the user that wrote this requirement
How many of the test cases that cover this requirement have blocked
How many of the test cases that cover this requirement have been marked as caution
How many of the test cases that cover this requirement have failed
How many of the test cases that cover this requirement have passed
How many test cases cover this requirement
The date/time the requirement was originally created
The description of the requirement
The id of the importance of the requirement
The display name of the importance that the requirement is in
The indentation level of the artifact
The system uses a set of three-letter segments to denote indent (e.g. AAA followed by AAB, etc.)
The date/time the requirement was last modified
The name of the requirement
The id of the user that the requirement is assigned-to
The display name of the user that this requirement is assigned-to
What was the original top-down level of effort estimated for this requirement
The display name of the project that the requirement is associated with
The id of the release the requirement is scheduled to implemented in
The version number string of the release that the requirement is scheduled for
The id of the requirement
The id of the requirement's status
If no value is provided, the default status is used
The display name of the status the requirement is in
Is this a summary requirement or not
What is the bottom-up actual effort for all the tasks associated with this requirement
How many tasks are associated with this requirement
What is the bottom-up estimated effort for all the tasks associated with this requirement
Contains application version information
The patch number (if any)
(Alpha) = -2
(Beta) = -1
The version number of the installation
Stores a single system setting entry
The name of the setting
The value of the setting
Represents a single Task artifact in the system
The actual effort expended so far (in minutes) for the task
The completion percentage (value = 0-100) of the task as calculated in the system from the remaining effort
vs. the original estimated effort.
Read-Only
The date/time that the task was originally created
The id of the user that originally created the task
If no value is provided, the authenticated user is used instead
The detailed description of the task
The scheduled end date for the task
The originally estimated effort (in minutes) of the task
The date/time that the task was last modified
This field needs to match the values retrieved to ensure data-concurrency
The name of the task
The id of the user that the task is assigned-to
The display name of the user who the task is assigned-to
Read-Only
The display name of the project the task belongs to
Read-Only
The projected actual effort of the task when it is completed
Read-Only
The id of the release/iteration that the task is scheduled for
The version number of the release/iteration the task is scheduled for
Read-Only
The effort remaining as reported by the developer
The id of the parent requirement that the task belongs to
The name of the requirement that the task is associated with
Read-Only
The scheduled start date for the task
The id of the task
The id of the priority of the task
The display name of the priority of the task
Read-Only
The id of the status of the task
The display name of the status of the task
Represents a test case parameter (used when you have linked test case steps)
The default value when none is provided by a parent test case
The name of the parameter
The id of the test case the parameter is defined for
The id of the test case parameter
This web service enables the import and export of data to/from the system. Each function is prefixed by the
area of the system that it relates to. For example, the Requirement_Retrieve function relates to the
Requirements module.
This API is available for all installations v4.0 or greater. There are older APIs available
for older versions of the system (v3.0, v2.2, v1.5.2, v1.2)
v4.0
Authenticates against the server. Need to call before using other methods
The username of the user
The unhashed password of the user
Whether authentication was successful or not
Also checks to make sure they have enough connection licenses
Authenticates against the server. Need to call before using other methods.
This overload allows you to specify the name of the plug-in calling the API
The username of the user
The unhashed password of the user
The name of the plug-in
Whether authentication was successful or not
Also checks to make sure they have enough connection licenses
Connects to a project, needed before calling other artifact import methods
The project to connect to
Whether the user is authorized to access this project
The user's role is put into session where other methods can check it for permissions
Disconnects the currenly authenticated / authorized user
Gets the brand name of the product installed
The product name
Retrieves the current date-time on the server converted into UTC
The current date-time in UTC
Gets the base URL of the website that the system is running under. Used for notifications and exported artifacts
The URL
Retrieves all test cases that are stored in a particular test folder
The id of the test case folder (0 for root folder)
List of testCases
Updates a test case in the system together with its test steps (if populated)
The updated test case object
Does not currently update test step custom properties
Deletes a test case in the system
The id of the test case
Also deletes any child test steps
Moves a test case to another location in the hierarchy
The id of the test case we want to move
The id of the folder case it's to be inserted under in the list (or null to be at the root)
Moves a test step to a different position in the test case
The id of the test case we're interested in
The id of the test step we want to move
The id of the test step we want to move it in front of (passing Null means end of the list)
Deletes a test step in the system
The id of the test case
The id of the test step
Doesn't throw an exception if the step no longer exists
Adds a new test step to the specified test case
The new test step object (primary key will be empty)
The test case to add it to
The populated test step object - including the primary key
Adds a new test step that is actually a link to a test case
The test case to add it to
The test case being linked to
Any parameters to passed to the linked test case
The position in the test step list
The id of the new test stepAdds or updates the automation test script associated with a test case
The user making the change
The id of the current project
The id of the test case
The id of the automation engine
The url or filename for the test script
The description of the automation script
The binary data that comprises the script (only for file attachments)
The version of the test script
The attachment type to store the script under (optional)
The attachment folder to store the script under (optional)Retrieves comments for a specified test case.
The ID of the test case to retrieve comments for.
An array of comments associated with the specified test case.Gives a count of items within the given folder that match the filters.
Filters for the child items.
The TestCase folder to count in.
A number of all items (folder objects and test cases) in the given parent folder ID.Creates a new comment for a test case.
The remote comment.
The RemoteComment with the comment's new ID specified.
Retrieves the entire folder hierarchy. Useful for client applications using v5.0 that need to get the list of all folders
but otherwise have not been recoded to use the newer v5.0 API
Creates a new test run shell from the provided test case(s)
The list of test cases to create the run for
A release to associate the test run with (optional)
The list of new test case run data objects
RemoteManualTestRun[] remoteTestRuns = spiraImportExport.TestRun_CreateFromTestCases(new int[] { testCaseId3, testCaseId4 }, iterationId1);
Returns the number of test runs that match the filter.
The list of filters to apply
The number of items.
Creates a new test run shell from the provided test set
The test set to create the run for
The list of new test case run data objects
RemoteManualTestRun[] remoteTestRuns = spiraImportExport.TestRun_CreateFromTestSet(testSetId1);
Creates a shell set of test runs for an external automated test runner based on the provided automation host token
and the specified date range
The unique token that identifies this host
The range of planned dates that we want to include test sets for
The list of test run objects
spiraImportExport.Connection_Authenticate2(userName, password, engineName);
spiraImportExport.Connection_ConnectToProject(projectId);
DateRange dateRange = new DateRange();
dateRange.StartDate = DateTime.UtcNow.AddHours(-1);
dateRange.EndDate = DateTime.UtcNow.AddHours(1);
RemoteAutomatedTestRun[] remoteTestRuns = spiraImportExport.TestRun_CreateForAutomationHost(automationHostToken, dateRange);
Creates a shell set of test runs for an external automated test runner based on the provided test set id
The automated test set we want to execute
The unique token that identifies this host
The list of test run objects
spiraImportExport.Connection_Authenticate2(userName, password, engineName);
spiraImportExport.Connection_ConnectToProject(projectId);
RemoteAutomatedTestRun[] remoteTestRuns = spiraImportExport.TestRun_CreateForAutomatedTestSet(testSetId, token);
For this method the test set doesn't need an automated host to be set
Records the results of executing an automated test
The automated test run information
the test run data object with its primary key populated
You need to use this overload when you want to be able to set Test Run custom properties
remoteTestRun = new RemoteAutomatedTestRun();
remoteTestRun.TestCaseId = testCaseId1;
remoteTestRun.ReleaseId = iterationId2;
remoteTestRun.StartDate = DateTime.UtcNow;
remoteTestRun.EndDate = DateTime.UtcNow.AddMinutes(2);
remoteTestRun.ExecutionStatusId = Business.TestCase.ExecutionStatusPassed;
remoteTestRun.RunnerName = "TestSuite";
remoteTestRun.RunnerTestName = "02_Test_Method";
testRunId3 = spiraImportExport.TestRun_RecordAutomated1(remoteTestRun).TestRunId.Value;
Records the results of executing an automated test
The username of the user
The unhashed password of the user
The project to connect to
The user id of the person who's running the test (null for logged in user)
The test case being executed
The release being executed against (optional)
The test set being executed against (optional)
The status of the test run (pass/fail/not run)
The name of the automated testing tool
The number of assertions
The failure message (if appropriate)
The error stack trace (if any)s
The name of the test case in the external tool
When the test run ended
When the test run started
The id of the build that the test run should be linked to
The format of the runnerStackTrace (1=Plain Text, 2=HTML)
The id of the unique test case entry in the test set (if none provided, the first matching test case is used)
The newly created test run id
Use this version of the method for clients that cannot handle session cookies or complex data objects.
Unlike the TestRun_RecordAutomated1 it cannot handle custom properties
int testRunId5 = spiraImportExport.TestRun_RecordAutomated2("aant", "aant", projectId1, userId2, testCaseId1, iterationId2, null, null, null, DateTime.UtcNow, DateTime.UtcNow.AddSeconds(20), Business.TestCase.ExecutionStatusFailed, "TestSuite", "02_Test_Method", 5, "Expected 1, Found 0", "Error Stack Trace........");
Records the results of executing multiple automated tests
the test run data object with its primary key populated
You need to use this overload when you want to be able to execute a large batch of test runs.
It's faster than TestRun_RecordAutomated1 for large numbers of test runs.
*However* it does not refresh any of the other items in the project (test cases, requirements, test sets)
that also have summarized forms of this data. So once you're done loading data, you *must*
call the Project_RefreshProgressExecutionStatusCaches() command once.
The list of populated automated test runs
The list of test runs with the TestRunId populated
Retrieves a list of test runs in the system that match the provided filter/sort
The list of filters to apply
The sort to apply
The number of rows to return
The first row to return (starting with 1)
List of test runs
Doesn't include the test run stepsRetrieves a list of manual test runs in the system that match the provided filter/sort
The list of filters to apply
The sort to apply
The number of rows to return
The first row to return (starting with 1)
List of test runs
Does include the test run stepsRetrieves a list of automated test runs in the system that match the provided filter/sort
The list of filters to apply
The sort to apply
The number of rows to return
The first row to return (starting with 1)
List of test runs
Doesn't include the test run steps
Retrieves a single test run in the system. Only returns the generic information
that is applicable for both automated and manual tests. Consider using
TestRun_RetrieveAutomatedById or TestRun_RetrieveManualById if you need
the automation/manual specific data for the test run
The id of the test run
Test Run object
Retrieves a single automated test run in the system including the automation-specific information
The id of the test run
Test Run object
Retrieves a single manual test run in the system including any associated steps
The id of the test run
Test Run object
Saves set of test runs, each containing test run steps
The test run objects to persist
The effective end-date of the test run (leave null to use the values specified on each test run object or the time of the API call)
The saved copy of the test run objects (contains generated IDs)
a) RemoteManualTestRun[] remoteTestRuns = spiraImportExport.TestRun_Save(remoteTestRuns, DateTime.UtcNow);
b) RemoteManualTestRun[] remoteTestRuns = spiraImportExport.TestRun_Save(remoteTestRuns, null);
Maps a test set to a test case, so that the test case is part of the test set
The id of the existing entry we want to insert it before (if not set, will be simply added to the end of the list)
The test set and test case mapping entry
Any parameter values to be passed from the test set to the test case
You can only pass in a test case id not a test case folder id
A list of the newly mapped items, with the unique instance id (TestSetTestCaseId) populated
Creates a new test set in the system
The new test set object (primary key will be empty)
Do we want to insert the test set under a parent folder
The populated test set object - including the primary keyReturns the number of test sets that match the filter.
The list of filters to apply
The number of items.
Creates a new test set folder in the system
The new test set object (primary key will be empty)
Do we want to insert the test set under a parent folder
The populated test set object - including the primary key
Removes a test case from a test set
The test set and test case mapping entry
Retrieves all the test cases that are part of a test set
The id of the test set
List of Test Set, Test Case mapping objects
Retrieves a list of testSets in the system that match the provided filter
The list of filters to apply
The number of rows to return
The first row to return (starting with 1)
List of testSets
spiraImportExport.Connection_Authenticate("fredbloggs", "fredbloggs");
spiraImportExport.Connection_ConnectToProject(1);
List<RemoteFilter> remoteFilters = new List<RemoteFilter>();
RemoteFilter remoteFilter = new RemoteFilter();
remoteFilter.PropertyName = "OwnerId";
remoteFilter.MultiValue = new MultiValueFilter();
List<int> multiValues = remoteFilter.MultiValue.Values;
multiValues.Add(2);
multiValues.Add(3);
remoteFilters.Add(remoteFilter);
remoteFilter = new RemoteFilter();
remoteFilter.PropertyName = "TestSetStatusId";
remoteFilter.MultiValue = new MultiValueFilter();
multiValues = remoteFilter.MultiValue.Values;
multiValues.Add((int)Task.TaskStatus.NotStarted);
multiValues.Add((int)Task.TaskStatus.InProgress);
remoteFilters.Add(remoteFilter);
remoteFilter = new RemoteFilter();
remoteFilter.PropertyName = "PlannedDate";
remoteFilter.DateRangeValue = new DateRange();
remoteFilter.DateRangeValue.StartDate = DateTime.Parse("2/1/2007");
remoteFilter.DateRangeValue.EndDate = DateTime.Parse("2/28/2007");
remoteFilters.Add(remoteFilter);
RemoteTestSet[] remoteTestSets = spiraImportExport.TestSet_Retrieve(remoteFilters.ToArray(), 1, 999999);
Retrieves a single test set/folder in the system
The id of the test set/folder
Test Set object
Retrieves all testSets owned by the currently authenticated user
List of testSets
Updates a test set in the system
The updated test set object
Deletes a test set / folder in the system
The id of the test set / folder
Moves a test set to another location in the hierarchy
The id of the test set we want to move
The id of the test set folder it's to be inserted inside (or null to be at the root)Retrieves comments for a specified test set.
The ID of the test set to retrieve comments for.
An array of comments associated with the specified test set.Creates a new comment for a test set.
The remote comment.
The RemoteComment with the comment's new ID specified.Creates a new user in the system and adds them to the current project as the specified role
The new password for the user (leave empty if an LDAP user)
The new password retrieval question for the user (leave empty if an LDAP user)
The new password retrieval answer for the user (leave empty if an LDAP user)
The new user object (primary key will be empty)
The project role for the user (leave as null to not add user to current project)
The populated user object - including the primary keyRetrieves a single user in the system
The id of the user
The user objectRetrieves a single user in the system by user-name
The login of the user
The user objectTries to delete the specified user ID. Note that this function will fail if any other foreign keys (fields) in other tables are assigned to the user that is specified.) Must be connected to the API as the root Administrator.
The user ID to delete.
Retrieves the list of automation hosts in the current project
The array of filters
The sort to be applied
The starting row (1-based)
The number of rows to retrieve
List of automation host objects
Retrieves a single automation host by its id
The id of the automation host
The automation host object
Retrieves a single automation host by its token name
The automation host's token name
The automation host object
Token names are only unique within a project
Creates a new automation host in the system
The new automation host object (primary key will be empty)
The populated automation host object - including the primary key
Updates an automation host in the system
The updated task object
Deletes a automation host in the system
The id of the automation host
Retrieves a single automation engine record by its Token
The token of the engine
The automation engine data object
Retrieves the list of automation engines in the system
Do we only want the active ones
List of automation engine data objectsCreates a new Automation Engine in the system.
The new automation engine
The newly-created Automation Engine.
Retrieves a single automation engine record by its ID
The id of the engine
The automation engine data object
Retrieves the list of builds that are associated with a specific Release
The list of filters to apply
The number of rows to return
The first row to return (starting with 1)
The release we're interested in
The sort to apply (pass null for default)
List of builds
Retrieves the a single build (and associated source code revisions) by its id
The release we're interested in
The id of the build to retrieve
A single build object
Creates a new build in the system, including any linked source code revisions
The new build object (primary key will be empty)
The populated build object - including the primary key
Retrieves the list of custom properties configured for the current project and the specified artifact type
The id of the type of artifact
Should we include deleted custom properties
The list of custom properties
1) Includes the custom list and custom list value child objects
2) The custom list values objects will include both active and inactive values, so need to check the flag before displaying
RemoteCustomProperty[] remoteCustomProperties = spiraImportExport.CustomProperty_RetrieveForArtifactType((int)DataModel.Artifact.ArtifactTypeEnum.Requirement, false);
Adds a new custom list into the project
The new custom list object
The custom list object with the primary key set
Also adds any custom list values if they are provided
RemoteCustomListValue remoteCustomListValue = new RemoteCustomListValue();
remoteCustomListValue.Name = "Feature";
remoteCustomListValue.Active = true;
RemoteCustomList remoteCustomList = new RemoteCustomList();
remoteCustomList.Name = "Req Types";
remoteCustomList.Active = true;
remoteCustomList.Values = new RemoteCustomListValue[] { remoteCustomListValue };
customListId1 = spiraImportExport.CustomProperty_AddCustomList(remoteCustomList).CustomPropertyListId.Value;
Adds a new custom property list value into the system
The new custom list value object being added
custom list value object with its primary key set
remoteCustomListValue = new RemoteCustomListValue();
remoteCustomListValue.CustomPropertyListId = customListId1;
remoteCustomListValue.Name = "Technical Quality";
remoteCustomListValue.Active = true;
customValueId2 = spiraImportExport.CustomProperty_AddCustomListValue(remoteCustomListValue).CustomPropertyValueId.Value;
Adds a new custom property definition to the project for the specified artifact type
The new custom property definition
The id of the associated custom list (if a list property)
The custom property definition with the primary key populated
RemoteCustomProperty remoteCustomProperty = new RemoteCustomProperty();
remoteCustomProperty.ArtifactTypeId = (int)DataModel.Artifact.ArtifactTypeEnum.Requirement;
remoteCustomProperty.ProjectId = projectId1;
remoteCustomProperty.PropertyNumber = 2;
remoteCustomProperty.CustomPropertyTypeId = 6; //List
remoteCustomProperty.Name = "Req Type";
spiraImportExport.CustomProperty_AddDefinition(remoteCustomProperty, remoteCustomList.CustomPropertyListId);
Updates a custom property definition, including any associated options
The custom property definition to update
This method updates the custom property Name, IsDeleted flag, and custom property options, but does not update the list values or other fields.
To change the list values, you need to use: CustomProperty_UpdateCustomList(...)
remoteCustomProperty = spiraImportExport.CustomProperty_RetrieveForArtifactType(1, false);
remoteCustomProperty.Name = "Req Type";
spiraImportExport.CustomProperty_UpdateDefinition(remoteCustomProperty);
Deletes a custom property definition from the system, including any associated options
The id of the custom property to delete
Does a hard delete
remoteCustomProperty = spiraImportExport.CustomProperty_DeleteDefinition(5);
Retrieves a custom list by its ID, including any custom list values
The id of the custom list we want to retrieve
The custom list object (including any custom list values)
remoteCustomList = spiraImportExport.CustomProperty_RetrieveCustomListById(customListId1);
Retrieves all the custom lists in the current project
A collection of custom list data objects
Does not return the actual custom list values
RemoteCustomList[] remoteCustomLists = spiraImportExport.CustomProperty_RetrieveCustomLists();
Updates a custom list and any associated values in the system
The custom list to update
This will not add any new custom values, for that you need to use the AddCustomListValue() function
remoteCustomList = spiraImportExport.CustomProperty_RetrieveCustomListById(customListId2);
remoteCustomList.Name = "Component Names";
remoteCustomList.Values[0].Name = "Component One";
spiraImportExport.CustomProperty_UpdateCustomList(remoteCustomList);
Adds new artifact data mapping entries
The id of the plug-in we're interested in
The type of artifact the mappings are for
The list of mapping entries to add
Adds new user data mapping entries
The id of the plug-in we're interested in
The list of mapping entries to add
Removes existing artifact data mapping entries
The id of the plug-in we're interested in
The type of artifact the mappings are for
The list of mapping entries to remove
Retrieves a list of data mappings for artifact ids in the system
The type of artifact we're interested in
The id of the plug-in
The list of data mappings
Retrieves the data mapping for a custom property
The id of the plug-in
The id of the type of artifact
The id of the custom property
Data mapping object
Retrieves a list of data mappings for custom property values
The id of the plug-in
The id of the type of artifact
The id of the custom property that the values are for
The list of data mappings
Retrieves a list of data mappings for artifact field values
The field we're interested in
The id of the plug-in
The list of data mappings
Retrieves a list of data mappings for projects in the system
The id of the plug-in
The list of data mappings
Retrieves a list of data mappings for users in the system
The id of the plug-in
The list of data mappings
Returns the actual binary content of a file attachment in the system
The id of the file attachment to be retrieved
An array of bytes representing the attachment content
byte[] attachmentData = spiraImportExport.Document_OpenFile(attachmentId1);
Adds a new document (file) into the system and associates it with the provided artifact (optional)
and project folder/type (optional)
The new document object (primary key will be empty)
A byte-array containing the attachment itself in binary form
The populated document object - including the primary key and default values for project attachment type
and project folder if they were not specified
byte[] attachmentData = unicodeEncoding.GetBytes("Test Attachment Data To Be Stored");
RemoteDocument remoteDocument = new RemoteDocument();
remoteDocument.FilenameOrUrl = "test_data.xls";
remoteDocument.Description = "Sample Test Case Attachment";
remoteDocument.AuthorId = userId2;
remoteDocument.ArtifactId = testCaseId1;
remoteDocument.ArtifactTypeId = (int)DataModel.Artifact.ArtifactTypeEnum.TestCase;
attachmentId1 = spiraImportExport.Document_AddFile(remoteDocument, attachmentData).AttachmentId.Value;
Adds a new document (url) into the system and associates it with the provided artifact (optional)
and project folder/type (optional)
The new document object (primary key will be empty). PopulationFunctions.Populate the FilenameOrUrl field with the URL
The populated document object - including the primary key and default values for project attachment type
and project folder if they were not specified
remoteDocument = new RemoteDocument();
remoteDocument.FilenameOrUrl = "http://www.tempuri.org/test123.htm";
remoteDocument.Description = "Sample Test Case URL";
remoteDocument.AuthorId = userId2;
remoteDocument.ArtifactId = testCaseId2;
remoteDocument.ArtifactTypeId = (int)DataModel.Artifact.ArtifactTypeEnum.TestCase;
attachmentId3 = spiraImportExport.Document_AddUrl(remoteDocument).AttachmentId.Value;
Adds a new version to a file attachment in the system
The version data object
A byte-array containing the attachment itself in binary form
Should we make this the current version
The version data object with the primary key populated
Adds a new version to a URL attachment in the system
The version data object
Should we make this the current version
The version data object with the primary key populated
Deletes an attachment from an artifact. The attachment will still remain in the project
The id of the attachment to delete
The ID of the artifact to delete
The ID of the type of artifact being deleted
spiraImportExport.Document_DeleteFromArtifact(attachmentId2, (int)DataModel.Artifact.ArtifactTypeEnum.TestCase, testCaseId1);
Deletes an attachment from the project completely
The id of the attachment to delete
Retrieves a filtered list of documents/attachments in a project across all folders
The list of filters to apply
The sort to apply
The number of rows to return
The first row to return (starting with 1)
List of documents
RemoteFilter remoteFilter = new RemoteFilter();
remoteFilter.PropertyName = "Filename";
remoteFilter.StringValue = "test_data";
remoteSort.PropertyName = "Filename";
remoteSort.SortAscending = true;
remoteDocuments = spiraImportExport.Document_Retrieve(new RemoteFilter[] { remoteFilter }, remoteSort, 1, 999);
Retrieves a filtered list of documents/attachments in a project for the specified folder
The list of filters to apply
The sort to apply
The number of rows to return
The first row to return (starting with 1)
The id of the project attachment folder
List of documents
RemoteFilter remoteFilter = new RemoteFilter();
remoteFilter.PropertyName = "Filename";
remoteFilter.StringValue = "test_data";
remoteSort.PropertyName = "Filename";
remoteSort.SortAscending = true;
remoteDocuments = spiraImportExport.Document_RetrieveForFolder(projectAttachmentFolderId, new RemoteFilter[] { remoteFilter }, remoteSort, 1, 999);
Retrieves a filtered list of documents/attachments in a project attached to a specific artifact
The list of filters to apply
The sort to apply
The id of the artifact we want the attachments for
The id of the type of artifact we want to retrieve the documents for:
(Requirement = 1,
TestCase = 2,
Incident = 3,
Release = 4,
TestRun = 5,
Task = 6,
TestStep = 7,
TestSet = 8)
List of documents
remoteFilter = new RemoteFilter();
remoteFilter.PropertyName = "Filename";
remoteFilter.StringValue = "test_data2";
remoteSort.PropertyName = "AttachmentId";
remoteSort.SortAscending = true;
remoteDocuments = spiraImportExport.Document_RetrieveForArtifact((int)DataModel.Artifact.ArtifactTypeEnum.TestCase, testCaseId1, new RemoteFilter[] { remoteFilter }, remoteSort);
Adds an existing attachment to the specified artifact.
The id of the type of artifact we want to retrieve the documents for:
(Requirement = 1,
TestCase = 2,
Incident = 3,
Release = 4,
TestRun = 5,
Task = 6,
TestStep = 7,
TestSet = 8)
The id of the artifact we want the attachments for
Retrieves a single project document by its id
The id of the attachment to retrieve
The document data object
remoteDocument = spiraImportExport.Document_RetrieveById(attachmentId3);
1) For files it does not include the raw file data, you need to use Document_OpenById
2) It also retrieves the list of document versions
Retrieves a list of all the document types in the current project
Do we only want the active types
List of document types
Retrieves a list of all the document folders in the current project
List of document typesRetrieves the folder by the specified ID.
The id of the folder being retrieved
RemoteDocumentFolder
Adds a new document folder into the current project
The new document folder
The document folder with the primary key populated
Deletes an existing document folder from the current project
The id of the folder to delete
This will delete all child folders and documents/attachements
Updates the name and position of an existing folder in the project
The updated folder information
Adds a new association in the system
The association to add
The association with its primary key populated
RemoteAssociation remoteAssociation = new RemoteAssociation();
remoteAssociation.SourceArtifactId = requirementId1;
remoteAssociation.SourceArtifactTypeId = (int)DataModel.Artifact.ArtifactTypeEnum.Requirement;
remoteAssociation.DestArtifactId = incidentId1;
remoteAssociation.DestArtifactTypeId = (int)DataModel.Artifact.ArtifactTypeEnum.Incident;
remoteAssociation.Comment = "They are related";
spiraImportExport.Association_Create(remoteAssociation);
Updates the specified Association's information
The updated association information
remoteAssociation.Comment = "They are the same bugs";
spiraImportExport.Association_Update(remoteAssociation);
Currently only the comment field is updated
Retrieves a set of associations to the specified artifact
The id of the artifact type
The id of the artifact
The list of filters to apply
The sort to apply
An array of association records
RemoteSort remoteSort = new RemoteSort();
remoteSort.PropertyName = "Comment";
remoteSort.SortAscending = true;
RemoteFilter remoteFilter = new RemoteFilter();
remoteFilter.PropertyName = "ArtifactTypeId";
remoteFilter.IntValue = (int)DataModel.Artifact.ArtifactTypeEnum.Incident;
remoteAssociations = spiraImportExport.Association_RetrieveForArtifact((int)DataModel.Artifact.ArtifactTypeEnum.Incident, incidentId1, new RemoteFilter[] { remoteFilter }, remoteSort);
The source artifact type and id will be the same as the ones passed in
Adds a new incident priority to the current project
The new priority record
The priority object with the primary key populated
The color should be provide in RRGGBB hex formatReturns the number of incidents that match the filter.
The list of filters to apply
The number of items.
Adds new incident comments to incidents in the system
List of new comments to add
The list of comments with the ArtifactId populated
Adds a new incident severity to the current project
The new severity record
The severity object with the primary key populated
The color should be provide in RRGGBB hex format
Adds a new incident status to the current project
The incident status object
The incident status object with the primary key populated
Adds a new incident type to the current project
The new incident type object
The incident type object with its primary key populated
Creates a new incident in the system
The new incident object (primary key will be empty)
The populated incident object - including the primary key
Retrieves a list of incidents in the system that match the provided filter/sort
The list of filters to apply
The sort to apply
The number of rows to return
The first row to return (starting with 1)
List of incidents
Retrieves a single incident in the system
The id of the incident
Incident object
Retrieves a list of incidents in the system that are linked to a specific test case
(either through test runs or test steps)
The id of the test case
Do we only want incidents that are in one of the 'open' statuses
List of incidents
Retrieves a list of incidents in the system that are linked to a specific test run step
The id of the test run step
List of incidents
Retrieves a list of incidents in the system that are linked to a specific test step
(either directly or indirectly through test runs)
The id of the test step
List of incidents
Retrieves all open incidents owned by the currently authenticated user
List of incidents
Retrieves all new incidents added in the system since the date specified
The starting row
The maximum number of rows to return
The date after which the incident needs to have been created
List of incidents
Retrieves a list of the active incident priorities for the current project
The list of active incident priorities for the current project
Retrieves the incident resolutions for an incident
The id of the incident
List of incident comments
Retrieves a list of the active incident severities for the current project
The list of active incident severities for the current project
Retrieves a list of the active incident statuses for the current project
The list of active incident statuses for the current project
Retrieves a list of the active incident types for the current project
The list of active incident types for the current project
Retrieves the list of incident fields and their workflow status for a given type and status/step.
The current incident type
The current incident status
The list of incident fields
Will retrieve available transitions for the specied status ID for the currently logged-on user.
The current incident type
The current incident status
Is the user the detector of the incident
Is the user the owner of the incident
The list of workflow transitions
Retrieves the list of incident custom properties and their workflow state for a given type and status/step.
The current incident type
The current incident status
The list of incident custom property states
Updates an incident in the system
The updated incident object
Deletes a incident in the system
The id of the incident
Retrieves the default incident status for the current project
The default status
Retrieves the default incident type for the current project
The default incident type
Creates a new project in the system and makes the authenticated user owner of it
The new project object (primary key will be empty)
The id of an existing project to use as a template, or null to use the default template
The populated project object - including the primary key
Deletes an existing project in the system
The project being deleted
Retrieves a list of projects that the authenticated user has access to
The list of active projects
Retrieves a single project in the system
The id of the project
The project objectRetrieves the list of users that are members of the current project
List of ProjectUser objects
Refreshes the task progress and test execution status for a project.
Typically this needs to be called after TestRun_RecordAutomated3(...) API calls
to ensure the data in the system is consistent
The release we want to refresh, or pass NULL for all releases in the project
Do we want to run this in the background. If it runs in the background it will return immediately and continue processing on the server/
Otherwise the caller will have to wait until it finishes. Choosing True is better if you have a large project that will take longer to
refresh that the web service timeout, but False is better if your subsequent code relies on the data being refreshed
Retrieves a list of project roles in the system
The list of project roles
Maps a release to a test case, so that the test case is needs to be tested for that release
The release and test case mapping entry
If the mapping record already exists no error is raised
Maps a release to a test case, so that the test case is needs to be tested for that release
The release and test case mapping entries
1) If the mapping record already exists no error is raised
2) This version of the function supports an array of mappings and is faster for multiple adds
Returns the number of releases that match the filter.
The list of filters to apply
The number of items.
Creates a new release in the system
The new release object (primary key will be empty)
Do we want to insert the release under a parent release
The populated release object - including the primary key
Removes a mapping entry for a specific release and test case
The release and test case mapping entry
Retrieves all the releases and iterations belonging to the current project
Do we want just active releases?
List of releases
Retrieves a list of releases in the system that match the provided filter
The list of filters to apply
The number of rows to return
The first row to return (starting with 1)
List of releases
Retrieves a single release in the system
The id of the release
Release object
Updates a release in the system
The updated release object
Deletes a release in the system
The id of the release
Moves a release to another location in the hierarchy
The id of the release we want to move
The id of the release it's to be inserted before in the list (or null to be at the end)Retrieves comments for a specified release.
The ID of the Release/Iteratyion to retrieve comments for.
An array of comments associated with the specified release.
Retrieves the mapped test cases for a specific release
The id of the release
The list of mapped test casesCreates a new comment for a release.
The remote comment.
The RemoteComment with the comment's new ID specified.
Maps a requirement to a test case, so that the test case 'covers' the requirement
The requirement and test case mapping entry
If the coverage record already exists no error is raisedReturns the number of requirements that match the filter.
The list of filters to apply
The number of items.
Creates a new requirement record in the current project using the position offset method
The new requirement object (primary key will be empty)
The number of columns to indent the requirement by (positive for indent, negative for outdent)
The populated requirement object - including the primary key
This version is use when you want to specify the relative indentation level
spiraImportExport.Connection_Authenticate("aant", "aant");
spiraImportExport.Connection_ConnectToProject(projectId1);
//Lets add a nested tree of requirements
//First the summary item
RemoteRequirement remoteRequirement = new RemoteRequirement();
remoteRequirement.StatusId = 1;
remoteRequirement.Name = "Functionality Area";
remoteRequirement.Description = String.Empty;
remoteRequirement.AuthorId = userId1;
remoteRequirement = spiraImportExport.Requirement_Create1(remoteRequirement, 0);
requirementId1 = remoteRequirement.RequirementId.Value;
//Detail Item 1
remoteRequirement = new RemoteRequirement();
remoteRequirement.StatusId = 2;
remoteRequirement.ImportanceId = 1;
remoteRequirement.ReleaseId = releaseId1;
remoteRequirement.Name = "Requirement 1";
remoteRequirement.Description = "Requirement Description 1";
remoteRequirement.AuthorId = userId1;
remoteRequirement = spiraImportExport.Requirement_Create1(remoteRequirement, 1);
requirementId2 = remoteRequirement.RequirementId.Value;
Creates a new requirement in the system
The new requirement object (primary key will be empty)
Do we want to insert the requirement under a parent requirement
The populated requirement object - including the primary key
This version is use when you want to specify the location by parent requirement
remoteRequirement = new RemoteRequirement();
remoteRequirement.ReleaseId = releaseId1;
remoteRequirement.StatusId = 3;
remoteRequirement.ImportanceId = 1;
remoteRequirement.Name = "Test Child 1";
remoteRequirement.Description = String.Empty;
remoteRequirement.AuthorId = userId1;
remoteRequirement = spiraImportExport.Requirement_Create2(remoteRequirement, requirementId5);
int requirementId6 = remoteRequirement.RequirementId.Value;
Removes a coverage mapping entry for a specific requirement and test case
The requirement and test case mapping entry
Retrieves a list of requirements in the system that match the provided filter
The list of filters to apply
The number of rows to return
The first row to return (starting with 1)
List of requirements
Retrieves a single requirement in the system
The id of the requirement
Requirement object
Retrieves all requirements owned by the currently authenticated user
List of requirements
Retrieves the test coverage for a specific requirement
The id of the requirement
The list of mapped test cases
Updates a requirement in the system
The updated requirement object
Deletes a requirement in the system
The id of the requirement
Moves a requirement to another location in the hierarchy
The id of the requirement we want to move
The id of the requirement it's to be inserted before in the list (or null to be at the end)
Indents a requirement one position
The id of the requirement to indent
Outdents a requirement one position
The id of the requirement to outdentRetrieves comments for a specified requirement.
The ID of the Requirement to retrieve comments for.
An array of comments associated with the specified requirement.Creates a new comment for a requirement.
The remote comment.
The RemoteComment with the comment's new ID specified.
Retrieves the version number of the current installation.
A RemoteVersion data object.
Returns the current configuration settings for the installation.
List of remote settings objects (name, value)
The user counts are returned even if not authenticated, since needed by the hosting monitoring service
Returns the application-relative URL to a particular artifact in the system
The id of the type of page to return. Possible values are:
None = -1,
Login = -2,
MyPage = -3,
ProjectHome = -4,
Requirements = 1,
TestCases = 2,
Incidents = 3,
Releases = 4,
Reports = -5,
TestSets = 8,
Administration = -6,
ErrorPage = -7,
MyProfile = -8,
Tasks = 6,
Iterations = -9,
Documents = -10,
Resources = -11,
ProjectGroupHome = -12,
SourceCode = -13,
TestRuns = 5,
TestSteps = 7,
Attachment = -14,
TestStepRuns = -15,
TestExecute = -16
The project ID of the artifact. Ignored if not needed. Specifying -1 will not include ProjectPath, specifying -2 will insert the token {proj} for the ProjectID.
The ID of the artifact. Ignored if not needed, specifying -2 will insert the token {art} for the ArtifactID
The name of the tab or extra item in the URL. Null if not specified.
String of the new URL. It includes the ~ character to represent the application rootReturns the project ID number that the queried artifact exists in.
The id of the type of artifact we want to retrieve the documents for:
(Requirement = 1,
TestCase = 2,
Incident = 3,
Release = 4,
TestRun = 5,
Task = 6,
TestStep = 7,
TestSet = 8,
AutomationHost = 9)
The artifact ID.
The project #.
Creates a new task in the system
The new task object (primary key will be empty)
The populated task object - including the primary key
Retrieves a list of tasks in the system that match the provided filter/sort
The list of filters to apply
The sort to apply
The number of rows to return
The first row to return (starting with 1)
List of tasks
Retrieves a single task in the system
The id of the task
Task object
Retrieves all tasks owned by the currently authenticated user
List of tasks
Retrieves all new tasks added in the system since the date specified
The starting row
The maximum number of rows to return
The date after which the task needs to have been created
List of tasks
Updates a task in the system
The updated task objectReturns the number of tasks that match the filter.
The list of filters to apply
The number of items.
Deletes a task in the system
The id of the taskRetrieves comments for a specified task.
The ID of the task to retrieve comments for.
An array of comments associated with the specified task.Creates a new comment for a task.
The remote comment.
The RemoteComment with the comment's new ID specified.
Adds a new parameter for a test case
The new test case parameter to add
The test case parameter object with the primary key populated
The parameter name is always made lower caseReturns the number of test cases that match the filter.
The list of filters to apply
The number of items.
Creates a new test case in the system
The new test case object (primary key will be empty)
Do we want to insert the test case under a parent folder
The populated test case object - including the primary key
Creates a new test case folder in the system
The new test case object (primary key will be empty)
Do we want to insert the test case under a parent folder
The populated test case object - including the primary key
Returns the full token of a test case parameter from its name
The name of the parameter
The tokenized representation of the parameter used for search/replace
We use the same parameter format as Ant/NAnt
Retrieves a list of testCases in the system that match the provided filter
The list of filters to apply
The number of rows to return
The first row to return (starting with 1)
List of testCases
Retrieves the list of defined parameters for a test case along with the associated default value
The id of the test case
List of parameters
Retrieves the list of parameters and provided values for a test link step
The id of the test case
The id of the test step (link)
List of parameters
Retrieves a single test case/folder in the system
The id of the test case/folder
Test Case object
This also populates the test steps collection if you have the appropriate permissions
Retrieves a list of testCases in a particular release that match the provided filter
The list of filters to apply
The number of rows to return
The first row to return (starting with 1)
The release we're interested in
List of testCases
Retrieves all the test cases that are part of a test set
The id of the test set
List of Test Case objects
Retrieves all testCases owned by the currently authenticated user
List of testCases