Request for change for the plugin: Micro Focus Application Automation Tools
Currently the configuration for this plugin has the parameter “Test Folder” and it is defined as follows:
The path of the test folder that will contain the uploaded test. The path doesn't include the Root test folder (Subject). For example, sampletestfolder\subfolder means, the tests will be uploaded to test folder named 'subfolder', which is under the test folder named 'sampletestfolder', and 'sampletestfolder' is under the root test folder 'Subject'.
The configuration of this parameter does NOT allow to upload tests cases in different subfolders.
Let me explain it with an example:
Our current project structure is someone like that:
Root/
Automated tests/
Module 1/
Test A
Test B
Module 2/
Test C
Module 3/
Test D
Let’s imagine that we have configure Jenkins like that:
When we made an execution, the plugin upload the tests like follows:
Root/
Automated tests/
Test A
Test B
Test C
Test D
Module 1/
Test A
Test B
Module 2/
Test C
Module 3/
Test D
In this case, we want to avoid the duplication of these test cases.
We think that this is a very common situation where typically test cases are defined in different folders to have a better organizations, so the plugin should be able to localize them in the hierarchy.
1. Are you saying the tests were uploaded to Root/Automated tests/ and either to Root/Automated/Module 1, Root/Automated/Module 2, Root/Automated/Module 3?
2. Currently only one path you can define in Jenkins plugin. For example here's Root/Automated tests/. If you want to define multiple patchs, which folder would you like the different tests being uploaded to?
Roy Lu
added a comment - - edited Hi scuenca ,
1. Are you saying the tests were uploaded to Root/Automated tests/ and either to Root/Automated/Module 1, Root/Automated/Module 2, Root/Automated/Module 3?
2. Currently only one path you can define in Jenkins plugin. For example here's Root/Automated tests/. If you want to define multiple patchs, which folder would you like the different tests being uploaded to?
When tests executions are loaded in ALM, the test plan folder have the following structure:
· Automated tests/
o Module 1_Test A
o Module 1_Test B
o Module 1/
§ Module 1_Test A
§ Module 1_Test B
o Module 2/
§ Module 2_Test C
o Module 3/
§ Module 3_Test D
Module 1_Test A and Module 1_Test B are duplicated within the Test Plan structure and this is a problem for us.
We want that the plugin recognizes that they already exist inside folder Automated tests / Module 1.
Sergio Cuenca
added a comment - Hi Roy!!
Let’s imagine we have this structure in the test plan (this structure has been created manually, defining test folders and test cases):
· Automated tests/
o Module 1/
§ Module 1_Test A
§ Module 1_Test B
o Module 2/
§ Module 2_Test C
o Module 3/
§ Module 3_Test D
Each test case has been correctly defined inside ALM manually, and all of them have their steps and all the required atributes.
Then, I use this XML file to load a test execution done with an external tool:
<?xml version='1.0' encoding='UTF-8'?>
<result>
<suites>
<suite>
<cases>
<case>
<duration>9.0020</duration>
<className>Module 1</className>
<testName>Test A</testName>
<skipped>false</skipped>
<failedSince>0</failedSince>
</case>
<case>
<duration>36.0010</duration>
<className>Module 1</className>
<testName>Test B</testName>
<skipped>false</skipped>
<failedSince>0</failedSince>
</case>
</cases>
</suite>
</suites>
<duration>0.576</duration>
</result>
When tests executions are loaded in ALM, the test plan folder have the following structure:
· Automated tests/
o Module 1_Test A
o Module 1_Test B
o Module 1/
§ Module 1_Test A
§ Module 1_Test B
o Module 2/
§ Module 2_Test C
o Module 3/
§ Module 3_Test D
Module 1_Test A and Module 1_Test B are duplicated within the Test Plan structure and this is a problem for us.
We want that the plugin recognizes that they already exist inside folder Automated tests / Module 1.
I understand. You want the plugin not to create new tests if there are already tests with the same name. Just new runs be created. Am I correct?
Then, what about the test sets? Are there test sets already exists?
Besides, what if other customer still want new testsets and tests being uploaded to the specified folder even there’re same name in other folders?
In many years after Jenkins plugin being published, it's the first time we got such request. Please understand we have to consider most common usage.
Roy Lu
added a comment - - edited Hi scuenca ,
I understand. You want the plugin not to create new tests if there are already tests with the same name. Just new runs be created. Am I correct?
Then, what about the test sets? Are there test sets already exists?
Besides, what if other customer still want new testsets and tests being uploaded to the specified folder even there’re same name in other folders?
In many years after Jenkins plugin being published, it's the first time we got such request. Please understand we have to consider most common usage.
You are right. Test sets don't exist, so they can be created.
I don't understand why someone could want to repeat the same test definition twice (or more times) in the test plan.
How we use ALM (and we though that this was the expected use of the tool) is the following way:
We have a catalogue of tets cases defined inside the test plan. These tests are organized inside folder (which are the modules of our software).
When we need to execute one or more tests, we créate a new test set and we add a test instance insde the test set. Then we execute it.
We always use the same tests, we don't repeat test cases. Sometimes we define new tests cases to cover new functionalities, but we don't créate the same tests in each execution.
Now, we are automating some of the tests that we have defined. We are using an external tool to automate the tests cases. When we make an execution of a test case, we donant to repeat it in the test plan, because it already exists.
So, why to repeat a test case definition in every execution?
Sergio Cuenca
added a comment - Hi Roy,
You are right. Test sets don't exist, so they can be created.
I don't understand why someone could want to repeat the same test definition twice (or more times) in the test plan.
How we use ALM (and we though that this was the expected use of the tool) is the following way:
We have a catalogue of tets cases defined inside the test plan. These tests are organized inside folder (which are the modules of our software).
When we need to execute one or more tests, we créate a new test set and we add a test instance insde the test set. Then we execute it.
We always use the same tests, we don't repeat test cases. Sometimes we define new tests cases to cover new functionalities, but we don't créate the same tests in each execution.
Now, we are automating some of the tests that we have defined. We are using an external tool to automate the tests cases. When we make an execution of a test case, we donant to repeat it in the test plan, because it already exists.
So, why to repeat a test case definition in every execution?
Usually user creates test cases in ALM 'Test Plan' module to execute ALM tests such as 'VAPI', 'MANUAL', 'BUSINESS PROCESS' etc. These are ALM tests not external test. What we upload to ALM server through Jenkins plugin are external tests such like Junit, Nunit etc. For these kinds of tests, we don't create test plan before upload. They're created during upload. Besides, what test type do you chose when you create the test case? There's no 'EXTERNAL-TEST' option. This type is assigned to test case during upload too.
Do you mean you're automating some of the tests that used to be executed manually in ALM? Which are actually ALM tests?
Roy Lu
added a comment - Hi scuenca ,
Usually user creates test cases in ALM 'Test Plan' module to execute ALM tests such as 'VAPI', 'MANUAL', 'BUSINESS PROCESS' etc. These are ALM tests not external test. What we upload to ALM server through Jenkins plugin are external tests such like Junit, Nunit etc. For these kinds of tests, we don't create test plan before upload. They're created during upload. Besides, what test type do you chose when you create the test case? There's no 'EXTERNAL-TEST' option. This type is assigned to test case during upload too.
Do you mean you're automating some of the tests that used to be executed manually in ALM? Which are actually ALM tests?
Do you mean you're automating some of the tests that used to be executed manually in ALM? Yes, that's the situation.
Which are actually ALM tests?
We have different types of tests like system tests, integration tests, among others, that usually are executed manually (all of them were designed in ALM are they all exists in ALM test plan). But now, we are starting using an automation tool and we automating some of them.
We are starting doing executions and we want to upload these executions in ALM. Here comes my request.
Sergio Cuenca
added a comment - Do you mean you're automating some of the tests that used to be executed manually in ALM? Yes, that's the situation.
Which are actually ALM tests?
We have different types of tests like system tests, integration tests, among others, that usually are executed manually (all of them were designed in ALM are they all exists in ALM test plan). But now, we are starting using an automation tool and we automating some of them.
We are starting doing executions and we want to upload these executions in ALM. Here comes my request.
I got your point. But I think you're a little milk the bull. How about a better solution?
You know, there're two jobs in the plugin called 'Execute functional tests from ALM' and 'Execute tests using ALM Lab Management' either of them can execute ALM test. You can configure them in your Jenkins build and ALM will execute the tests and got the result. So simple, this is how other customers use this plugin to do automation and this is why no other customer has such requirement like yours.
If you're insist to have such feature in the plugin, I can do it. But as it is over-specific, it may take time to make a new job to do this. Because your request is actually not upload externaltest result. It's actually upload the result back to test which already exist in ALM. They're a little different and we couldn't change the function of the current job. But even if we achieve this, the whole thing sounds like going around in circle, doesn't it? It's not elegant.
The plugin already provided a better way to automation. So could you please think about my suggestion?
Roy Lu
added a comment - Hi scuenca ,
I got your point. But I think you're a little milk the bull. How about a better solution?
You know, there're two jobs in the plugin called 'Execute functional tests from ALM' and 'Execute tests using ALM Lab Management' either of them can execute ALM test. You can configure them in your Jenkins build and ALM will execute the tests and got the result. So simple, this is how other customers use this plugin to do automation and this is why no other customer has such requirement like yours.
If you're insist to have such feature in the plugin, I can do it. But as it is over-specific, it may take time to make a new job to do this. Because your request is actually not upload external test result. It's actually upload the result back to test which already exist in ALM. They're a little different and we couldn't change the function of the current job. But even if we achieve this, the whole thing sounds like going around in circle, doesn't it? It's not elegant.
The plugin already provided a better way to automation. So could you please think about my suggestion?
Roy Lu
Sergio Cuenca
Votes:
0Vote for this issue
Watchers:
2Start watching this issue
Created:
Updated:
Resolved:
{"searchers":{"groups":[{"searchers":[{"name":"Project","id":"project","key":"issue.field.project","isShown":true,"lastViewed":1741251910885},{"name":"Summary","id":"summary","key":"issue.field.summary","isShown":true},{"name":"Type","id":"issuetype","key":"issue.field.issuetype","isShown":true,"lastViewed":1741251910886},{"name":"Status","id":"status","key":"issue.field.status","isShown":true,"lastViewed":1741251911016},{"name":"Priority","id":"priority","key":"issue.field.priority","isShown":true},{"name":"Resolution","id":"resolution","key":"issue.field.resolution","isShown":true},{"name":"Creator","id":"creator","key":"issue.field.creator","isShown":true},{"name":"Component","id":"component","key":"issue.field.components","isShown":true},{"name":"% Limits","id":"workratio","key":"issue.field.workratio","isShown":true},{"name":"Link types","id":"issue_link_type","key":"issue.field.issuelinks","isShown":true},{"name":"Environment","id":"environment","key":"issue.field.environment","isShown":true},{"name":"Description","id":"description","key":"issue.field.description","isShown":true},{"name":"Comment","id":"comment","key":"issue.field.comment","isShown":true},{"name":"Label","id":"labels","key":"issue.field.labels","isShown":true,"lastViewed":1741251911024},{"name":"Query","id":"text","key":"text","isShown":true},{"name":"Bonfire Browser","id":"customfield_10229","key":"com.atlassian.bonfire.plugin:bonfire-text","isShown":true},{"name":"Bonfire Operating System","id":"customfield_10231","key":"com.atlassian.bonfire.plugin:bonfire-text","isShown":true},{"name":"Bonfire Screen Resolution","id":"customfield_10244","key":"com.atlassian.bonfire.plugin:bonfire-text","isShown":true},{"name":"Bonfire URL","id":"customfield_10237","key":"com.atlassian.bonfire.plugin:bonfire-text","isShown":true},{"name":"Bonfire User Agent","id":"customfield_10226","key":"com.atlassian.bonfire.plugin:bonfire-text","isShown":true},{"name":"Bonfire jQuery Version","id":"customfield_10252","key":"com.atlassian.bonfire.plugin:bonfire-text","isShown":true},{"name":"Business Value","id":"customfield_10333","key":"com.atlassian.jira.plugin.system.customfieldtypes:float","isShown":false},{"name":"Development","id":"customfield_10720","key":"com.atlassian.jira.plugins.jira-development-integration-plugin:devsummary","isShown":true},{"name":"Epic Color","id":"customfield_10328","key":"com.pyxis.greenhopper.jira:gh-epic-color","isShown":false},{"name":"Epic Link","id":"customfield_10325","key":"com.pyxis.greenhopper.jira:gh-epic-link","isShown":true},{"name":"Epic Name","id":"customfield_10327","key":"com.pyxis.greenhopper.jira:gh-epic-label","isShown":true},{"name":"Epic Status","id":"customfield_10326","key":"com.pyxis.greenhopper.jira:gh-epic-status","isShown":false},{"name":"Epic/Theme","id":"customfield_10331","key":"com.atlassian.jira.plugin.system.customfieldtypes:labels","isShown":true},{"name":"Flagged","id":"customfield_10330","key":"com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes","isShown":true},{"name":"GitHub Users to Authorize as Committers","id":"customfield_10323","key":"com.atlassian.jira.plugin.system.customfieldtypes:textarea","isShown":true},{"name":"Issue Tracker","id":"customfield_11320","key":"com.atlassian.jira.plugin.system.customfieldtypes:select","isShown":true},{"name":"JIRA Capture Browser","id":"customfield_10228","key":"com.atlassian.bonfire.plugin:bonfire-text","isShown":true},{"name":"JIRA Capture Browser","id":"customfield_10230","key":"com.atlassian.bonfire.plugin:bonfire-text","isShown":true},{"name":"JIRA Capture Document Mode","id":"customfield_10258","key":"com.atlassian.bonfire.plugin:bonfire-text","isShown":true},{"name":"JIRA Capture Operating System","id":"customfield_10232","key":"com.atlassian.bonfire.plugin:bonfire-text","isShown":true},{"name":"JIRA Capture Operating System","id":"customfield_10233","key":"com.atlassian.bonfire.plugin:bonfire-text","isShown":true},{"name":"JIRA Capture Operating System","id":"customfield_10234","key":"com.atlassian.bonfire.plugin:bonfire-text","isShown":true},{"name":"JIRA Capture Operating System","id":"customfield_10236","key":"com.atlassian.bonfire.plugin:bonfire-text","isShown":true},{"name":"JIRA Capture Operating System","id":"customfield_10238","key":"com.atlassian.bonfire.plugin:bonfire-text","isShown":true},{"name":"JIRA Capture Operating System","id":"customfield_10239","key":"com.atlassian.bonfire.plugin:bonfire-text","isShown":true},{"name":"JIRA Capture Screen Resolution","id":"customfield_10245","key":"com.atlassian.bonfire.plugin:bonfire-text","isShown":true},{"name":"JIRA Capture Screen Resolution","id":"customfield_10246","key":"com.atlassian.bonfire.plugin:bonfire-text","isShown":true},{"name":"JIRA Capture Screen Resolution","id":"customfield_10247","key":"com.atlassian.bonfire.plugin:bonfire-text","isShown":true},{"name":"JIRA Capture Screen Resolution","id":"customfield_10248","key":"com.atlassian.bonfire.plugin:bonfire-text","isShown":true},{"name":"JIRA Capture Screen Resolution","id":"customfield_10249","key":"com.atlassian.bonfire.plugin:bonfire-text","isShown":true},{"name":"JIRA Capture Screen Resolution","id":"customfield_10250","key":"com.atlassian.bonfire.plugin:bonfire-text","isShown":true},{"name":"JIRA Capture URL","id":"customfield_10240","key":"com.atlassian.bonfire.plugin:bonfire-text","isShown":true},{"name":"JIRA Capture URL","id":"customfield_10241","key":"com.atlassian.bonfire.plugin:bonfire-text","isShown":true},{"name":"JIRA Capture URL","id":"customfield_10242","key":"com.atlassian.bonfire.plugin:bonfire-text","isShown":true},{"name":"JIRA Capture URL","id":"customfield_10243","key":"com.atlassian.bonfire.plugin:bonfire-text","isShown":true},{"name":"JIRA Capture User Agent","id":"customfield_10225","key":"com.atlassian.bonfire.plugin:bonfire-text","isShown":true},{"name":"JIRA Capture User Agent","id":"customfield_10227","key":"com.atlassian.bonfire.plugin:bonfire-text","isShown":true},{"name":"JIRA Capture jQuery Version","id":"customfield_10251","key":"com.atlassian.bonfire.plugin:bonfire-text","isShown":true},{"name":"JIRA Capture jQuery Version","id":"customfield_10253","key":"com.atlassian.bonfire.plugin:bonfire-text","isShown":true},{"name":"JIRA Capture jQuery Version","id":"customfield_10254","key":"com.atlassian.bonfire.plugin:bonfire-text","isShown":true},{"name":"JIRA Capture jQuery Version","id":"customfield_10255","key":"com.atlassian.bonfire.plugin:bonfire-text","isShown":true},{"name":"JIRA Capture jQuery Version","id":"customfield_10256","key":"com.atlassian.bonfire.plugin:bonfire-text","isShown":true},{"name":"JIRA Capture jQuery Version","id":"customfield_10257","key":"com.atlassian.bonfire.plugin:bonfire-text","isShown":true},{"name":"Meeting minutes URL","id":"customfield_10020","key":"com.atlassian.jira.plugin.system.customfieldtypes:url","isShown":false},{"name":"New Repository Name","id":"customfield_10321","key":"com.atlassian.jira.plugin.system.customfieldtypes:textfield","isShown":true},{"name":"Original story points","id":"customfield_11423","key":"com.atlassian.jpo:jpo-custom-field-original-story-points","isShown":true},{"name":"Parent Link","id":"customfield_11420","key":"com.atlassian.jpo:jpo-custom-field-parent","isShown":false},{"name":"Plugin Description","id":"customfield_10322","key":"com.atlassian.jira.plugin.system.customfieldtypes:textarea","isShown":true},{"name":"Raised During","id":"customfield_10220","key":"com.atlassian.bonfire.plugin:bonfire-session-cft","isShown":false},{"name":"Raised During","id":"customfield_10221","key":"com.atlassian.bonfire.plugin:bonfire-session-cft","isShown":false},{"name":"Rank","id":"customfield_10324","key":"com.pyxis.greenhopper.jira:gh-lexo-rank","isShown":true},{"name":"Released As","id":"customfield_10620","key":"com.atlassian.jira.plugin.system.customfieldtypes:textfield","isShown":true},{"name":"Repository URL","id":"customfield_10320","key":"com.atlassian.jira.plugin.system.customfieldtypes:url","isShown":true},{"name":"Similar Issues","id":"customfield_10520","key":"com.suggestimate:similar-issues-custom-field","isShown":true},{"name":"Sprint","id":"customfield_10329","key":"com.pyxis.greenhopper.jira:gh-sprint","isShown":true},{"name":"Story Points","id":"customfield_10332","key":"com.atlassian.jira.plugin.system.customfieldtypes:float","isShown":false},{"name":"Team","id":"customfield_11424","key":"com.atlassian.teams:rm-teams-custom-field-team","isShown":true},{"name":"Test Sessions","id":"customfield_10222","key":"com.atlassian.bonfire.plugin:bonfire-multi-session-cft","isShown":false},{"name":"Test Sessions","id":"customfield_10223","key":"com.atlassian.bonfire.plugin:bonfire-multi-session-cft","isShown":false},{"name":"Test Sessions","id":"customfield_10224","key":"com.atlassian.bonfire.plugin:bonfire-multi-session-cft","isShown":false},{"name":"Testing Status","id":"customfield_10259","key":"com.atlassian.bonfire.plugin:bonfire-testing-status-cft","isShown":false},{"name":"URL","id":"customfield_10000","key":"com.atlassian.jira.plugin.system.customfieldtypes:url","isShown":true}],"type":"DETAILS","title":"Details"},{"searchers":[{"name":"Created Date","id":"created","key":"issue.field.created","isShown":true},{"name":"Updated Date","id":"updated","key":"issue.field.updated","isShown":true},{"name":"Resolution Date","id":"resolutiondate","key":"issue.field.resolution.date","isShown":true},{"name":"Target end","id":"customfield_11422","key":"com.atlassian.jpo:jpo-custom-field-baseline-end","isShown":true},{"name":"Target start","id":"customfield_11421","key":"com.atlassian.jpo:jpo-custom-field-baseline-start","isShown":true}],"type":"DATES","title":"Dates"},{"searchers":[{"name":"Assignee","id":"assignee","key":"issue.field.assignee","isShown":true,"lastViewed":1741251911018},{"name":"Reporter","id":"reporter","key":"issue.field.reporter","isShown":true}],"type":"PEOPLE","title":"People"}]},"values":{"issuetype":{"name":"Type","editHtml":"\n\n\n\n <div class=\"field-group aui-field-issuetype\" >\n <label for=\"searcher-type\">Type</label> <select class=\"select js-default-checkboxmultiselect\"\n id=\"searcher-type\"\n multiple=\"multiple\"\n name=\"type\"\n data-max-inline-results-displayed=\"100\"\n data-placeholder-text=\"Find Issue Types...\">\n <optgroup>\n \n <option class=\" \"\n id=\"type_-2\"\n title=\"All Standard Issue Types\"\n value=\"-2\">All Standard Issue Types</option>\n </optgroup>\n\n <optgroup label=\"Standard Issue Types\">\n \n <option class=\" imagebacked 10730 \"\n data-icon=\"/secure/viewavatar?size=xsmall&avatarId=14673&avatarType=issuetype\"\n data-fallback-icon=\"/images/icons/issuetypes/blank.png\"\n id=\"type_1\"\n title=\"Bug\"\n value=\"1\">Bug</option>\n \n <option class=\" imagebacked 10730 \"\n data-icon=\"/images/icons/issuetypes/epic.png\"\n data-fallback-icon=\"/images/icons/issuetypes/blank.png\"\n id=\"type_10001\"\n title=\"Epic\"\n value=\"10001\">Epic</option>\n \n <option class=\" imagebacked 10730 \"\n data-icon=\"/secure/viewavatar?size=xsmall&avatarId=14680&avatarType=issuetype\"\n data-fallback-icon=\"/images/icons/issuetypes/blank.png\"\n id=\"type_4\"\n title=\"Improvement\"\n value=\"4\">Improvement</option>\n \n <option class=\" imagebacked 10730 \"\n data-icon=\"/secure/viewavatar?size=xsmall&avatarId=14681&avatarType=issuetype\"\n data-fallback-icon=\"/images/icons/issuetypes/blank.png\"\n id=\"type_2\"\n title=\"New Feature\"\n value=\"2\">New Feature</option>\n \n <option class=\" imagebacked 10730 \"\n data-icon=\"/secure/viewavatar?size=xsmall&avatarId=14670&avatarType=issuetype\"\n data-fallback-icon=\"/images/icons/issuetypes/blank.png\"\n id=\"type_5\"\n title=\"Patch\"\n value=\"5\">Patch</option>\n \n <option class=\" imagebacked 10730 \"\n data-icon=\"/secure/viewavatar?size=xsmall&avatarId=14685&avatarType=issuetype\"\n data-fallback-icon=\"/images/icons/issuetypes/blank.png\"\n id=\"type_10002\"\n title=\"Story\"\n value=\"10002\">Story</option>\n \n <option class=\" imagebacked 10730 \"\n data-icon=\"/secure/viewavatar?size=xsmall&avatarId=14688&avatarType=issuetype\"\n data-fallback-icon=\"/images/icons/issuetypes/blank.png\"\n id=\"type_3\"\n title=\"Task\"\n value=\"3\">Task</option>\n </optgroup>\n\n <optgroup label=\"Sub-Task Issue Types\">\n </optgroup>\n </select>\n </div>\n ","validSearcher":true,"isShown":true},"project":{"name":"Project","editHtml":" \n <div class=\"field-group aui-field-project\" >\n <label for=\"searcher-pid\">Project</label> <select class=\"js-project-checkboxmultiselect\"\n data-placeholder-text=\"Find Projects...\"\n id=\"searcher-pid\"\n multiple=\"multiple\"\n name=\"pid\">\n <optgroup label=\"Recent Projects\">\n </optgroup>\n <optgroup label=\"All Projects\" >\n \n <option data-icon=\"/secure/projectavatar?pid=10172&size=small\"\n title=\"Jenkins\"\n value=\"10172\">\n Jenkins (JENKINS)\n </option>\n <option data-icon=\"/secure/projectavatar?pid=10050&size=small\"\n title=\"test\"\n value=\"10050\">\n test (TEST)\n </option>\n </optgroup>\n </select>\n </div>\n \n\n","validSearcher":true,"isShown":true},"assignee":{"name":"Assignee","editHtml":"\n \n <div class=\"field-group aui-field-userlist\" >\n <label for=\"searcher-assigneeSelect\">Assignee</label> <fieldset rel=\"assignee\" class=\"hidden user-group-searcher-params\">\n </fieldset>\n <select class=\"js-usergroup-checkboxmultiselect\" multiple=\"multiple\" id=\"assignee\" name=\"assignee\" data-placeholder-text=\"Enter username or group\">\n <optgroup>\n <option class=\"headerOption\" data-icon=\"https://issues.jenkins.io/secure/useravatar?size=xsmall&avatarId=10293\" value=\"empty\" title=\"Unassigned\">Unassigned</option>\n </optgroup>\n <optgroup>\n </optgroup>\n </select>\n <input type=\"hidden\" name=\"check_prev_assignee\" value=\"true\">\n </div>\n \n","validSearcher":true,"isShown":true},"status":{"name":"Status","editHtml":"\n <div class=\"field-group aui-field-constants\" >\n <label for=\"searcher-status\">Status</label> <select class=\"select js-default-checkboxmultiselectstatuslozenge\"\n data-placeholder-text=\"Find Statuses...\"\n id=\"searcher-status\"\n multiple=\"multiple\"\n name=\"status\"\n data-max-inline-results-displayed=\"100\"\n data-footer-text=\"-88 more options. Continue typing to refine further.\" data-status-lozenge=\"true\">\n <optgroup >\n <option class=\"imagebacked\" data-icon=\"/images/icons/statuses/needinfo.png\" value=\"10001\" title=\"Untriaged\" data-simple-status=\"{"id":"10001","name":"Untriaged","description":"New issue sits in this state until a developer agrees that this is a security issue","iconUrl":"/images/icons/statuses/needinfo.png","statusCategory":{"id":2,"key":"new","colorName":"default"}}\">Untriaged</option>\n <option class=\"imagebacked\" data-icon=\"/images/icons/statuses/open.png\" value=\"1\" title=\"Open\" data-simple-status=\"{"id":"1","name":"Open","description":"The issue is open and ready for the assignee to start work on it.","iconUrl":"/images/icons/statuses/open.png","statusCategory":{"id":2,"key":"new","colorName":"default"}}\">Open</option>\n <option class=\"imagebacked\" data-icon=\"/images/icons/statuses/inprogress.png\" value=\"3\" title=\"In Progress\" data-simple-status=\"{"id":"3","name":"In Progress","description":"This issue is being actively worked on at the moment by the assignee.","iconUrl":"/images/icons/statuses/inprogress.png","statusCategory":{"id":4,"key":"indeterminate","colorName":"inprogress"}}\">In Progress</option>\n <option class=\"imagebacked\" data-icon=\"/images/icons/statuses/reopened.png\" value=\"4\" title=\"Reopened\" data-simple-status=\"{"id":"4","name":"Reopened","description":"This issue was once resolved, but the resolution was deemed incorrect. From here issues are either marked assigned or resolved.","iconUrl":"/images/icons/statuses/reopened.png","statusCategory":{"id":4,"key":"indeterminate","colorName":"inprogress"}}\">Reopened</option>\n <option class=\"imagebacked\" data-icon=\"/images/icons/statuses/information.png\" value=\"10005\" title=\"In Review\" data-simple-status=\"{"id":"10005","name":"In Review","description":"","iconUrl":"/images/icons/statuses/information.png","statusCategory":{"id":4,"key":"indeterminate","colorName":"inprogress"}}\">In Review</option>\n <option class=\"imagebacked\" data-icon=\"/images/icons/statuses/resolved.png\" value=\"10002\" title=\"Fix Prepared\" data-simple-status=\"{"id":"10002","name":"Fix Prepared","description":"A fix is implemented and is waiting for the next security release","iconUrl":"/images/icons/statuses/resolved.png","statusCategory":{"id":4,"key":"indeterminate","colorName":"inprogress"}}\">Fix Prepared</option>\n <option class=\"imagebacked\" data-icon=\"/images/icons/statuses/generic.png\" value=\"10000\" title=\"Verified\" data-simple-status=\"{"id":"10000","name":"Verified","description":"Verified","iconUrl":"/images/icons/statuses/generic.png","statusCategory":{"id":4,"key":"indeterminate","colorName":"inprogress"}}\">Verified</option>\n <option class=\"imagebacked\" data-icon=\"/images/icons/statuses/generic.png\" value=\"10203\" title=\"Fixed but Unreleased\" data-simple-status=\"{"id":"10203","name":"Fixed but Unreleased","description":"This change has been implemented and merged, but not yet released.","iconUrl":"/images/icons/statuses/generic.png","statusCategory":{"id":3,"key":"done","colorName":"success"}}\">Fixed but Unreleased</option>\n <option class=\"imagebacked\" data-icon=\"/images/icons/statuses/resolved.png\" value=\"5\" title=\"Resolved\" data-simple-status=\"{"id":"5","name":"Resolved","description":"A developer had implemented a fix and is waiting for a feedback from the reporter.","iconUrl":"/images/icons/statuses/resolved.png","statusCategory":{"id":3,"key":"done","colorName":"success"}}\">Resolved</option>\n <option class=\"imagebacked\" data-icon=\"/images/icons/statuses/closed.png\" value=\"6\" title=\"Closed\" data-simple-status=\"{"id":"6","name":"Closed","description":"The issue is considered finished, the resolution is correct. Issues which are closed can be reopened.","iconUrl":"/images/icons/statuses/closed.png","statusCategory":{"id":3,"key":"done","colorName":"success"}}\">Closed</option>\n <option class=\"imagebacked\" data-icon=\"/images/icons/statuses/open.png\" value=\"10003\" title=\"To Do\" data-simple-status=\"{"id":"10003","name":"To Do","description":"","iconUrl":"/images/icons/statuses/open.png","statusCategory":{"id":2,"key":"new","colorName":"default"}}\">To Do</option>\n <option class=\"imagebacked\" data-icon=\"/images/icons/statuses/closed.png\" value=\"10004\" title=\"Done\" data-simple-status=\"{"id":"10004","name":"Done","description":"","iconUrl":"/images/icons/statuses/closed.png","statusCategory":{"id":3,"key":"done","colorName":"success"}}\">Done</option>\n </optgroup>\n</select>\n </div>\n \n","validSearcher":true,"isShown":true},"labels":{"name":"Label","viewHtml":" <div class=\"searcherValue\">\n \n <label class=\"fieldLabel\" for=\"fieldlabels\">Label:</label><span id=\"fieldlabels\" class=\"fieldValue\">\n \n Test\n</span></div>\n","editHtml":"\n <div class=\"field-group aui-field-labels\" >\n <label for=\"searcher-labels\">Labels</label> <select class=\"js-label-checkboxmultiselect\" multiple=\"multiple\" id=\"searcher-labels\" name=\"labels\" data-placeholder-text=\"Find Labels...\">\n <option value=\"Test\" title=\"Test\" selected=\"selected\">Test</option>\n </select>\n </div>\n \n","jql":"labels = Test","validSearcher":true,"isShown":true}}}
[{"id":-1,"name":"My open issues","jql":"assignee = currentUser() AND resolution = Unresolved order by updated DESC","isSystem":true,"sharePermissions":[],"requiresLogin":true},{"id":-2,"name":"Reported by me","jql":"reporter = currentUser() order by created DESC","isSystem":true,"sharePermissions":[],"requiresLogin":true},{"id":-4,"name":"All issues","jql":"order by created DESC","isSystem":true,"sharePermissions":[],"requiresLogin":false},{"id":-5,"name":"Open issues","jql":"resolution = Unresolved order by priority DESC,updated DESC","isSystem":true,"sharePermissions":[],"requiresLogin":false},{"id":-9,"name":"Done issues","jql":"statusCategory = Done order by updated DESC","isSystem":true,"sharePermissions":[],"requiresLogin":false},{"id":-3,"name":"Viewed recently","jql":"issuekey in issueHistory() order by lastViewed DESC","isSystem":true,"sharePermissions":[],"requiresLogin":false},{"id":-6,"name":"Created recently","jql":"created >= -1w order by created DESC","isSystem":true,"sharePermissions":[],"requiresLogin":false},{"id":-7,"name":"Resolved recently","jql":"resolutiondate >= -1w order by updated DESC","isSystem":true,"sharePermissions":[],"requiresLogin":false},{"id":-8,"name":"Updated recently","jql":"updated >= -1w order by updated DESC","isSystem":true,"sharePermissions":[],"requiresLogin":false}]
Hi scuenca,
1. Are you saying the tests were uploaded to Root/Automated tests/ and either to Root/Automated/Module 1, Root/Automated/Module 2, Root/Automated/Module 3?
2. Currently only one path you can define in Jenkins plugin. For example here's Root/Automated tests/. If you want to define multiple patchs, which folder would you like the different tests being uploaded to?