We are trying to log a JIRA ticket if test got failed. We can achieve this with the freestyle job but when we try to run with the Jenkinsfile it thorws below error.
15:50:50 Recording test results
15:50:50 ERROR: Could not create issue for test com.AA.webCR.SanityTestSuite.Sanity_UserManagmentTestCases.Login_First_Admin
15:50:50
15:50:50 RestClientException{statusCode=Optional.of(400), errorCollections=[ErrorCollection{status=400, errors={issuetype=valid issue type is required}, errorMessages=[]}]}
15:50:50 at com.atlassian.jira.rest.client.internal.async.DelegatingPromise.claim(DelegatingPromise.java:47)
15:50:50 at org.jenkinsci.plugins.JiraTestResultReporter.JiraUtils.createIssueInput(JiraUtils.java:114)
15:50:50 at org.jenkinsci.plugins.JiraTestResultReporter.JiraTestDataPublisher.raiseIssues(JiraTestDataPublisher.java:248)
15:50:50 at org.jenkinsci.plugins.JiraTestResultReporter.JiraTestDataPublisher.contributeTestData(JiraTestDataPublisher.java:187)
15:50:50 at hudson.tasks.junit.JUnitResultArchiver.parseAndAttach(JUnitResultArchiver.java:200)
15:50:50 at hudson.tasks.junit.pipeline.JUnitResultsStepExecution.run(JUnitResultsStepExecution.java:50)
15:50:50 at hudson.tasks.junit.pipeline.JUnitResultsStepExecution.run(JUnitResultsStepExecution.java:23)
15:50:50 at org.jenkinsci.plugins.workflow.steps.SynchronousNonBlockingStepExecution$1$1.call(SynchronousNonBlockingStepExecution.java:50)
15:50:50 at hudson.security.ACL.impersonate(ACL.java:290)
15:50:50 at org.jenkinsci.plugins.workflow.steps.SynchronousNonBlockingStepExecution$1.run(SynchronousNonBlockingStepExecution.java:47)
15:50:50 at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
15:50:50 at java.util.concurrent.FutureTask.run(FutureTask.java:266)
15:50:50 at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
15:50:50 at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
15:50:50 at java.lang.Thread.run(Thread.java:748)
15:50:50 Caused by: RestClientException{statusCode=Optional.of(400), errorCollections=[ErrorCollection{status=400, errors={issuetype=valid issue type is required}, errorMessages=[]}]}
15:50:50 at com.atlassian.jira.rest.client.internal.async.AbstractAsynchronousRestClient$2.apply(AbstractAsynchronousRestClient.java:176)
15:50:50 at com.atlassian.jira.rest.client.internal.async.AbstractAsynchronousRestClient$2.apply(AbstractAsynchronousRestClient.java:170)
15:50:50 at com.atlassian.httpclient.api.ResponsePromiseMapFunction.apply(ResponsePromiseMapFunction.java:67)
15:50:50 at com.atlassian.httpclient.api.ResponsePromiseMapFunction.apply(ResponsePromiseMapFunction.java:11)
15:50:50 at com.atlassian.util.concurrent.Promises$Of$3.apply(Promises.java:268)
15:50:50 at com.atlassian.util.concurrent.Promises$2.onSuccess(Promises.java:158)
15:50:50 at com.google.common.util.concurrent.Futures$6.run(Futures.java:975)
15:50:50 at com.google.common.util.concurrent.MoreExecutors$SameThreadExecutorService.execute(MoreExecutors.java:253)
15:50:50 at com.google.common.util.concurrent.ExecutionList$RunnableExecutorPair.execute(ExecutionList.java:149)
15:50:50 at com.google.common.util.concurrent.ExecutionList.execute(ExecutionList.java:134)
15:50:50 at com.google.common.util.concurrent.AbstractFuture.set(AbstractFuture.java:170)
15:50:50 at com.google.common.util.concurrent.SettableFuture.set(SettableFuture.java:53)
15:50:50 at com.atlassian.util.concurrent.Promises$Of$3.apply(Promises.java:268)
15:50:50 at com.atlassian.util.concurrent.Promises$2.onSuccess(Promises.java:158)
15:50:50 at com.google.common.util.concurrent.Futures$6.run(Futures.java:975)
15:50:50 at com.google.common.util.concurrent.MoreExecutors$SameThreadExecutorService.execute(MoreExecutors.java:253)
15:50:50 at com.google.common.util.concurrent.ExecutionList$RunnableExecutorPair.execute(ExecutionList.java:149)
15:50:50 at com.google.common.util.concurrent.ExecutionList.execute(ExecutionList.java:134)
15:50:50 at com.google.common.util.concurrent.AbstractFuture.set(AbstractFuture.java:170)
15:50:50 at com.google.common.util.concurrent.SettableFuture.set(SettableFuture.java:53)
15:50:50 at com.atlassian.httpclient.apache.httpcomponents.SettableFuturePromiseHttpPromiseAsyncClient$1$1.run(SettableFuturePromiseHttpPromiseAsyncClient.java:46)
15:50:50 at com.atlassian.httpclient.apache.httpcomponents.SettableFuturePromiseHttpPromiseAsyncClient$ThreadLocalDelegateRunnable$1.run(SettableFuturePromiseHttpPromiseAsyncClient.java:197)
15:50:50 at com.atlassian.httpclient.apache.httpcomponents.SettableFuturePromiseHttpPromiseAsyncClient.runInContext(SettableFuturePromiseHttpPromiseAsyncClient.java:90)
15:50:50 at com.atlassian.httpclient.apache.httpcomponents.SettableFuturePromiseHttpPromiseAsyncClient$ThreadLocalDelegateRunnable.run(SettableFuturePromiseHttpPromiseAsyncClient.java:192)
We are trying to log a JIRA ticket if test got failed. We can achieve this with the freestyle job but when we try to run with the Jenkinsfile it thorws below error.
15:50:50 Recording test results 15:50:50 ERROR: Could not create issue for test com.AA.webCR.SanityTestSuite.Sanity_UserManagmentTestCases.Login_First_Admin 15:50:50 15:50:50 RestClientException{statusCode=Optional.of(400), errorCollections=[ErrorCollection{status=400, errors={issuetype=valid issue type is required}, errorMessages=[]}]} 15:50:50 at com.atlassian.jira.rest.client.internal.async.DelegatingPromise.claim(DelegatingPromise.java:47) 15:50:50 at org.jenkinsci.plugins.JiraTestResultReporter.JiraUtils.createIssueInput(JiraUtils.java:114) 15:50:50 at org.jenkinsci.plugins.JiraTestResultReporter.JiraTestDataPublisher.raiseIssues(JiraTestDataPublisher.java:248) 15:50:50 at org.jenkinsci.plugins.JiraTestResultReporter.JiraTestDataPublisher.contributeTestData(JiraTestDataPublisher.java:187) 15:50:50 at hudson.tasks.junit.JUnitResultArchiver.parseAndAttach(JUnitResultArchiver.java:200) 15:50:50 at hudson.tasks.junit.pipeline.JUnitResultsStepExecution.run(JUnitResultsStepExecution.java:50) 15:50:50 at hudson.tasks.junit.pipeline.JUnitResultsStepExecution.run(JUnitResultsStepExecution.java:23) 15:50:50 at org.jenkinsci.plugins.workflow.steps.SynchronousNonBlockingStepExecution$1$1.call(SynchronousNonBlockingStepExecution.java:50) 15:50:50 at hudson.security.ACL.impersonate(ACL.java:290) 15:50:50 at org.jenkinsci.plugins.workflow.steps.SynchronousNonBlockingStepExecution$1.run(SynchronousNonBlockingStepExecution.java:47) 15:50:50 at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) 15:50:50 at java.util.concurrent.FutureTask.run(FutureTask.java:266) 15:50:50 at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) 15:50:50 at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) 15:50:50 at java.lang.Thread.run(Thread.java:748) 15:50:50 Caused by: RestClientException{statusCode=Optional.of(400), errorCollections=[ErrorCollection{status=400, errors={issuetype=valid issue type is required}, errorMessages=[]}]} 15:50:50 at com.atlassian.jira.rest.client.internal.async.AbstractAsynchronousRestClient$2.apply(AbstractAsynchronousRestClient.java:176) 15:50:50 at com.atlassian.jira.rest.client.internal.async.AbstractAsynchronousRestClient$2.apply(AbstractAsynchronousRestClient.java:170) 15:50:50 at com.atlassian.httpclient.api.ResponsePromiseMapFunction.apply(ResponsePromiseMapFunction.java:67) 15:50:50 at com.atlassian.httpclient.api.ResponsePromiseMapFunction.apply(ResponsePromiseMapFunction.java:11) 15:50:50 at com.atlassian.util.concurrent.Promises$Of$3.apply(Promises.java:268) 15:50:50 at com.atlassian.util.concurrent.Promises$2.onSuccess(Promises.java:158) 15:50:50 at com.google.common.util.concurrent.Futures$6.run(Futures.java:975) 15:50:50 at com.google.common.util.concurrent.MoreExecutors$SameThreadExecutorService.execute(MoreExecutors.java:253) 15:50:50 at com.google.common.util.concurrent.ExecutionList$RunnableExecutorPair.execute(ExecutionList.java:149) 15:50:50 at com.google.common.util.concurrent.ExecutionList.execute(ExecutionList.java:134) 15:50:50 at com.google.common.util.concurrent.AbstractFuture.set(AbstractFuture.java:170) 15:50:50 at com.google.common.util.concurrent.SettableFuture.set(SettableFuture.java:53) 15:50:50 at com.atlassian.util.concurrent.Promises$Of$3.apply(Promises.java:268) 15:50:50 at com.atlassian.util.concurrent.Promises$2.onSuccess(Promises.java:158) 15:50:50 at com.google.common.util.concurrent.Futures$6.run(Futures.java:975) 15:50:50 at com.google.common.util.concurrent.MoreExecutors$SameThreadExecutorService.execute(MoreExecutors.java:253) 15:50:50 at com.google.common.util.concurrent.ExecutionList$RunnableExecutorPair.execute(ExecutionList.java:149) 15:50:50 at com.google.common.util.concurrent.ExecutionList.execute(ExecutionList.java:134) 15:50:50 at com.google.common.util.concurrent.AbstractFuture.set(AbstractFuture.java:170) 15:50:50 at com.google.common.util.concurrent.SettableFuture.set(SettableFuture.java:53) 15:50:50 at com.atlassian.httpclient.apache.httpcomponents.SettableFuturePromiseHttpPromiseAsyncClient$1$1.run(SettableFuturePromiseHttpPromiseAsyncClient.java:46) 15:50:50 at com.atlassian.httpclient.apache.httpcomponents.SettableFuturePromiseHttpPromiseAsyncClient$ThreadLocalDelegateRunnable$1.run(SettableFuturePromiseHttpPromiseAsyncClient.java:197) 15:50:50 at com.atlassian.httpclient.apache.httpcomponents.SettableFuturePromiseHttpPromiseAsyncClient.runInContext(SettableFuturePromiseHttpPromiseAsyncClient.java:90) 15:50:50 at com.atlassian.httpclient.apache.httpcomponents.SettableFuturePromiseHttpPromiseAsyncClient$ThreadLocalDelegateRunnable.run(SettableFuturePromiseHttpPromiseAsyncClient.java:192)
Below are the sample Jenkinsfile code snippet
Pipeline config:- jiraTestResultReporter( configs: [ jiraStringField(fieldKey: 'summary', value: '${DEFAULT_SUMMARY}'), jiraStringField(fieldKey: 'description', value: '${DEFAULT_DESCRIPTION}') ], projectKey: 'DO', issueType: '1', autoRaiseIssue: true, autoResolveIssue: false, autoUnlinkIssue: false, )