Плагин Xray-Maven — testPlanKey/fixVersion/testEnvironment не заполняется в Jira

Использование Serenity 4.0.1 для создания отчета огурца.json и плагина xray maven для публикации в Jira.

В основном он работает нормально: в Jira создаются тестовые выполнения и заполняются результаты. Единственная проблема заключается в том, что они не связаны с указанными планами тестирования, а поля Environment/fixVersion также не заполняются.

Ссылаясь на эту документацию: https://docs.getxray.app/display/XRAY/Integration+with+Maven#IntegrationwithMaven-Importingtestautomationresults

Я пробовал использовать как параметры командной строки (которые я использую для предоставления учетных данных Jira), так и настройку конфигурации плагина pom (где я, среди прочего, предоставляю JiraBaseUrl). Итак, я знаю, что оба метода работают, но, похоже, не для этих трех полей.

Вот зарегистрированный ответ, который я получаю от плагина:

[INFO] response: {"testExecIssue":{"id":"16065764","key":"E2E-583","self":"https://jira.test.com/rest/api/2/issue/16065764"},"testIssues":{"success":[{"id":"16037818","key":"E2E-576","self":"https://jira.test.com/rest/api/2/issue/16037818","testVersionId":1433450}]},"infoMessages":[]}

Вот моя конфигурация плагина:

    <plugin>
        <groupId>app.getxray</groupId>
        <artifactId>xray-maven-plugin</artifactId>
        <version>0.7.3</version>
        <configuration>
            <cloud>false</cloud>
            <jiraBaseUrl>https://jira.test.com</jiraBaseUrl>
            <projectKey>E2E</projectKey>
            <testEnvironment>UAT</testEnvironment>
            <fixVersion>1.0</fixVersion>
            <testPlanKey>E2E-577</testPlanKey>
            <reportFormat>cucumber</reportFormat>
            <reportFile>target/cucumber.json</reportFile>
        </configuration>
        <executions>
            <execution>
                <id>import-results</id>
                <phase>post-integration-test</phase>
                <goals>
                    <goal>import-results</goal>
                </goals>
            </execution>
        </executions>
    </plugin>

И вот моя команда maven:

clean verify -e -X -Dcucumber.filter.tags = "@E2E_Regression" -Dxray.testPlanKey = "E2E-577" -Dxray.fixVersion=1.0 -Dxray.testPlanKey=E2E-577 -Dxray.testEnvironment=UAT -Dxray.jiraUsername=xxx -Dxray.jiraPassword=xxx

Интересно, почему эти поля вообще не заполняются?

Не удалось выполнить цель org.apache.maven.plugins
Не удалось выполнить цель org.apache.maven.plugins
Опишу, что когда я только начинал изучать Maven, у меня не получалось компилировать и упаковывать.
Blibli Automation Journey - Как захватить сетевой трафик с помощью утилиты HAR в Selenium 4
Blibli Automation Journey - Как захватить сетевой трафик с помощью утилиты HAR в Selenium 4
Если вы являетесь веб-разработчиком или тестировщиком, вы можете быть знакомы с Selenium, популярным инструментом для автоматизации работы...
0
0
86
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Формат «огурец» внутренне использует стандартную конечную точку REST API огурца , которая пока не поддерживает передачу дополнительных параметров, как указано на странице проекта Xray Maven Plugin GitHub..

Способ удовлетворения этой потребности — использовать вместо этого многочастную конечную точку огурца; в документации приведен пример запроса API.

curl -u admin:admin -F [email protected] -F [email protected] http://yourserver/rest/raven/1.0/import/execution/cucumber/multipart

Мы также можем добиться этого с помощью плагина xray-maven-plugin. Для этого вам следует удалить projectKey, testEnvironment, fixVersion, testPlanKey как из конфигурации pom.xml, так и из соответствующих аргументов командной строки. Почему? Потому что они не обработаны. Вместо этого вам следует указать testExecInfoJson с именем файла (например, testexec.json) и содержимым, подобным следующему:

{
    "fields": {
        "project": {
            "key": "PROJECT_KEY"
        },
        "summary": "Test Execution for cucumber execution",
        "issuetype": {
            "name": "Test Execution"
        },
        "customfield_CF_TEST_ENVIRONMENT" : [
            "TEST_ENVIRONMENT_NAME"
        ],
    "customfield_CF_TEST_PLAN" : [ "TESTPLAN_KEY" ]
    },
        "fixVersions" : 
                [
                 {
                        "name": "NAME_OF_RELEASE_IN_JIRA"
                 }
                ]

}

Вам необходимо найти идентификаторы настраиваемых полей «План тестирования» и «Тестовая среда» в настройках вашего экземпляра Jira (или попросить их у администратора Jira).

Примером такого контента может быть что-то вроде:

{
    "fields": {
        "project": {
            "key": "CALC"
        },
        "summary": "Test Execution for cucumber Execution",
        "issuetype": {
            "name": "Test Execution"
        },
        "customfield_11805" : [
            "iOS"
        ],
        "fixVersions" : 
                [
                 {
                        "name": "v3.0"
                 }
                ]

        
    }
}

Большое спасибо за вашу помощь, теперь все работает намного лучше. По крайней мере, поля «План тестирования» и «Среда» теперь заполняются нормально. Однако fixVersion все еще не заполняется – есть идеи по этому поводу? Кроме того, мне интересно, есть ли простой способ заполнить эти три значения из командной строки maven? Хотелось бы иметь возможность контролировать их без необходимости внесения изменений в код, если это возможно. И я бы предпочел не включать код для создания этого файла JSON во время сборки, если я могу этого избежать.

khriskooper 16.05.2024 19:56

В конце концов это заработало путем динамического создания файла json в java. FixVersion теперь тоже работает нормально, должно быть, я сделал что-то не так с моим json или что-то в этом роде раньше.

khriskooper 20.05.2024 20:10

Другие вопросы по теме