2.0.3 • Published 1 month ago

qaseio v2.0.3

Weekly downloads
63
License
Apache 2.0
Repository
github
Last release
1 month ago

Qase TMS JavaScript Api Client

License

Installation

npm install qaseio

Usage

Qase.io uses API tokens to authenticate requests. You can view an manage your API keys in API tokens pages.

You must replace api_token with your personal API key.

Pure JavaScript:

var qaseio = require('qaseio');

var qase = new qaseio.QaseApi('api_token');

ES5:

import { QaseApi } from 'qaseio';

const qase = new QaseApi('api_token');

Projects

Get All Projects

This method allows to retrieve all projects available for your account. You can you limit and offset params to paginate.

qase.projects.getAll().then((res) => {
  console.log(res.data); // ProjectList{...}
});

Get a specific project

This method allows to retrieve a specific project.

qase.projects.get('PRJCODE').then((res) => {
  console.log(res.data); // ProjectInfo{...}
});

Check project exists

qase.projects.get('PRJCODE').then((exists) => {
  console.log(exists); // boolean
});

Create a new project

This method is used to create a new project through API.

import { ProjectCreate } from 'qaseio.models';

const prj = new ProjectCreate('Project title', 'CODE');
qase.projects.create(prj).then((res) => {
  console.log(res.data); // ProjectCreated{...}
});

Test cases

Get all test cases

This method allows to retrieve all test cases stored in selected project. You can you limit and offset params to paginate.

qase.cases.getAll('PRJCODE', { limit: 10, offset: 20 }).then((res) => {
  console.log(res.data); // TestCaseList{...}
});

Get a specific test case

This method allows to retrieve a specific test case.

qase.cases.get('PRJCODE', 4).then((res) => {
  console.log(res.data); // TestCaseInfo{...}
});

Check test case exists

qase.cases.exists('PRJCODE', 4).then((exists) => {
  console.log(exists); // boolean
});

Delete test case

This method completely deletes a test case from repository.

qase.cases.delete('PRJCODE', 4).then((res) => {
  console.log(res); // AxiosResponse
});

Test Suites

Get all test suites

This method allows to retrieve all test suites stored in selected project. You can you limit and offset params to paginate.

import { SuiteFilters } from 'qaseio.models';

qase.suites
  .getAll('PRJCODE', { filters: new SuiteFilters({ search: 'query' }) })
  .then((res) => {
    console.log(res.data); // SuiteList{...}
  });

Get a specific test suite

This method allows to retrieve a specific test suite.

qase.suites.get('PRJCODE', 123).then((res) => {
  console.log(res.data); // SuiteInfo{...}
});

Check test suite exists

qase.suites.exists('PRJCODE', 123).then((exists) => {
  console.log(exists); // boolean
});

Create a new test suite

This method is used to create a new test plan through API.

import { SuiteCreate } from 'qaseio.models';

qase.suites.create('PRJCODE', SuiteCreate('New test suite')).then((res) => {
  console.log(res.data); // SuiteCreated{...}
});

Update test suite

This method is used to update existing test suite through API.

import { SuiteUpdate } from 'qaseio.models';

qase.suites.update('PRJCODE', 123, SuiteUpdate('Updated suite')).then((res) => {
  console.log(res.data); // SuiteCreated{...}
});

Delete test suite

This method completely deletes a test suite from repository.

qase.suites.delete('PRJCODE', 123).then((res) => {
  console.log(res); // AxiosResponse
});

Milestones

Get all milestones

This method allows to retrieve all milestones stored in selected project. You can you limit and offset params to paginate.

import { MilestoneFilters } from 'qaseio.models';

qase.milestones
  .getAll('PRJCODE', { filters: new MilestoneFilters({ search: 'query' }) })
  .then((res) => {
    console.log(res.data); // MilestoneList{...}
  });

Get a specific milestone

This method allows to retrieve a specific milestone.

qase.milestones.get('PRJCODE', 123).then((res) => {
  console.log(res.data); // MilestoneInfo{...}
});

Check milestone exists

qase.milestones.exists('PRJCODE', 123).then((exists) => {
  console.log(exists); // boolean
});

Create a new milestone

This method is used to create a new test plan through API.

import { MilestoneCreate } from 'qaseio.models';

qase.milestones
  .create('PRJCODE', new MilestoneCreate('New milestone'))
  .then((res) => {
    console.log(res.data); // MilestoneCreated{...}
  });

Update milestone

This method is used to update existing milestone through API.

import { MilestoneUpdate } from 'qaseio.models';

test_suite = qase.milestones
  .update('PRJCODE', 123, new MilestoneUpdate('Updated suite'))
  .then((res) => {
    console.log(res.data); // MilestoneCreated{...}
  });

Delete milestone

This method completely deletes a milestone from repository.

qase.milestones.delete('PRJCODE', 123).then((res) => {
  console.log(res); // AxiosResponse
});

Shared steps

Get all shared steps

This method allows to retrieve all shared steps stored in selected project. You can you limit and offset params to paginate.

import { SharedStepFilters } from 'qaseio.models';

qase.sharedSteps
  .getAll('PRJCODE', { filters: new SharedStepFilters({ search: 'query' }) })
  .then((res) => {
    console.log(res.data); // SharedStepList{...}
  });

Get a specific shared step

This method allows to retrieve a specific shared step.

qase.sharedSteps.get('PRJCODE', 'hash').then((res) => {
  console.log(res.data); // SharedStepInfo{...}
});

Check shared step exists

qase.sharedSteps.exists('PRJCODE', 'hash').then((exists) => {
  console.log(exists); // boolean
});

Create a new shared step

This method is used to create a new shared step through API.

import { SharedStepCreate } from 'qaseio.models';

qase.sharedSteps
  .create('PRJCODE', new SharedStepCreate('New step', 'action'))
  .then((res) => {
    console.log(res.data); // SharedCreated{...}
  });

Update shared step

This method is used to update existing shared step through API.

import { SharedStepUpdate } from 'qaseio.models';

qase.sharedSteps
  .update('PRJCODE', 'hash', new SharedStepUpdate('Updated step'))
  .then((res) => {
    console.log(res.data); // SharedCreated{...}
  });

Delete shared step

This method completely deletes a shared step from repository.

qase.sharedSteps.delete('PRJCODE', 'hash').then((res) => {
  console.log(res); // AxiosResponse
});

Test plans

Get all test plans

This method allows to retrieve all test plans stored in selected project. You can you limit and offset params to paginate.

qase.plans.getAll('PRJCODE').then((res) => {
  console.log(res.data); // PlanList{...}
});

Get a specific test plan

This method allows to retrieve a specific test plan.

qase.plans.get('PRJCODE', 123).then((res) => {
  console.log(res.data); // PlanInfo{...}
});

Check test plan exists

qase.plans.exists('PRJCODE', 123).then((exists) => {
  console.log(exists); // boolean
});

Create a new test plan

This method is used to create a new test plan through API.

import { PlanCreate } from 'qaseio.models';

qase.plans
  .create('PRJCODE', new PlanCreate('New test plan', [1, 2, 3]))
  .then((res) => {
    console.log(res.data); // PlanCreated{...}
  });

Update test plan

This method is used to update existing test plan through API.

import { PlanUpdate } from 'qaseio.models';

qase.plans
  .update('PRJCODE', 123, new PlanUpdate('New test plan', [1, 2, 3]))
  .then((res) => {
    console.log(res.data); // PlanCreated{...}
  });

Delete test plan

This method completely deletes a test plan from repository.

qase.plans.delete('PRJCODE', 123).then((res) => {
  console.log(res); // AxiosResponse
});

Test runs

Get all test runs

This method allows to retrieve all test runs stored in selected project. You can you limit and offset params to paginate.

qase.runs.getAll('PRJCODE', { include: 'cases' }).then((res) => {
  console.log(res.data); // RunList{...}
});

Get a specific test run

This method allows to retrieve a specific test run.

qase.runs.get('PRJCODE', 4).then((res) => {
  console.log(res.data); // RunInfo{...}
});

Check test run exists

qase.runs.exists('PRJCODE', 4).then((exists) => {
  console.log(exists); // boolean
});

Create a new test run

This method is used to create a new test run through API.

import { RunCreate } from 'qaseio.models';

const run = new RunCreate('Test run', [1, 2, 3], { description: 'some desc' });
qase.runs.create(run).then((res) => {
  console.log(res.data); // RunCreated{...}
});

Delete test run

This method completely deletes a test run from repository.

qase.runs.delete('PRJCODE', 4).then((res) => {
  console.log(res); // AxiosResponse
});

Test run results

Get all test run results

This method allows to retrieve all test run results stored in selected project. You can you limit and offset params to paginate.

qase.results.getAll('PRJCODE').then((res) => {
  console.log(res.data); // ResultList{...}
});

Get a specific test run result

This method allows to retrieve a specific test run result.

qase.results
  .get('PRJCODE', '2898ba7f3b4d857cec8bee4a852cdc85f8b33132')
  .then((res) => {
    console.log(res.data); // ResultInfo{...}
  });

Create a new test run result

This method is used to create a new test run result through API.

import { ResultCreate, ResultStatus, ResultStepCreate } from 'qaseio.models';

const result = new ResultCreate(123, ResultStatus.PASSED, {
  comment: 'some comment',
  steps: [new ResultStepCreate(1, ResultStatus.PASSED)],
});
qase.results.create('PRJCODE', 4, result).then((res) => {
  console.log(res.data); // ResultCreated{...}
});

Update test run result

This method is used to update existing test run result through API.

import { ResultUpdate, ResultStatus, ResultStepCreate } from 'qaseio.models';

const result = new ResultUpdate(ResultStatus.PASSED, {
  comment: 'some comment',
  steps: [new ResultStepCreate(2, ResultStatus.PASSED)],
});
qase.results
  .update('PRJCODE', 4, '2898ba7f3b4d857cec8bee4a852cdc85f8b33132', result)
  .then((res) => {
    console.log(res.data); // ResultCreated{...}
  });

Delete test run result

This method completely deletes a test run result from repository.

qase.results
  .delete('PRJCODE', 4, '2898ba7f3b4d857cec8bee4a852cdc85f8b33132')
  .then((res) => {
    console.log(res); // AxiosResponse
  });

Defects

Get all defects

This method allows to retrieve all defects stored in selected project. You can you limit and offset params to paginate.

import { DefectStatus, DefectFilters } from 'qaseio.models';

qase.defects
  .getAll('PRJCODE', {
    filter: new DefectFilters({ status: DefectStatus.OPEN }),
  })
  .then((res) => {
    console.log(res.data); // DefectList{...}
  });

Get a specific defect

This method allows to retrieve a specific defect.

qase.defects.get('PRJCODE', 4).then((res) => {
  console.log(res.data); // DefectInfo{...}
});

Check defect exists

qase.defects.exists('PRJCODE', 4).then((exists) => {
  console.log(exists); // boolean
});

Resolve defect

This method is used to resolve defect through API.

qase.defects.resolve('PRJCODE', 4).then((res) => {
  console.log(res.data); // DefectUpdated{...}
});

Delete defect

This method completely deletes a defect from repository.

qase.defects.delete('PRJCODE', 4).then((res) => {
  console.log(res); // AxiosResponse
});

Custom fields

Get all custom fields

This method allows to retrieve all custom fields stored in selected project. You can you limit and offset params to paginate.

qase.customFields.getAll('PRJCODE').then((res) => {
  console.log(res.data); // CustomFieldList{...}
});

Get a specific custom field

This method allows to retrieve a specific custom field.

qase.customFields.get('PRJCODE', 123).then((res) => {
  console.log(res.data); // CustomFieldInfo{...}
});

Check custom field exists

qase.customFields.exists('PRJCODE', 123).then((exists) => {
  console.log(exists); // boolean
});

Attachments

Get all attachments

This method allows to retrieve all attachments stored in team. You can you limit and offset params to paginate.

qase.attachments.getAll().then((res) => {
  console.log(res.data); // AttachmentList{...}
});

Get a specific attachment

This method allows to retrieve a specific attachment.

qase.attachments.get('<hash>').then((res) => {
  console.log(res.data); // AttachmentInfo{...}
});

Check attachment exists

qase.attachments.exists('<hash>').then((exists) => {
  console.log(exists); // boolean
});

Upload new attachments

This method is used to upload new attachments through API. It supports different input formats

qase.attachments
  .create('PRJCODE', { value: '{"test": true}', filename: 'data.json' })
  .then((res) => {
    console.log(res.data); // AttachmentCreated{...}
  });

To upload binary attachment you should use fs:

var fs = require('fs');
const data = fs.createReadStream('/path/to/file.png');
qase.attachments
  .create('PRJCODE', { value: data, filename: 'data.png' })
  .then((res) => {
    console.log(res.data); // AttachmentCreated{...}
  });

You can specify as much files to upload as you need, according to API limits.

Delete attachment

This method completely deletes a attachment from repository.

qase.attachments.delete('<hash>').then((res) => {
  console.log(res); // AxiosResponse
});

Team

Get all team members

This method allows to retrieve all users in your team. You can you limit and offset params to paginate.

qase.users.getAll().then((res) => {
  console.log(res.data); // UserList{...}
});

Get a specific team member

This method allows to retrieve a specific user in your team.

qase.users.get(123).then((res) => {
  console.log(res.data); // UserInfo{...}
});

Check user exists

qase.users.exists(123).then((exists) => {
  console.log(exists); // boolean
});

Requirements

We maintain the reporter on LTS versions of Node. You can find the current versions by following the link

2.1.0-beta.1

1 month ago

2.1.0-beta.0

1 month ago

2.0.3

4 months ago

2.0.3-beta.1

8 months ago

2.0.3-beta.0

8 months ago

2.0.2

9 months ago

2.0.1

2 years ago

2.0.0

2 years ago

2.0.0-alpha.3

2 years ago

2.0.0-alpha.4

2 years ago

2.0.0-alpha.5

2 years ago

2.0.0-alpha.0

2 years ago

2.0.0-alpha.1

2 years ago

2.0.0-alpha.2

2 years ago

1.5.0

2 years ago

1.4.0

3 years ago

1.3.1

3 years ago

1.3.0

3 years ago

1.2.2

3 years ago

1.2.1

3 years ago

1.2.0

3 years ago

1.1.3

3 years ago

1.1.2

4 years ago

1.1.1

4 years ago

1.1.0

4 years ago

1.0.4

4 years ago

1.0.3

4 years ago

1.0.2

4 years ago

1.0.1

4 years ago

1.0.0

4 years ago

1.0.0-alpha.5

4 years ago

1.0.0-alpha.4

4 years ago

1.0.0-alpha.3

4 years ago

1.0.0-alpha.2

4 years ago

1.0.0-alpha.1

4 years ago

1.0.0-alpha.0

4 years ago

0.0.1

4 years ago