ibutsu-client-ts
v2.0.5
Published
A TypeScript client for the Ibutsu API
Maintainers
Readme
@ibutsu/client
ibutsu - JavaScript client for @ibutsu/client A system to store and query test results This SDK is automatically generated by the OpenAPI Generator project:
- API version: 1.9.0
- Package version: 1.0.0
- Build package: org.openapitools.codegen.languages.JavascriptClientCodegen
Installation
For Node.js
npm
To publish the library as a npm, please follow the procedure in "Publishing npm packages".
Then install it via:
npm install @ibutsu/client --saveFinally, you need to build the module:
npm run buildLocal development
To use the library locally without publishing to a remote npm registry, first install the dependencies by changing into the directory containing package.json (and this README). Let's call this JAVASCRIPT_CLIENT_DIR. Then run:
npm installNext, link it globally in npm with the following, also from JAVASCRIPT_CLIENT_DIR:
npm linkTo use the link you just defined in your project, switch to the directory you want to use your @ibutsu/client from, and run:
npm link /path/to/<JAVASCRIPT_CLIENT_DIR>Finally, you need to build the module:
npm run buildgit
If the library is hosted at a git repository, e.g.https://github.com/GIT_USER_ID/GIT_REPO_ID then install it via:
npm install GIT_USER_ID/GIT_REPO_ID --saveFor browser
The library also works in the browser environment via npm and browserify. After following
the above steps with Node.js and installing browserify with npm install -g browserify,
perform the following (assuming main.js is your entry file):
browserify main.js > bundle.jsThen include bundle.js in the HTML pages.
Webpack Configuration
Using Webpack you may encounter the following error: "Module not found: Error: Cannot resolve module", most certainly you should disable AMD loader. Add/merge the following section to your webpack config:
module: {
rules: [
{
parser: {
amd: false,
},
},
];
}Integration Tests
This project includes integration tests that validate the client against a real, running Ibutsu server.
Features:
- Uses native Node.js fetch (no external dependencies)
- Tests health, result, run, and project endpoints
- Handles SSL certificate issues in corporate environments
- Reports HTTP status codes for all errors
- Color-coded output for easy debugging
Quick start:
# Set Node version
nvm use 22
# Set environment variables
export IBUTSU_API="https://your-ibutsu-server.com/api"
export IBUTSU_TOKEN="your-authentication-token"
# For corporate environments with SSL issues:
export NODE_TLS_REJECT_UNAUTHORIZED=0
# Run integration tests
yarn integrationAlternatively, you can copy and edit the environment file to manage your credentials:
# Copy and edit the environment file
cp integration.env.example integration.env
nano integration.env
# Source the environment
source integration.env
# Run tests
yarn integrationGetting Started
Please follow the installation instruction and execute the following JS code:
var ibutsu = require('@ibutsu/client');
var api = new ibutsu.ArtifactApi();
var id = 'id_example'; // {String} ID of artifact to delete
api.deleteArtifact(id).then(
function () {
console.log('API called successfully.');
},
function (error) {
console.error(error);
}
);Documentation for API Endpoints
All URIs are relative to http://localhost/api
| Class | Method | HTTP request | Description | | ------------------------ | ---------------------------------------------------------------------- | ---------------------------------------- | ------------------------------------------------------------------------------------ | | ibutsu.ArtifactApi | deleteArtifact | DELETE /artifact/{id} | Delete an artifact | | ibutsu.ArtifactApi | downloadArtifact | GET /artifact/{id}/download | Download an artifact | | ibutsu.ArtifactApi | getArtifact | GET /artifact/{id} | Get a single artifact | | ibutsu.ArtifactApi | getArtifactList | GET /artifact | Get a (filtered) list of artifacts | | ibutsu.ArtifactApi | uploadArtifact | POST /artifact | Uploads a test run artifact | | ibutsu.ArtifactApi | viewArtifact | GET /artifact/{id}/view | Stream an artifact directly to the client/browser | | ibutsu.GroupApi | addGroup | POST /group | Create a new group | | ibutsu.GroupApi | getGroup | GET /group/{id} | Get a group | | ibutsu.GroupApi | getGroupList | GET /group | Get a list of groups | | ibutsu.GroupApi | updateGroup | PUT /group/{id} | Update a group | | ibutsu.HealthApi | getDatabaseHealth | GET /health/database | Get a health report for the database | | ibutsu.HealthApi | getHealth | GET /health | Get a general health report | | ibutsu.HealthApi | getHealthInfo | GET /health/info | Get information about the server | | ibutsu.ImportApi | addImport | POST /import | Import a file into Ibutsu. This can be either a JUnit XML file, or an Ibutsu archive | | ibutsu.ImportApi | getImport | GET /import/{id} | Get the status of an import | | ibutsu.ProjectApi | addProject | POST /project | Create a project | | ibutsu.ProjectApi | getProject | GET /project/{id} | Get a single project by ID | | ibutsu.ProjectApi | getProjectList | GET /project | Get a list of projects | | ibutsu.ProjectApi | updateProject | PUT /project/{id} | Update a project | | ibutsu.ReportApi | addReport | POST /report | Create a new report | | ibutsu.ReportApi | deleteReport | DELETE /report/{id} | Delete a report | | ibutsu.ReportApi | downloadReport | GET /report/{id}/download/{filename} | Download a report | | ibutsu.ReportApi | getReport | GET /report/{id} | Get a report | | ibutsu.ReportApi | getReportList | GET /report | Get a list of reports | | ibutsu.ReportApi | getReportTypes | GET /report/types | Get a list of report types | | ibutsu.ReportApi | viewReport | GET /report/{id}/view/{filename} | View a report | | ibutsu.ResultApi | addResult | POST /result | Create a test result | | ibutsu.ResultApi | getResult | GET /result/{id} | Get a single result | | ibutsu.ResultApi | getResultList | GET /result | Get the list of results. | | ibutsu.ResultApi | updateResult | PUT /result/{id} | Updates a single result | | ibutsu.RunApi | addRun | POST /run | Create a run | | ibutsu.RunApi | getRun | GET /run/{id} | Get a single run by ID | | ibutsu.RunApi | getRunList | GET /run | Get a list of the test runs | | ibutsu.RunApi | updateRun | PUT /run/{id} | Update a single run | | ibutsu.WidgetApi | getWidget | GET /widget/{id} | Generate data for a dashboard widget | | ibutsu.WidgetApi | getWidgetTypes | GET /widget/types | Get a list of widget types | | ibutsu.WidgetConfigApi | addWidgetConfig | POST /widget-config | Create a widget configuration | | ibutsu.WidgetConfigApi | deleteWidgetConfig | DELETE /widget-config/{id} | Delete a widget configuration | | ibutsu.WidgetConfigApi | getWidgetConfig | GET /widget-config/{id} | Get a single widget configuration | | ibutsu.WidgetConfigApi | getWidgetConfigList | GET /widget-config | Get the list of widget configurations | | ibutsu.WidgetConfigApi | updateWidgetConfig | PUT /widget-config/{id} | Updates a single widget configuration |
Documentation for Models
- ibutsu.Artifact
- ibutsu.ArtifactList
- ibutsu.Group
- ibutsu.GroupList
- ibutsu.Health
- ibutsu.HealthInfo
- ibutsu.InlineObject
- ibutsu.InlineObject1
- ibutsu.InlineResponse200
- ibutsu.ModelImport
- ibutsu.Pagination
- ibutsu.Project
- ibutsu.ProjectList
- ibutsu.Report
- ibutsu.ReportList
- ibutsu.ReportParameters
- ibutsu.Result
- ibutsu.ResultList
- ibutsu.Run
- ibutsu.RunList
- ibutsu.WidgetConfig
- ibutsu.WidgetConfigList
- ibutsu.WidgetParam
- ibutsu.WidgetType
- ibutsu.WidgetTypeList
Documentation for Authorization
api_key
- Type: API key
- API key parameter name: api_key
- Location: HTTP header
