Integration with third-party requirements
XStudio includes an integrated requirements management module but can also interface with third-party requirements management systems.Jira (XML-RPC)
You'll need to first ensure you have the XML-RPC plugin installed and activated in your Jira install. To check if the plugin is already installed and enabled, just open a browser and enter the URL:http://192.168.10.104:8080/sr/jira.issueviews:searchrequest-xml/temp/SearchRequest.xml?
(just replace the IP address and the port with your own settings). You should retrieve an XML document looking like:
If not, please check Atlassian's website for more information on how to enable the XML-RPC plugin.
Once the XML-RPC plugin is activated, run XStudio and open the menu
Settings > Server Settings > Connectors > Requirements
.
Then, select Jira (XML-RPC) in the popup's selection combobox and set the following parameters (replace the login name, the password, the IP address and the port by your Jira settings):
Field | Description |
authentication | You can authenticate to Jira using two methods:
|
username | Username of a full-access Jira account able to see all the requirements you wish to retrieve For instance: user1 |
password | Password associated to the username For instance: user1_password |
url pattern | This indicates the URL to use with your Jira instance to edit a requirement. The URL must include the tag 'requirement_id' that will be dynamically replaced by the id of the requirement to be displayed/edited For instance: http:// 192.168.100.104:8080 /browse/requirement_id |
url new requirement | This indicates the URL to use with your Jira instance to create a new requirement. The URL can include the tag 'project_id' that will be used as the default project when you create a new requirement For instance: http:// 192.168.100.104:8080 /secure/CreateIssue.jspa?&pid=project_id&issuetype=3
How to find the Id of an issue type?
|
url server | This indicates the URL of your Jira's XML-RPC server. For instance: http:// 192.168.100.104:8080 /rpc/xmlrpc |
filter projects | The list of project code names separated by ';' characters For instance: PROJ1;PROJ2 When left empty, issues from all projects are retrieved. |
filter issue types | The list of numeric issue types that you wish to retrieve in the tree separated by ';' characters For instance: 3;4 By default, Jira issue types are:
We've been reported that with some versions of Jira it can be:
In some other environments (that are localized) it can even be some very large values such as 10006 for Bug
How to find the Id of an issue type?
When left empty, issues with any type are retrieved. |
filter status | The list of status that you wish to filter separated by ';' characters For instance: Open;Resolved;Closed When left empty, issues with any status are retrieved. |
Accept ANY TLS/SSL certificate | If you connect to your Jira server using a SSL connection and you trust the network, just check this checkbox to accept any certificate. Note that if you do so and if your environment is not safe, you're subject to a man-in-the-middle attack. For more information on this, check the Secure connections chapter. |
Certificate (needed only with https URL) | If you connect to your Jira server using a SSL connection (https:// url), you'll need to copy here the server's certificate. For more information on this, check the Secure connections chapter. |
The keywords
project_id
and requirement_id
are dynamically replaced by XStudio when necessary.
Note 1: The REST-API is preferred to XML-RPC as Atlassian is tending to remove any support on XML-RPC now.
Note 2: If you're using XML-RPC with a old version of XStudio and some of your Jira projects contain a larger number of issues you may encounter
some Access-Denied errors and the project are left empty in XStudio.
This is because Jira's XML-RPC default settings include some limits for the number of issues returned and XStudio formerly did not support the paging feature.
However, you can anyway easily fix this by following these instructions from Atlassian.
The useful parameters are
However, you can anyway easily fix this by following these instructions from Atlassian.
The useful parameters are
jira.search.views.default.max
and jira.search.views.max.limit
.
Jira (REST)
The REST API is normally activated by default in your Jira install.Run XStudio and open the menu
Settings > Server Settings > Connectors > Requirements
.
Then, select Jira (REST) in the popup's selection combobox and set the following parameters (replace the login name, the password, the IP address and the port by your Jira settings):
Field | Description |
authentication | You can authenticate to Jira using two methods:
|
username | Username of a full-access Jira account able to see all the requirements you wish to retrieve For instance: user1 |
password | Password associated to the username OR a dedicated API token For instance: user1_password
Starting from June 3rd, 2019, Atlassian deprecated the BasicAuth authentication with passwords.
Hence, API Tokens must be used rather than passwords. So please generate an API token dedicated to XStudio and use this API token instead of the password in XStudio's configuration. |
url pattern | This indicates the URL to use with your Jira instance to edit a requirement. The URL must include the tag 'requirement_id' that will be dynamically replaced by the id of the requirement to be displayed/edited For instance: http:// 192.168.100.123:8080 /browse/requirement_id |
url new requirement | This indicates the URL to use with your Jira instance to create a new requirement. The URL can include the tag 'project_id' that will be used as the default project when you create a new requirement For instance: http:// 192.168.100.123:8080 /secure/CreateIssue.jspa?&pid=project_id&issuetype=3
How to find the Id of an issue type?
|
url server | This indicates the URL of your Jira's REST-API server. For instance: http:// 192.168.100.123:8080 /rest/api/latest |
filter projects | The list of project code names separated by ';' characters For instance: PROJ1;PROJ2 When left empty, issues from all projects are retrieved. |
filter issue types | The list of issue types that you wish to retrieve in the tree separated by ';' characters For instance: Task;Improvement;New Feature When left empty, issues with any type are retrieved. |
filter status | The list of status that you wish to filter separated by ';' characters For instance: Open;In Progress When left empty, issues with any status are retrieved. |
Accept ANY TLS/SSL certificate | If you connect to your Jira server using a SSL connection and you trust the network, just check this checkbox to accept any certificate. Note that if you do so and if your environment is not safe, you're subject to a man-in-the-middle attack. For more information on this, check the Secure connections chapter. |
Certificate (needed only with https URL) | If you connect to your Jira server using a SSL connection (https:// url), you'll need to copy here the server's certificate. For more information on this, check the Secure connections chapter. |
The keywords
project_id
and requirement_id
are dynamically replaced by XStudio when necessary.
VersionOne
This connector is using a standard REST API to access VersionOne data.run XStudio and open the menu
Settings > Server Settings > Connectors > Requirements
.
Then, select VersionOne in the popup's selection combobox and set the following parameters (replace the login name, the password, the IP address and the Repository by your VersionOne settings):
Field | Description |
authentication | You can authenticate to the VersionOne using two methods:
|
username | Username of a full-access VersionOne account able to see all the defects you wish to retrieve For instance: user1 |
password | Password associated to the username For instance: user1_password |
url pattern | This indicates the URL to use with your VersionOne instance to edit a requirement. The URL must include the tag 'requirement_id' that will be dynamically replaced by the id of the requirement to be displayed/edited For instance: https:// www1.v1host.com/Acme /Default.aspx?Page=Widgets/Details/QuickEditStory&AssetContext=Story\:requirement_id
|
url new requirement | This indicates the URL to use with your VersionOne instance to create a new requirement. For instance: https:// www1.v1host.com/Acme/ Default.aspx?page=Gadgets/AddNewAsset/DropDown/Controls/AddDefect
|
url xml-rpc server | This indicates the URL of your VersionOne's server. For instance: https:// www1.v1host.com/Acme |
filter Projects | The list of project ids separated by ';' characters For instance: 1000;1001 When left empty, issues from all projects are retrieved. |
filter issue types | The list of issue types that you wish to retrieve in the tree separated by ';' characters For instance: Story When left empty, issues with any type are retrieved. |
filter status | The list of status that you wish to filter separated by ';' characters For instance: Future;In Progress;Accepted;;Done When left empty, issues with any status are retrieved. |
Accept ANY TLS/SSL certificate | If you connect to your VersionOne server using a SSL connection and you trust the network, just check this checkbox to accept any certificate. Note that if you do so and if your environment is not safe, you're subject to a man-in-the-middle attack. For more information on this, check the Secure connections chapter. |
Certificate (needed only with https URL) | If you connect to your VersionOne server using a SSL connection (https:// url), you'll need to copy here the server's certificate. For more information on this, check the Secure connections chapter. |
The keywords
project_id
and requirement_id
are dyamically replaced by XStudio when necessary.
Both-way integration
Jira
If you configured XStudio as described above, you have what we call a single-way integration with Jira.This means that:
- you can see all the Jira issues in XStudio's Requirements and/or Bugs trees
- you can see all the Jira issues linked with XStudio items in XStudio's GUI
- you can create/update Jira issues from XStudio:
- either asynchronously (redirecting to Jira appropriate URL)
- or synchronously (using integrated GUI)
In addition to this, if you want to view/access XStudio items linked with your Jira issues from Jira, then you'll need to install our Jira app on your Jira. This is an easy setup as you'll see in the procedure below.
Benefits
When our Jira app is installed on your Jira instance, you'll get an additional XStudio Tests tab in the Activity section of each issue.For bugs, the panel in this new tab includes 6 sections showing:
- All the Tests that detected the selected issue
- All the Test Campaigns that detected the selected issue
- All the Sessions (campaign's execution instances) in which the selected issue has been observed
- All the Exploratory Sessions where the selected issue has been observed
- All the SUTs impacted by this issue
- All the Requirements impacted by this issue
For requirements, the panel will include 3 sections showing:
- All the SUTs covered by the selected issue
- All the Tests verifying the selected issue
- All the Bugs that are impacting the selected issue
All the items are clickable and redirect the user to the item in XStudio.
Compatibility matrix
You need to know which version of our Jira app is appropriate for you.Indeed, it will depends from which type of Jira (Jira Server or Jira Cloud) and which version of XStudio you're using.
There have been many changes in Atlassian strategy, APIs and recommended frameworks so the following must be read carefully.
Breaking News: Atlassian has just announced they stop selling Jira Server license, hence we've decided to not maintain anymore our Jira app for Jira Server. It is still available but we do not support it anymore.
As a result, here are the options you have:
XStudio Versions | ||
<= 4.1sp10 | >= 4.1sp11 | |
Jira Cloud (Atlassian's Connect API) |
Not Supported (Atlassian deprecation) |
Three ways to install it: - From the Atlassian Marketplace (using our public Connect app server) - Manually - with your own private Connect app server (Download) - Manually - with our public Connect app server |
Jira Server & Jira Data-center (Atlassian's legacy API) |
Not maintained anymore as Atlassian stopped Jira Server. However, you can still install the old legacy version if you wish. Two ways to install it: - From the Atlassian Marketplace - Manually (Download) |
Not maintained anymore as Atlassian stopped Jira Server. Not Supported |
Install from Atlassian Marketplace our Jira Connect app
XStudio's Jira Connect app is available directly in the Atlassian Marketplace: XStudio Integration for Jira Cloud.Atlassian also provides an Installation section.
- Log into your Jira instance as an admin
- Open the Apps menu and select Manage your apps
- Click Find new apps from the left-hand side of the page
- Search for "XStudio"
- Select XStudio integration for Jira Cloud and click Get app
- Confirm the installation by clicking on Get it now
- After a few seconds, the XStudio integration for Jira Cloud app is confirmed to be installed
- Click Manage apps from the left-hand side of the page and select XStudio integration for Jira Cloud
- Click on Configure
The configuration panel must be provided with the following information:
Field Description Requirement Mapping Which issue types in Jira are considered as requirements in XStudio.
For instance,New Feature
,Improvement
andEpic
Bug Mapping Which issue types in Jira are considered as bugs in XStudio.
For instance,Bug
XStudio Base-URL The URL of the XStudio's Jira app front-end.
If you're using XStudio on premises:
https://<your xstudio domain>/xqual/plugins/jira
More specifically, if you're using XStudio Cloud:
https://<company-name>-prod1.myxqual.com/xqual/plugins/jira
Username the username used to fetch data from the XStudio (this account must exists in XStudio) Password The password corresponding to the username above Show inline If ticked, all the data will be displayed embedded in Jira's interface (for security reasons, it requires a XStudio https URL though).
If not ticked, a separate page is opened in the browser
Install manually our Jira Connect app
If you want to install our Jira Connect app manually, you need to use a Connect app server. You can either host it yourself (for more control) or use our global public server.Install your own private Connect app server
- Download the latest version of the Jira Connect App Server from our download section
- Remember the version that you downloaded (i.e. "6")
- Create a directory jira-xstudio-connect-plugin-<version> under the webapps folder on your XStudio server
- Unzip the package
- Copy the content in the newly created folder jira-xstudio-connect-plugin-<version> on your XStudio server
- You need to configure your Tomcat so that it match Atlassian requirements in terms of security.
Only TLSv1.2 should be enabled (TLSv1.0 and TLSv1.1 must be forbidden)
Check your Tomcat's documentation for more details. Most of the time, you'll just need to add in your Tomcat's 8443 connector (in server.xml) something similar to:
<Connector protocol="org.apache.coyote.http11.Http11NioProtocol"
port="8443" maxThreads="150"
scheme="https" secure="true" SSLEnabled="true"
keystoreFile="your_jks_file_path"
keystorePass="you_keystore_password"
clientAuth="false"
sslProtocol="TLSv1.2"
sslEnabledProtocols="TLSv1.2"
useServerCipherSuitesOrder="true"
ciphers="TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_DHE_RSA_WITH_AES_128_GCM_SHA256,TLS_DHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA,TLS_DHE_RSA_WITH_AES_128_CBC_SHA256,TLS_DHE_RSA_WITH_AES_128_CBC_SHA,TLS_DHE_RSA_WITH_AES_256_CBC_SHA256,TLS_DHE_RSA_WITH_AES_256_CBC_SHA,TLS_RSA_WITH_AES_128_GCM_SHA256,TLS_RSA_WITH_AES_256_GCM_SHA384,TLS_RSA_WITH_AES_128_CBC_SHA256,TLS_RSA_WITH_AES_256_CBC_SHA256,TLS_RSA_WITH_AES_128_CBC_SHA,TLS_RSA_WITH_AES_256_CBC_SHA,SSL_RSA_WITH_3DES_EDE_CBC_SHA">
</Connector>
HSTS should be enabled and X-Frame-Options should be authorized
Check your Tomcat's documentation for more details. Most of the time, you'll just need to add a new filter in your Tomcat's web.xml similar to:
<filter>
<filter-name>httpHeaderSecurity</filter-name>
<filter-class>org.apache.catalina.filters.HttpHeaderSecurityFilter</filter-class>
<async-supported>true</async-supported>
<init-param>
<param-name>hstsEnabled</param-name>
<param-value>true</param-value>
</init-param>
<init-param>
<param-name>hstsMaxAgeSeconds</param-name>
<param-value>31536000</param-value>
</init-param>
<init-param>
<param-name>hstsIncludeSubDomains</param-name>
<param-value>true</param-value>
</init-param>
<init-param>
<param-name>antiClickJackingEnabled</param-name>
<param-value>false</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>httpHeaderSecurity</filter-name>
<url-pattern>/*</url-pattern>
<dispatcher>REQUEST</dispatcher>
</filter-mapping>
- Restart Tomcat (for this specific service, you must use a Tomcat version >= 8.5, ideally 9)
- Your XStudio server should look like this:
<your xstudio server>/jira-xstudio-connect-plugin-<version>/atlassian-connect.json
You should get a atlassian-connect.json file (probably just displayed in the page by your browser). Check this file contains correct path to this service.
Use our public Connect app server
You have nothing to do in this case.Just check the service is up and running by browsing this url:
https://xqual-plugin-prod1.myxqual.com/jira-xstudio-connect-plugin-<version>/atlassian-connect.json.
i.e. https://xqual-plugin-prod1.myxqual.com/jira-xstudio-connect-plugin-<version>/atlassian-connect.json
You should get a atlassian-connect.json file (probably just displayed in the page by your browser). Check this file contains correct path to this service.
Installation
- Log into your Jira instance as an admin
- Open the Apps menu and select Manage your apps
- Click on the Upload app link
- Provide the URL to the atlassian-connect.json file (served by the Connect App server we talked about above)
i.e. https://xqual-plugin-prod1.myxqual.com/jira-xstudio-connect-plugin-<version>/atlassian-connect.json
- After a few seconds, the XStudio integration for Jira Cloud app is confirmed to be installed
- Click on Configure
The configuration panel must be provided with the following information:
Field Description Requirement Mapping Which issue types in Jira are considered as requirements in XStudio.
For instance,New Feature
,Improvement
andEpic
Bug Mapping Which issue types in Jira are considered as bugs in XStudio.
For instance,Bug
XStudio Base-URL The URL of the XStudio's Jira app front-end.
If you're using XStudio on premises:
https://<your xstudio domain>/xqual/plugins/jira
More specifically, if you're using XStudio Cloud:
https://<company-name>-prod1.myxqual.com/xqual/plugins/jira
Username the username used to fetch data from the XStudio (this account must exists in XStudio) Password The password corresponding to the username above Show inline If ticked, all the data will be displayed embedded in Jira's interface (for security reasons, it requires a XStudio https URL though).
If not ticked, a separate page is opened in the browser
Install from Atlassian Marketplace our Jira Legacy app
XStudio's Jira Legacy app is available directly in the Atlassian Marketplace: XStudio Jira Integration.Atlassian also provides an Installation section.
- Log into your Jira instance as an admin
- Open the Apps menu and select Manage your apps
- Click Find new apps from the left-hand side of the page
- Search for "XStudio"
- Select XStudio Jira Integration and click Get app
- Confirm the installation by clicking on Get it now
- After a few seconds, the XStudio Jira integration app is confirmed to be installed
- Click Manage apps from the left-hand side of the page and select XStudio Jira integration
- Click on Configure
The configuration panel must be provided with the following information:
Field Description Requirement Mapping Which issue types in Jira are considered as requirements in XStudio.
For instance,New Feature
,Improvement
andEpic
Bug Mapping Which issue types in Jira are considered as bugs in XStudio.
For instance,Bug
REST Base-URL The URL of the REST API of your XStudio server.
If you're using XStudio on premises:
https://<your xstudio domain>/xqual/api
More specifically, if you're using XStudio Cloud:
https://<company-name>-prod1.myxqual.com/xqual/api
XStudio Base-URL The URL of the XStudio's Jira app front-end.
If you're using XStudio on premises:
https://<your xstudio domain>/xqual/plugins/jira
More specifically, if you're using XStudio Cloud:
https://<company-name>-prod1.myxqual.com/xqual/plugins/jira
Username the username used to fetch data from the XStudio (this account must exists in XStudio) Password The password corresponding to the username above Show inline If ticked, all the data will be displayed embedded in Jira's interface (for security reasons, it requires a XStudio https URL though).
If not ticked, a separate page is opened in the browser
Install manually our Jira Legacy app
If you don't have access to the Atlassian Marketplace (i.e. no internet acces) you can also install manually our Jira Legacy app.- Log into your Jira instance as an admin
- Open the Apps menu and select Manage your apps
- Click on the Upload app link
- Provide the Jira Legacy app jar file
You can download the latest version here: Jira Legacy app v5
- After a few seconds, the XStudio Jira integration app is confirmed to be installed
- Click Manage apps from the left-hand side of the page and select XStudio Jira integration
- Click on Configure
The configuration panel must be provided with the following information:
Field Description Requirement Mapping Which issue types in Jira are considered as requirements in XStudio.
For instance,New Feature
,Improvement
andEpic
Bug Mapping Which issue types in Jira are considered as bugs in XStudio.
For instance,Bug
REST Base-URL The URL of the REST API of your XStudio server.
If you're using XStudio on premises:
https://<your xstudio domain>/xqual/api
More specifically, if you're using XStudio Cloud:
https://<company-name>-prod1.myxqual.com/xqual/api
XStudio Base-URL The URL of the XStudio's Jira app front-end.
If you're using XStudio on premises:
https://<your xstudio domain>/xqual/plugins/jira
More specifically, if you're using XStudio Cloud:
https://<company-name>-prod1.myxqual.com/xqual/plugins/jira
Username the username used to fetch data from the XStudio (this account must exists in XStudio) Password The password corresponding to the username above Show inline If ticked, all the data will be displayed embedded in Jira's interface (for security reasons, it requires a XStudio https URL though).
If not ticked, a separate page is opened in the browser
SSL/TLS connections
If you need to connect to a third-party bug-tracking server that uses SSL/TLS, you can provide the server certificate in the settings so that the connection can be established automatically.For more details, please refer to the secure connections section of the documentation.