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

# Allure RSpec configuration

To customize behavior of the [Allure RSpec](/docs/rspec/) integration:

1. Create or edit a helper file to run at the beginning of each RSpec run, e.g., `spec/spec_helper.rb`.

1. In the helper file, require the `allure-rspec` module and run the `AllureRspec.configure()` function. The function yields a block with single argument `config`, in which you can modify various configuration parameters.

   ```ruby
   require 'allure-rspec'

   AllureRspec.configure do |config|
     config.results_directory = 'allure-results'
     config.clean_results_directory = true
     config.ignored_tags = [:retry, :retry_wait]
   end
   ```

1. In the project's [`.rspec`](https://rspec.info/documentation/3.12/rspec-core/#store-command-line-options-rspec) file, add a `--require` directive for running the helper file, for example:

   ```plain
   --format AllureRspecFormatter --require spec_helper
   ```

## results_directory

Path to the directory where Allure RSpec 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 “reports/allure-results”.

```ruby
require 'allure-rspec'

AllureRspec.configure do |config|
  config.results_directory = 'allure-results'
end
```

## clean_results_directory

If set to `true`, the results directory will be cleaned before generating new test results.

By default, the existing data is kept intact, which allows combining results of multiple test runs into a single test report.

```ruby
require 'allure-rspec'

AllureRspec.configure do |config|
  config.clean_results_directory = true
end
```

## issue_tag, tms_tag

The names of the RSpec metadata keys that will be used to add [issue links and TMS links](/docs/rspec-reference/#link) to the test result. Default to “issue” and “tms”.

```ruby
require 'allure-rspec'

AllureRspec.configure do |config|
  config.issue_tag = 'bug'
  config.tms_tag = 'test'
end
```

See also: [`link_issue_pattern` and `link_tms_pattern`](#link_issue_pattern-link_tms_pattern).

## severity_tag

The name of the RSpec metadata key that will be used to specify a test's [severity](/docs/rspec-reference/#severity). Defaults to “severity”.

```ruby
require 'allure-rspec'

AllureRspec.configure do |config|
  config.severity_tag = 'priority'
end
```

## epic_tag, feature_tag, story_tag

The names of the RSpec metadata keys that will be used to specify a test's location in the [behavior-based hierarchy](/docs/rspec-reference/#behavior-based-hierarchy). Default to “epic”, “feature” and “story”.

```ruby
require 'allure-rspec'

AllureRspec.configure do |config|
  config.epic_tag = 'theme'
  config.feature_tag = 'functionality'
  config.story_tag = 'task'
end
```

## ignored_tags

The names of tags that should not be processed when adding [tags](/docs/rspec-reference/#tag) via RSpec metadata. Use this to exclude tags that you set for purposes unrelated to Allure Report, e.g., for other RSpec plugins.

Note that even when a tag is ignored, you still will be able to add it to the test result using the `Allure.tag()` function.

```ruby
require 'allure-rspec'

AllureRspec.configure do |config|
  config.ignored_tags = [:retry, :retry_wait]
end
```

## logger, logging_level

Configure the logger to which Allure RSpec will send messages about the beginning and end of each test or test step.

```ruby
require 'allure-rspec'

AllureRspec.configure do |config|
  config.logger = Logger.new($stdout, Logger::DEBUG)
  config.logging_level = Logger::INFO
end
```

## link_issue_pattern, link_tms_pattern

Define templates that can be used to construct full URLs from short identifiers, see the [reference](/docs/rspec-reference/#link). The pattern must contain `{}` at the position where the identifier should be placed.

```ruby
require 'allure-rspec'

AllureRspec.configure do |config|
  config.link_issue_pattern = 'https://issues.example.org/{}'
  config.link_tms_pattern = 'https://tms.example.org/{}'
end
```

See also: [`issue_tag` and `tms_tag`](#issue_tag-tms_tag).

## environment_properties

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

```ruby
require 'allure-rspec'

AllureRspec.configure do |config|
  config.environment_properties = {
    os_platform: RbConfig::CONFIG['host_os'],
    ruby_version: RUBY_VERSION,
  }
end
```

## categories

Path to the [categories file](/docs/how-it-works-categories-file/). Allure RSpec will copy this file to the result directory, so that it can be used for analyzing the test results in the report.

```ruby
require 'allure-rspec'

AllureRspec.configure do |config|
  config.categories = File.new("my_custom_categories.json")
end
```
