---
title: Allure CodeceptJS configuration
description: Configuration properties for Allure CodeceptJS | Change allure-results directory
---

# Allure CodeceptJS configuration

The [Allure CodeceptJS](/docs/codeceptjs/) integration behavior can be affected by some configuration options set in your [CodeceptJS configuration file](https://codecept.io/configuration/), e.g., `codecept.conf.js`. For example:

```js
const { setCommonPlugins } = require("@codeceptjs/configure");
const { Status } = require("allure-js-commons");
const os = require("node:os");

setCommonPlugins();

/** @type {CodeceptJS.MainConfig} */
exports.config = {
  tests: "tests/**/*.js",
  plugins: {
    allure: {
      enabled: true,
      require: "allure-codeceptjs",
      resultsDir: "allure-results",
      links: {
        issue: {
          nameTemplate: "Issue #%s",
          urlTemplate: "https://issues.example.com/%s",
        },
        tms: {
          nameTemplate: "TMS #%s",
          urlTemplate: "https://tms.example.com/%s",
        },
        jira: {
          urlTemplate: (v) => `https://jira.example.com/browse/${v}`,
        },
      },
      categories: [
        {
          name: "foo",
          messageRegex: "bar",
          traceRegex: "baz",
          matchedStatuses: [Status.FAILED, Status.BROKEN],
        },
      ],
      environmentInfo: {
        os_platform: os.platform(),
        os_release: os.release(),
        os_version: os.version(),
        node_version: process.version,
      },
    },
  },
};
```

## resultsDir

Path to the directory where Allure CodeceptJS will save the test results, see [How it works](/docs/how-it-works/). If the directory does not exist, it will be created. Defaults to `allure-results`.

## links

A mapping of templates that can be used to construct full URLs from short identifiers.

For each type of link (see [`allure.link()`](/docs/codeceptjs-reference/#link)), you can specify the following:

- `nameTemplate` — a template or a function for generating the link name when it is not provided.
- `urlTemplate` — a template or a function for generating the link address when it is not provided.

The templates can be strings (with `%s` where the identifier should be placed) or functions (accepting the identifier and returning the URL).

For example, with the configuration above, `await allure.issue("123")` will produce a link with the name `Issue #123` and the address `https://issues.example.com/`. Allure will display the link with the appropriate icon for the `issue` type.

## categories

Define custom categories that will be used to distinguish test results by their errors; see [Categories](/docs/categories/).

This setting is an array, each item being an object representing one custom category. The objects may have the following properties:

- `name` — a category name.
- `messageRegex` — a regular expression that the test result's message should match.
- `traceRegex` — a regular expression that the test result's trace should match.
- `matchedStatuses` — an array of statuses that the test result should be one of.
- `flaky` — whether the test result should be marked as [flaky](/docs/test-stability/#flaky-tests).

## environmentInfo

Key-value pairs that will be displayed on the report's main page, see [Environment information](/docs/v2/readability/#environment-information).
