zephyr for jira to use same jira test case id to update test results - jira-zephyr

I have configured zephyr and jenkins using the below article.
https://wiki.jenkins-ci.org/display/JENKINS/Zephyr+For+Jira+Test+Management+Plugin
Currently the tests created by ZAPI are creating new test case ids. Is there a way to pass the original jira test id as part of junit test result and let zapi create/update the same results in JIRA instead of using a new test case id.
Or I can do this using the REST api ? what rest calls do I need to use to
Create test cycle, add tests to this cycle with the same jira id and update their status

Related

get pipeline specific run ID

i am working on azure rest api to get unit test count for specific project, and i found this api inside documents
GET https://dev.azure.com/{organization}/{project}/_apis/test/runs?api-version=6.0
this gives me all the run id by which i can my unit test results by using another api call
https://dev.azure.com/{organization}/{project}/_apis/test/Runs/{runid}/results?api-version=6.1-preview.6
but my problem is my project has multiple test pipeline, is there any way i get pipeline specific run id via passing pipeline id ?
You can try to filter the results returned by the API. For example, when we use Get a list of test runs API:
GET https://dev.azure.com/{organization}/{project}/_apis/test/runs?api-version=6.1-preview.3
We can find build id in the result.
We can add buildIds when using queue test runs API:
GET https://dev.azure.com/{organization}/{project}/_apis/test/runs?minLastUpdatedDate={minLastUpdatedDate}&maxLastUpdatedDate={maxLastUpdatedDate}&buildIds={buildIds}&api-version=6.1-preview.3
We can find build id and definition id from the result.
You can use below query:
GET https://dev.azure.com/{organization}/{project}/_apis/pipelines/{pipelineId}/runs/{runId}?api-version=6.0-preview.1
Following are the parameters that you need to specify:
You will get detailed info on this here

IBM RQM: execute/run the test case execution record (TCER) via POST operation using REST API

We are planning to create the test cases drafted in Excel file using RQMExcelWordExport tool . It is a tedious task to manually update the test case execution result status. Also, it is quite difficult to do a retrospection of the execution history result of the same test case.
Can anyone help us on this with the following :
How to get all the test case execution record (TCER) with respect to test plan id via REST GET ?
How to execute/run the test case execution record (TCER) via POST operation in REST API /
or we can able to update TCER status through RQMExcelWordExport tool.
Regards,
Sujata

How to get Recent Test Case Results by Test Case ID using TFS REST API

Is there a way to get the recent test results of test case by Test Case ID utilizing TFS REST API (Azure DevOps Services REST API).
Required field is the Outcome of test case, Duration, Date, Configuration and Run By.
Thanks in advance!
You can try this api to get a specific test case in a test suite with test case id.
GET https://dev.azure.com/{organization}/{project}/_apis/test/Plans/{planId}/suites/{suiteId}/testcases/{testCaseIds}?api-version=5.0
for getting test result please refer below api
GET https://dev.azure.com/{organization}/{project}/_apis/test/Runs/{runId}/results/{testCaseResultId}?api-version=5.0
for further information, you can refer
https://learn.microsoft.com/en-us/rest/api/azure/devops/test/test%20%20suites/get%20test%20case%20by%20id?view=azure-devops-rest-5.0
https://learn.microsoft.com/en-us/rest/api/azure/devops/test/results/get?view=azure-devops-rest-5.0
Hope it helps.

How to attach files to Visual Studio Test with Azure DevOps REST API?

TL;DR: How do I relate a release to the tests visible in the Tests tab via the API?
I am running a Release Pipeline which executes tests against the website being deployed. The tests generate files (within my test code) and I want to use the DevOps REST API to attach those files to the Test report associated with the Release.
Note: I am running these tests as smoke tests after release as part of the release pipeline so that I can test the deployed website. This would not be possible as part of the build pipeline.
I can get the release information, but I'm having trouble identifying how to find the related test(s) and attach a file.
Additional: The link in this SO post appears to have been changed and no longer points to the intended page, but now points to the overall documentation for the REST API.
Currently, I believe the process should be:
Get release details
Get test run id
Get test case result id
Create test result attachment
The primary problem is getting the test run id and test case result id from the release information.
I guess I'm a bit late with this, but still.
You are right about the process. Getting Test run ID is possible via accessing logs of corresponding task inside the release. Here's the needed endpoint:
https://{organizationName}.vsrm.visualstudio.com/{projectName}/_apis/release/releases/{releaseID}/environments/{stageID}/deployPhases/{deployPhaseID}/tasks/{taskId}/logs
Please note that test run ID and test IDs will only be available after the test run task is finished.
I'd recommend getting release ID, stage ID and deployment phase ID directly from the release by accessing default variables provided by azure devops (e.g. $(Release.ReleaseId), other ones are easily googled) rather than fetching via API and matching by name, cause it takes time and does not return all releases, only 100 first or smth like that.
After this, you need to get TaskID. I found it possible and applicable looking for that by Task Name. Just fetch the release by it's ID via API and look for task which matches needed name using this endpoint:
https://{organizationName}.vsrm.visualstudio.com/{projectName}/_apis/release/releases/{releaseId}?api-version=5.0
Going through all the deploySteps, deployPhases, deployJobs to get the task name is a bit cumbersome, but possible (I used LINQ).
After getting these 4 base IDs, you are now able to get logs of the Run tests task. In received log I have used a regex to extract test run ID. Then, having test run ID, you can grab the list of test run results:
https://{organizationName}.visualstudio.com/{projectName}/_apis/test/runs/{testRunId}/results
To attach some files to a test, you will need this test's AzDo ID. How can you get it? Well, I can think of mapping the tests by their names (you will need to store a list of those beforehand) and then looping through fetched test results and the stored list. After a match is found, get the respective id, and attach anything you want:
https://{organizationName}.visualstudio.com/{projectName}/_apistest/Runs/{testRunId}/Results/{testId}/attachments?api-version=6.1-preview.1

How to get all test cases from test suite in VSTS without run data

I'm trying to get all the test cases from a test suite in VSTS, even test cases that have no run data, marked as "Active." I know how to get the case ID, but not the name/title. Right now it goes through the run data and results and gets all the information from the result, but it won't work if there is no run data.
I'm working in C# using RestSharp for RestRequests. This is one of my RestRequests: /_apis/test/runs?planId=" + planID.ToString() + "&includeRunDetails=true&api-version=5.0-preview.2 This works to get all the information I need for test cases with run data. I have been using Microsoft docs on VSTS API for help: https://learn.microsoft.com/en-us/rest/api/vsts/?view=vsts-rest-5.0
Getting the test cases from the suite would be ideal, but I'll accept anything that works.
You can combine Get all test cases in a suite api and Returns a list of work items api. First, get the test case ids from the api below:
GET https://{accountName}.visualstudio.com/{project}/_apis/test/Plans/{planId}/suites/{suiteId}/testcases?api-version=5.0-preview.3
Then, get more information of the test cases from the following api:
GET https://{accountName}.visualstudio.com/{project}/_apis/wit/workitems?ids={ids}&api-version=5.0-preview.3