https://github.com/dlenroc/node-testrail-api
An API wrapper for TestRail with error handling and typing.
https://github.com/dlenroc/node-testrail-api
client isomorphic testrail
Last synced: about 1 year ago
JSON representation
An API wrapper for TestRail with error handling and typing.
- Host: GitHub
- URL: https://github.com/dlenroc/node-testrail-api
- Owner: dlenroc
- License: mit
- Created: 2020-07-18T23:45:34.000Z (almost 6 years ago)
- Default Branch: main
- Last Pushed: 2023-05-10T19:58:53.000Z (about 3 years ago)
- Last Synced: 2025-03-25T10:01:56.063Z (about 1 year ago)
- Topics: client, isomorphic, testrail
- Language: TypeScript
- Homepage:
- Size: 167 KB
- Stars: 16
- Watchers: 4
- Forks: 8
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
# @dlenroc/testrail · [](https://www.npmjs.com/package/@dlenroc/testrail) [](https://github.com/dlenroc/node-testrail-api/actions?query=workflow%3A"Node.js+CI")
## Installation
```bash
npm install @dlenroc/testrail --save
```
## Example
```typescript
// import TestRail from '@dlenroc/testrail';
// const TestRail = require('@dlenroc/testrail');
const api = new TestRail({
host: 'https://{organization}.testrail.net',
username: '{username}',
password: '{token/password}',
});
const projects = await api.getProjects();
console.log(projects);
```
## APIs
### Attachments
```typescript
addAttachmentToCase(caseId: number, payload: AddAttachment): Promise
```
```typescript
addAttachmentToPlan(planId: number, payload: AddAttachment): Promise
```
```typescript
addAttachmentToPlanEntry(planId: number, entryId: string, payload: AddAttachment): Promise
```
```typescript
addAttachmentToResult(resultId: number, payload: AddAttachment): Promise
```
```typescript
addAttachmentToRun(runId: number, payload: AddAttachment): Promise
```
```typescript
getAttachmentsForCase(caseId: number, filters?: Pagination): Promise
```
```typescript
getAttachmentsForPlan(planId: number, filters?: Pagination): Promise
```
```typescript
getAttachmentsForPlanEntry(planId: number, entryId: string): Promise
```
```typescript
getAttachmentsForRun(runId: number, filters?: Pagination): Promise
```
```typescript
getAttachmentsForTest(testId: number): Promise
```
```typescript
getAttachment(attachmentId: string): Promise
```
```typescript
deleteAttachment(attachmentId: string): Promise
```
### BDDs
```typescript
getBdd(caseId: number): Promise
```
```typescript
addBdd(sectionId: number, payload: AddAttachment): Promise
```
### Cases
```typescript
getCase(caseId: number): Promise
```
```typescript
getCases(projectId: number, filters?: CaseFilters): Promise
```
```typescript
getHistoryForCase(caseId: number, filters?: Pagination): Promise
```
```typescript
addCase(sectionId: number, payload: AddCase): Promise
```
```typescript
copyCasesToSection(sectionId: number, payload: CopyCasesToSection): Promise
```
```typescript
updateCase(caseId: number, payload: UpdateCase): Promise
```
```typescript
updateCases(suiteId: number, payload: UpdateCases): Promise
```
```typescript
moveCasesToSection(sectionId: number, payload: MoveCasesToSection): Promise
```
```typescript
deleteCase(caseId: number): Promise
```
```typescript
deleteCases(suiteId: number, payload: DeleteCases): Promise
```
### Case Fields
```typescript
getCaseFields(): Promise
```
```typescript
addCaseField(payload: AddCaseField): Promise
```
### Case Types
```typescript
getCaseTypes(): Promise
```
### Configurations
```typescript
getConfigs(projectId: number): Promise
```
```typescript
addConfigGroup(projectId: number, payload: AddConfigGroup): Promise
```
```typescript
addConfig(configGroupId: number, payload: AddConfig): Promise
```
```typescript
updateConfigGroup(configGroupId: number, payload: UpdateConfigGroup): Promise
```
```typescript
updateConfig(configId: number, payload: UpdateConfig): Promise
```
```typescript
deleteConfigGroup(configGroupId: number): Promise
```
```typescript
deleteConfig(configId: number): Promise
```
### Datasets
```typescript
getDataset(datasetId: number): Promise
```
```typescript
getDatasets(projectId: number, filters?: Pagination): Promise
```
```typescript
addDataset(projectId: number, payload: AddDataset): Promise
```
```typescript
updateDataset(datasetId: number, payload: AddDataset): Promise
```
```typescript
deleteDataset(datasetId: number): Promise
```
### Groups
```typecript
getGroup(groupId: number): Promise
```
```typecript
getGroups(filters?: Pagination): Promise
```
```typecript
addGroup(payload: AddGroup): Promise
```
```typecript
updateGroup(groupId: number, payload: AddGroup): Promise
```
```typecript
deleteGroup(groupId: number): Promise
```
### Milestones
```typescript
getMilestone(milestoneId: number): Promise
```
```typescript
getMilestones(projectId: number, filters?: MilestoneFilters): Promise
```
```typescript
addMilestone(projectId: number, payload: AddMilestone): Promise
```
```typescript
updateMilestone(milestoneId: number, payload: UpdateMilestone): Promise
```
```typescript
deleteMilestone(milestoneId: number): Promise
```
### Roles
```typescript
getRoles(filters?: Pagination): Promise
```
### Plans
```typescript
getPlan(planId: number): Promise
```
```typescript
getPlans(projectId: number, filters?: PlanFilters): Promise
```
```typescript
addPlan(projectId: number, payload: AddPlan): Promise
```
```typescript
addPlanEntry(planId: number, payload: AddPlanEntry): Promise
```
```typescript
addRunToPlanEntry(planId: number, entryId: string, payload: AddRunToPlanEntry): Promise
```
```typescript
updatePlan(planId: number, payload: UpdatePlan): Promise
```
```typescript
updatePlanEntry(planId: number, entryId: string, payload: UpdatePlanEntry): Promise
```
```typescript
updateRunInPlanEntry(runId: number, payload: UpdateRunInPlanEntry): Promise
```
```typescript
closePlan(planId: number): Promise
```
```typescript
deletePlan(planId: number): Promise
```
```typescript
deletePlanEntry(planId: number, entryId: string): Promise
```
```typescript
deleteRunFromPlanEntry(runId: number): Promise
```
### Priorities
```typescript
getPriorities(): Promise
```
### Projects
```typescript
getProject(projectId: number): Promise
```
```typescript
getProjects(filters?: ProjectFilters): Promise
```
```typescript
addProject(payload: AddProject): Promise
```
```typescript
updateProject(projectId: number, payload: UpdateProject): Promise
```
```typescript
deleteProject(projectId: number): Promise
```
### Reports
```typescript
getReports(projectId: number): Promise
```
```typescript
runReport(reportTemplateId: number): Promise
```
### Results
```typescript
getResults(testId: number, filters?: ResultFilters): Promise
```
```typescript
getResultsForCase(runId: number, caseId: number, filters?: ResultFilters): Promise
```
```typescript
getResultsForRun(runId: number, filters?: ResultForRunFilters): Promise
```
```typescript
addResult(testId: number, payload: AddResult): Promise
```
```typescript
addResultForCase(runId: number, caseId: number, payload: AddResult): Promise
```
```typescript
addResults(runId: number, payload: AddResults): Promise
```
```typescript
addResultsForCases(runId: number, payload: AddResultsForCases): Promise
```
### Result Fields
```typescript
getResultFields(): Promise
```
### Runs
```typescript
getRun(runId: number): Promise
```
```typescript
getRuns(projectId: number, filters?: RunFilters): Promise
```
```typescript
addRun(projectId: number, payload: AddRun): Promise
```
```typescript
updateRun(runId: number, payload: UpdateRun): Promise
```
```typescript
closeRun(runId: number): Promise
```
```typescript
deleteRun(runId: number): Promise
```
### Sections
```typescript
getSection(sectionId: number): Promise
```
```typescript
getSections(projectId: number, filters?: SectionFilters): Promise
```
```typescript
addSection(projectId: number, payload: AddSection): Promise
```
```typescript
moveSection(sectionId: number, payload: MoveSection): Promise
```
```typescript
updateSection(sectionId: number, payload: UpdateSection): Promise
```
```typescript
deleteSection(sectionId: number): Promise
```
### Shared steps
```typescript
getSharedStep(stepId: number): Promise
```
```typescript
getSharedSteps(projectId: number, filters?: SharedStepFilters): Promise
```
```typescript
getSharedStepHistory(stepId: number, filters?: Pagination): Promise {
```
```typescript
addSharedStep(projectId: number, payload: AddSharedStep): Promise
```
```typescript
updateSharedStep(stepId: number, payload: UpdateSharedStep): Promise
```
```typescript
deleteSharedStep(stepId: number, payload?: DeleteSharedStep): Promise
```
### Statuses
```typescript
getStatuses(): Promise
```
```typescript
getCaseStatuses(filters?: Pagination): Promise
```
### Suites
```typescript
getSuite(suiteId: number): Promise
```
```typescript
getSuites(projectId: number): Promise
```
```typescript
addSuite(projectId: number, payload: AddSuite): Promise
```
```typescript
updateSuite(suiteId: number, payload: UpdateSuite): Promise
```
```typescript
deleteSuite(suiteId: number): Promise
```
### Templates
```typescript
getTemplates(projectId: number): Promise
```
### Tests
```typescript
getTest(testId: number): Promise
```
```typescript
getTests(runId: number, filters?: TestFilters): Promise
```
### Users
```typescript
getUser(userId: number): Promise
```
```typescript
getCurrentUser(): Promise
```
```typescript
getUserByEmail(email: string): Promise
```
```typescript
getUsers(filters?: UserFilters): Promise
```
```typescript
addUser(payload: AddUser): Promise
```
```typescript
updateUser(userId: number, payload: AddUser): Promise
```
### Variables
```typescript
getVariables(projectId: number, filters?: Pagination): Promise
```
```typescript
addVariable(projectId: number, payload: AddVariable): Promise
```
```typescript
updateVariable(variableId: number, payload: AddVariable): Promise
```
```typescript
deleteVariable(variableId: number): Promise
```