diff --git a/jenkins_jobs/modules/publishers.py b/jenkins_jobs/modules/publishers.py
index 2ca3cd7a5..baa6e71a6 100644
--- a/jenkins_jobs/modules/publishers.py
+++ b/jenkins_jobs/modules/publishers.py
@@ -677,20 +677,30 @@ def junit(parser, xml_parent, data):
     :arg str results: results filename
     :arg bool keep-long-stdio: Retain long standard output/error in test
       results (default true).
+    :arg bool test-stability: Add historical information about test
+        results stability (default false).
+        Requires the Jenkins `Test stability Plugin
+        <https://wiki.jenkins-ci.org/display/JENKINS/Test+stability+plugin>`_.
 
-    Example::
+    Minimal example using defaults:
+
+    .. literalinclude::  /../../tests/publishers/fixtures/junit001.yaml
+
+    Full example:
+
+    .. literalinclude::  /../../tests/publishers/fixtures/junit002.yaml
 
-      publishers:
-        - junit:
-            results: nosetests.xml
-            keep-long-stdio: false
     """
     junitresult = XML.SubElement(xml_parent,
                                  'hudson.tasks.junit.JUnitResultArchiver')
     XML.SubElement(junitresult, 'testResults').text = data['results']
     XML.SubElement(junitresult, 'keepLongStdio').text = str(
         data.get('keep-long-stdio', True)).lower()
-    XML.SubElement(junitresult, 'testDataPublishers')
+    datapublisher = XML.SubElement(junitresult, 'testDataPublishers')
+    if str(data.get('test-stability', False)).lower() == 'true':
+        XML.SubElement(datapublisher,
+                       'de.esailors.jenkins.teststability'
+                       '.StabilityTestDataPublisher')
 
 
 def xunit(parser, xml_parent, data):
diff --git a/tests/publishers/fixtures/junit001.xml b/tests/publishers/fixtures/junit001.xml
new file mode 100644
index 000000000..1a229609f
--- /dev/null
+++ b/tests/publishers/fixtures/junit001.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="utf-8"?>
+<project>
+  <publishers>
+    <hudson.tasks.junit.JUnitResultArchiver>
+      <testResults>nosetests.xml</testResults>
+      <keepLongStdio>true</keepLongStdio>
+      <testDataPublishers/>
+    </hudson.tasks.junit.JUnitResultArchiver>
+  </publishers>
+</project>
diff --git a/tests/publishers/fixtures/junit001.yaml b/tests/publishers/fixtures/junit001.yaml
new file mode 100644
index 000000000..db17b641f
--- /dev/null
+++ b/tests/publishers/fixtures/junit001.yaml
@@ -0,0 +1,3 @@
+publishers:
+- junit:
+    results: nosetests.xml
diff --git a/tests/publishers/fixtures/junit002.xml b/tests/publishers/fixtures/junit002.xml
new file mode 100644
index 000000000..e807e9993
--- /dev/null
+++ b/tests/publishers/fixtures/junit002.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="utf-8"?>
+<project>
+  <publishers>
+    <hudson.tasks.junit.JUnitResultArchiver>
+      <testResults>nosetests-example.xml</testResults>
+      <keepLongStdio>false</keepLongStdio>
+      <testDataPublishers>
+        <de.esailors.jenkins.teststability.StabilityTestDataPublisher/>
+      </testDataPublishers>
+    </hudson.tasks.junit.JUnitResultArchiver>
+  </publishers>
+</project>
diff --git a/tests/publishers/fixtures/junit002.yaml b/tests/publishers/fixtures/junit002.yaml
new file mode 100644
index 000000000..045752041
--- /dev/null
+++ b/tests/publishers/fixtures/junit002.yaml
@@ -0,0 +1,5 @@
+publishers:
+- junit:
+    results: nosetests-example.xml
+    keep-long-stdio: false
+    test-stability: true