Milestones
The Testify API is still in alpha and is subject to change without notice. Please contact us if you have any questions.
Create, update, or delete a milestone.
GET /v1/milestones/:projectId
Gets all milestones for the given project.
Query Parameters
Relations should be specified as a comma-separated list of values. Valid relations for this endpoint are:
test_runs
- All valid relations for test runs
{
limit?: number;
offset?: number;
relations?: string;
}
Response
{
milestones: {
id: string;
createdAt: Date;
createdBy: string;
updatedAt: Date;
updatedBy: string;
displayId: number;
name: string;
testRuns?: {
id: string;
createdAt: Date;
createdBy: string;
updatedAt: Date;
updatedBy: string;
displayId: number;
name: string;
milestoneId?: string;
tests?: {
id: string;
createdAt: Date;
createdBy: string;
updatedAt: Date;
updatedBy: string;
displayId: number;
name: string;
preconditions: string;
steps: {
action: string;
expectation: string;
}[];
assignedTo: string;
result: "passed" | "failed" | "inProgress" | "untested";
case?: {
id: string;
createdAt: Date;
createdBy: string;
updatedAt: Date;
updatedBy: string;
displayId: number;
name: string;
preconditions: string;
comments?: {
id: string;
createdAt: Date;
createdBy: string;
updatedAt: Date;
updatedBy: string;
content: string;
}[];
steps: {
action: string;
expectation: string;
}[];
customFields: { [key: string]: any };
};
caseId: string;
comments?: {
id: string;
createdAt: Date;
createdBy: string;
updatedAt: Date;
updatedBy: string;
content: string;
}[];
}[];
results?: {
total: number;
passed: number;
failed: number;
inProgress: number;
untested: number;
};
}[];
}[];
pagination: {
total: number;
limit: number;
offset: number;
};
}
PUT /v1/milestones/:projectId
Create a new milestone for the given project.
Request Body
{
name: string;
testRunIds: string[];
}
Response
{
milestone: {
id: string;
createdAt: Date;
createdBy: string;
updatedAt: Date;
updatedBy: string;
displayId: number;
name: string;
};
}
POST /v1/milestones/:milestoneId
Update an existing milestone.
Request Body
Request Body
{
name?: string;
testRunIds?: string[];
}
Response
{
milestone: {
id: string;
createdAt: Date;
createdBy: string;
updatedAt: Date;
updatedBy: string;
displayId: number;
name: string;
};
}
DELETE /v1/milestones/:milestoneId
Delete an existing milestone.
Response Body
A successful response will return a response with a status code of 200
and no data
parameter:
{
"ok": true,
"requestId": string,
"duration": number,
}
GET /v1/milestones/milestone/:identifier
Get a specific milestone by its identifier. An identifier is different from the milestone ID and is in the form of PROJ-M###
, where PROJ
is the project identifier.
Query Parameters
Relations should be specified as a comma-separated list of values. Valid relations for this endpoint are:
test_runs
- All valid relations for test runs
{
relations?: string;
}
Response
{
milestone: {
id: string;
createdAt: Date;
createdBy: string;
updatedAt: Date;
updatedBy: string;
displayId: number;
name: string;
testRuns?: {
id: string;
createdAt: Date;
createdBy: string;
updatedAt: Date;
updatedBy: string;
displayId: number;
name: string;
milestoneId?: string;
tests?: {
id: string;
createdAt: Date;
createdBy: string;
updatedAt: Date;
updatedBy: string;
displayId: number;
name: string;
preconditions: string;
steps: {
action: string;
expectation: string;
}[];
assignedTo: string;
result: "passed" | "failed" | "inProgress" | "untested";
case?: {
id: string;
createdAt: Date;
createdBy: string;
updatedAt: Date;
updatedBy: string;
displayId: number;
name: string;
preconditions: string;
comments?: {
id: string;
createdAt: Date;
createdBy: string;
updatedAt: Date;
updatedBy: string;
content: string;
}[];
steps: {
action: string;
expectation: string;
}[];
customFields: { [key: string]: any };
};
caseId: string;
comments?: {
id: string;
createdAt: Date;
createdBy: string;
updatedAt: Date;
updatedBy: string;
content: string;
}[];
}[];
results?: {
total: number;
passed: number;
failed: number;
inProgress: number;
untested: number;
};
}[];
};
}