Плагин Jenkins SERVER для «Zephyr for JIRA» не работает + API-интерфейсы ZAPI не могут быть вызваны - PullRequest
0 голосов
/ 28 апреля 2019

У меня есть установка, в которой Zephyr для JIRA установлен на JIRA SERVER (не в облаке).ZAPI также устанавливается на тот же экземпляр JIRA.У меня есть задание Jenkins, которое запускает пять модульных тестов JUnit4, созданных с помощью Maven и находящихся в репозитории GitLab.Я смог создать отчет Maven Surefire и с этой работой в Дженкинсе.Когда я пытаюсь «Опубликовать результаты теста в Zephyr for JIRA», этот шаг после сборки в итоге завершается неудачно с таким сообщением об ошибке:

<normal build output...>
<...>
Recording test results
[ZapiTestResultReporter] [INFO] Examining test results...
Build result is SUCCESS
Total Test Cases : 5ERROR: Build step failed with exception
org.json.JSONException: A JSONObject text must begin with '{' at 1 [character 2 line 1]
    at org.json.JSONTokener.syntaxError(JSONTokener.java:433)
    at org.json.JSONObject.<init>(JSONObject.java:194)
    at org.json.JSONObject.<init>(JSONObject.java:321)
    at com.thed.zephyr.jenkins.utils.rest.TestCaseUtil.assignTests(TestCaseUtil.java:315)
    at com.thed.zephyr.jenkins.utils.rest.TestCaseUtil.processTestCaseDetails(TestCaseUtil.java:641)
    at com.thed.zephyr.jenkins.reporter.ZfjReporter.perform(ZfjReporter.java:101)
    at hudson.tasks.BuildStepMonitor$1.perform(BuildStepMonitor.java:20)
    at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:744)
    at hudson.model.AbstractBuild$AbstractBuildExecution.performAllBuildSteps(AbstractBuild.java:690)
    at hudson.model.Build$BuildExecution.post2(Build.java:186)
    at hudson.model.AbstractBuild$AbstractBuildExecution.post(AbstractBuild.java:635)
    at hudson.model.Run.execute(Run.java:1841)
    at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43)
    at hudson.model.ResourceController.execute(ResourceController.java:97)
    at hudson.model.Executor.run(Executor.java:429)
Build step 'Publish test result to Zephyr for JIRA' marked build as failure
Started calculate disk usage of build
Finished Calculation of disk usage of build in 0 seconds
Started calculate disk usage of workspace
Finished Calculation of disk usage of workspace in 0 seconds
Finished: FAILURE

У нас есть настройка, в которой JIRA и Jenkins НЕ находятся на одном VPC наAWS.Нам пришлось открыть 8080 на обоих концах, чтобы JIRA и Jenkins могли общаться.

(Возможно, это не связано, но при настройке этого шага после сборки иногда выпадающий цикл тестирования не заполняется вручную созданным циклом.информация.)

Ничто в соответствии с документацией не кажется странным.

Вот мои два вопроса:

  1. Кто-нибудь знает, как я могуисправить эту ошибку в задании Jenkins?
  2. Я пытался вызывать конечные точки ZAPI в соответствии с этой документацией вместо использования плагина Zephyr для JIRA на Jenkins.Но когда я пытаюсь попасть, например, в конечную точку https: /// jira / rest / zapi / latest / util / zephyrTestIssueType, я получаю: Oops! Looks like you have found a broken link

Я использую обычную аутентификацию, чтобы нажатьэта конечная точка API с использованием следующего кода:

        Client client = ClientBuilder.newClient();
        Response response = client.target("https://" + jiraHostname + "/zephyr/rest/zapi/latest/cycle")
                .request(MediaType.APPLICATION_JSON_TYPE)
                .header("Authorization", "Basic " + base64UsernamePassword)
                .get();

        System.out.println("status: " + response.getStatus());
        System.out.println("headers: " + response.getHeaders());
        System.out.println("body:" + response.readEntity(String.class));

В документации по пасеке ничего не сказано о том, как попасть в конечную точку ZAPI при использовании сервера ZAPI (не облачного).Является ли 'JIRA Hostname' именем хоста для достижения конечных точек ZAPI?На Apiary разрешено только несколько предварительно настроенных имен хостов - я думаю, что это верно только для облака ZAPI.

Кто-нибудь знает правильное решение для этого или может указать мне где-нибудь документацию?

...