Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
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 4 hours 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 (over 4 years ago)
- Default Branch: main
- Last Pushed: 2023-05-10T19:58:53.000Z (over 1 year ago)
- Last Synced: 2025-02-04T09:36:43.271Z (3 days ago)
- Topics: client, isomorphic, testrail
- Language: TypeScript
- Homepage:
- Size: 167 KB
- Stars: 16
- Watchers: 5
- Forks: 8
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
# @dlenroc/testrail · [![NPM Version](https://img.shields.io/npm/v/@dlenroc/testrail)](https://www.npmjs.com/package/@dlenroc/testrail) [![Supported Node.js version](https://img.shields.io/node/v/@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
```