An open API service indexing awesome lists of open source software.

https://github.com/ctco/zephyr-sync

Tool to synchronize test results to Zephyr (test management add-on for JIRA)
https://github.com/ctco/zephyr-sync

Last synced: 9 months ago
JSON representation

Tool to synchronize test results to Zephyr (test management add-on for JIRA)

Awesome Lists containing this project

README

          

[![wercker status](https://app.wercker.com/status/5f663d10cb826a4ebbbfaa7d2f6f1420/s/master "wercker status")](https://app.wercker.com/project/byKey/5f663d10cb826a4ebbbfaa7d2f6f1420)

# Zephyr Sync

## Overview

Zephyr Sync is a tool, that allows your project to perform synchronization of automated test results to Zephyr - a JIRA addon for Test Management. The advanced configuration of the tool supports multiple report types to work with, as well as some restrictions to be applied during the sync.

## Usage example

### Maven

All changes should be done inside `pom.xml`.

#### Using zephyr-sync-maven-plugin (recommended)

The configuration is very simple and should be done in `pom.xml`
(note that this example is given for `cucumber`, other reports like `allure` are configured in the similar way):

```

lv.ctco.zephyr
zephyr-sync-maven-plugin
${zephyr-sync.version}


lv.ctco.zephyr
zephyr-sync-report-cucumber
${zephyr-sync.version}



TECXYZ01
${env.TECXYZ01_PWD}
cucumber
XYZ
http://jira.yourcompany.com/rest/
1.0
${project.build.directory}/cucumber-report/report.json

```

#### Using maven-exec-plugin (deprecated)
First of all - declare dependency to `zephyr-sync-core`:

```

...

lv.ctco.zephyr
zephyr-sync-core
${zephyr-sync.version}

```

Also configure a Maven plugin that will trigger synchronization to JIRA:

```

org.codehaus.mojo
exec-maven-plugin
1.3.1


default-cli

java


lv.ctco.zephyr.Runner

--username=TECXYZ01
--password=${env.TECXYZ01_PWD}
--reportType=cucumber
--projectKey=XYZ
--releaseVersion=1.0
--jiraUrl=http://jira.yourcompany.com/rest/
--reportPath=${project.build.directory}/cucumber-report/report.json



```

This example shows only minimal set of mandatory attributes.
For complete list of attributes refer to sections below.

### Command Line Interface

```
java -jar zephyr-sync-cli-${zephyr-sync.version}-all-in-one.jar --username=SPCABC --password=123456 --reportType=cucumber --projectKey=ABC --releaseVersion="Release 2.1" --jiraUrl=http://jira.yourcompany.com/rest/ --reportPath=build/cucumber-report/report.json
```

### Using Gradle (using CLI)
```
task zephyrSync {
javaexec {
main = "lv.ctco.zephyr.Runner"
classpath = sourceSets.main.output + sourceSets.test.output
args = ["--username=SPCABC", "--password=123456", "--reportType=cucumber", "--projectKey=ABC",
"--releaseVersion=Release 2.1", "--jiraUrl=http://jira.yourcompany.com/rest/", "--reportPath=build/cucumber-report/report.json"]
}
}
```

## Configuration properties

This is the list of possible configuration items:

Property | Meaning | Is mandatory? | Default value | Example
--- | --- | --- | --- | ---
username | User name used to connect to JIRA | yes | | `TECXYZ01`
password | Password for the user to connect to JIRA | yes | | `password`
reportType | Type of report that will be synchronized to Zephyr | yes | | One of `cucumber`, `allure`, `junit` or `nunit`
projectKey | Key of project in JIRA | yes | | `XYZ`
releaseVersion | FixVersion of a project to link Test results to | yes | | `1.0`
testCycle | Zephyr test cycle where the results will be linked to | yes | |
jiraUrl | URL of JIRA (it's RESTful API endpoint) | yes | | `http://jira.yourcompany.com/jira/rest/
reportPath | Path on the file system where reports are stored | yes | | For cucumber: `${project.build.directory}/cucumber-report/report.json`
orderedSteps | If set to true, numerical prefix for test steps will be put (hierarchical) | no | `false` |
forceStoryLink | If set to true, sync will be failed in case at least one test doesn't have @Stories=ABC-XXX annotation | no | `true` |
generateTestCaseUniqueId | Name of JIRA attribute that is used to store unique ID of test case (will be used for test case tracking, updates and linking) | no | `false` |
severityAttribute | Name of JIRA attribute that stores 'Severity' attribute | no | |
autoCreateTestCycle | Should new test cycle be created automatically | no | `true` |
assignee | Specify an Assignee | no | |
linkType | Link type between Test issue and related story (used in combination with `@Stories` annotation) | no | `Reference` |
linkDirection | Link direction between Test issue and related story | no | `inward` | One of `inward` or `outward`