test-results-notifier
v0.2.17
Published
Tests slack notifier
Downloads
16
Readme
Test Results Notifier
Installation
yarn add --dev test-results-notifier
Usage
import { ResultsReader, SlackNotifier } from "test-results-notifier";
const notifier = new SlackNotifier(
'https://reports.com/reports',
'https://gitlab.pipeline.url',
);
const hook = 'http://slack.chat.hook';
const results = ResultsReader.readCustomResultsFile('path-to-results.json');
const message = notifier.prepareMessage(
'Tests name',
results,
'tests_folder_prefix',
'pipeline_id',
);
notifier.post(hook, message);
Reference
ResultReader
readCustomResultsFile(path: string): Results
Reads JSON file and returns results as Results
object. Accepts JSON:
{
"finished": 1,
"passed": 1,
"retries": 0,
"time": 0,
"failed": 0,
"exitCode": 0
}
readJunitResultFile(path: string): Promise<Results>
Reads jUnit type XML report file and returns results as Promise<Results>
.
Results
object:
interface Results{
finished: number;
passed: number;
retries: number;
failed: number;
skipped: number;
disabled: number;
time: string;
exitCode: number;
}
SlackNotifier
Accepts reportsDirUrl
as root directory for reports and pipelineUrl
as main page of project pipelines
prepareMessage
prepareMessage(name: string,
results: Results,
reportPrefix: string,
pipelineNumber: string,
environment?: string,
featureBranch?:
stringcallerProject?: string,
callerPipeline?: string): Message
Prepare message for further send. Returns Message
object
sendToSlack
sendToSlack(hook: string, message: Message);
Send a message to the slack channel
Message
object:
interface Message {
title: string;
body: string;
exitCode: number;
}
MetricsToInfluxDb
Send test execution results to InfluxDb.
prepareMessage
prepareMessage(
environment: string,
measurement: string,
project: string,
results: Results
) : string;
Prepare message for further send. Returns String
message.
sendMetrics
sendMetrics(url: string, username: string, password: string, message: string);
Sends metrics to InfluxDb. 'url' should contain ?db=dbName param
Tests
yarn test
Contributing
In lieu of a formal style guide, take care to maintain the existing coding style. Add unit tests for any new or changed functionality. Lint and test your code.