Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

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.

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
```