×
Find plugins

Cucumber Living Documentation1.0.11Minimum Jenkins requirement: 1.580.1ID: cucumber-living-documentation

Installs: 394
Last released: 7 days ago
Maintainers
Rafael M. Pestano
Dependencies
No dependencies found

Plugin Information

Plugin ID

cucumber-living-documentation

Changes

In Latest Release
Since Latest Release

Latest Release
Latest Release Date
Required Core
Dependencies

1.0.11 (archives)
Sep 15, 2017
1.580.1

Source Code
Issue Tracking
Pull Requests
Maintainer(s)

GitHub
Open Issues
Pull Requests
Rafael M. Pestano (id: rmpestano)

Usage

Installations

2016-Sep 156
2016-Oct 160
2016-Nov 177
2016-Dec 178
2017-Jan 209
2017-Feb 236
2017-Mar 265
2017-Apr 287
2017-May 330
2017-Jun 327
2017-Jul 344
2017-Aug 394

Brings Cucumber living documentation to your continuous integration environment via Cukedoctor.

How it works?

The plugin first looks for Cucumber json files, generated by your BDD tests, on your build workspace. After it parses the files and transforms them into html and pdf documentation making them available into your Jenkins build.

To generate Cucumber json output files use the json formatter:

@RunWith(Cucumber.class)
@CucumberOptions(plugin ={"json:target/cucumber.json"})

Usage

After installing the plugin, you'll get a new Post build action entry named Living documentation:

Configuration

Here are the possible plugin configuration:

Accessing documentation

When the plugin is enabled in your job it adds a link which will take you to the current project documentation:

 

The plugin only stores the last generated documentation.

 

If you choice format all in configuration then two links will be added in the side panel to take you to different documentation formats:

Documentation examples

Here is a documentation example generated by the plugin based on a cucumber json output file:

The feature file for the above sample can be found here.

For more examples access here.


Jenkins pipeline step

Following is an example of pipeline step using this plugin:

 

node {
    step([$class: 'CukedoctorPublisher', featuresDir: '', format: 'HTML', hideFeaturesSection: false, hideScenarioKeyword: false, hideStepTime: false, hideSummary: false, hideTags: false, numbered: true, sectAnchors: true, title: 'Living Documentation', toc: 'RIGHT'])
  }

 

Since version 1.0.10 it is possible to use the livingDocs shortcut in pipeline DSL:

 

node {
    svn 'https://subversion.assembla.com/svn/cucumber-json-files/trunk'
    livingDocs()
}

 

Parameters should be declared as key'value' as example below:

 

node {
    svn 'https://subversion.assembla.com/svn/cucumber-json-files/trunk'
    livingDocs(featuresDir:'cukedoctor')
}

 

Or using the declarative pipeline:


pipeline {
    agent any
    stages {
        stage('Checkout') {
            steps {
                svn 'https://subversion.assembla.com/svn/cucumber-json-files/trunk'
                livingDocs(featuresDir:'cukedoctor')
            }
        }
    }
}

 

PDF output

Unfortunately Jenkins runtime uses a very old JRuby runtime (see details here) and pdf generation will be extremely slow.

If you really need the PDF output an alternative is to use Cukedoctor maven plugin or Cukedoctor cli but none will link the documentation into Jenkins job.

Since version 1.0.11 the plugin runtime was updated and there should be no issues with PDF output anymore.

 Docker

An easy way to test this plugin is using a docker container, here are the steps (assuming you have docker installed):

  1. Run the image: 

    docker run -it -p 8080:8080 rmpestano/jenkins-living-documentation
  2. Access http://localhost:8080/ and create a job;
  3. Configure this svn repository: https://subversion.assembla.com/svn/cucumber-json-files/trunk

    This repository contains cucumber json sample files for the living documentation plugin.

  4. Add the Living documentation post build action;
  5. Now you can run the job

use featuresDir to point to specific json output, eg: cukedoctor.

 

Job output should look like:

Change Log

Version 1.0.11 (sep 15, 2017)
  • #8 Updates to latest Asciidoctor.
Version 1.0.10 (aug 13, 2017)
  • #7 Simplifies pipeline script execution.
Version 1.0.9 (aug 7, 2017)
  • Fixes documentation link in job console.
Version 1.0.8 (aug 6, 2017)
Version 1.0.7 (fev 7, 2017)
  • Support for Jenkins 2 pipelines
Version 1.0.6 (out 24, 2016)
  • Updates to Cukedoctor 1.0.6;
  • Documentation layout configuration:
    1. Hide 'Features' section;
    2. Hide summary;
    3. Hide 'scenario' and 'scenario outline' keyword on generated documentation;
    4. Hide step execution time;
    5. Hide tags.
ArchivesGet past versions
Labels
This plugin has no labels