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:
  • use specific username and password (specified below)
  • use each user's XStudio credentials (the one used to log in XStudio
    Note: if you have LDAP/Active Directory enabled, then this would be the directory's user credentials and it would act as a SSO (Single sign-on).
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?

  • In JIRA, click Administration > Issues > Issue Types
  • On the Global Issue Types sub-tab, hover your mouse cursor over the Edit operation link of an issue type
  • JIRA will display the issue type's id appended to the URL shown in the browser's status bar.
    For example, the "id" in the following link represents the id of the issue type: http://<your-server>/secure/admin/EditIssueType!default.jspa?id=10006
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:
  • 1 = Bug
  • 2 = Improvement
  • 3 = New Feature
  • 4 = Task


We've been reported that with some versions of JIRA it can be:
  • 1 = Bug
  • 2 = New Functionality
  • 3 = Task
  • 4 = Improvement


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?

  • In JIRA, click Administration > Issues > Issue Types
  • On the Global Issue Types sub-tab, hover your mouse cursor over the Edit operation link of an issue type
  • JIRA will display the issue type's id appended to the URL shown in the browser's status bar.
    For example, the "id" in the following link represents the id of the issue type: http://<your-server>/secure/admin/EditIssueType!default.jspa?id=10006


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 (not secure) 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 login and password provided will be used to authenticate to the JIRA server.
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 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:
  • use specific username and password (specified below)
  • use each user's XStudio credentials (the one used to log in XStudio
    Note: if you have LDAP/Active Directory enabled, then this would be the directory's user credentials and it would act as a SSO (Single sign-on).
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.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?

  • In JIRA, click Administration > Issues > Issue Types
  • On the Global Issue Types sub-tab, hover your mouse cursor over the Edit operation link of an issue type
  • JIRA will display the issue type's id appended to the URL shown in the browser's status bar.
    For example, the "id" in the following link represents the id of the issue type: http://<your-server>/secure/admin/EditIssueType!default.jspa?id=10006
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 (not secure) 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 login and password provided will be used to authenticate to the JIRA server.
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:
  • use specific username and password (specified below)
  • use each user's XStudio credentials (the one used to log in XStudio
    Note: if you have LDAP/Active Directory enabled, then this would be the directory's user credentials and it would act as a SSO (Single sign-on).
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 (not secure) 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 login and password provided will be used to authenticate to the VersionOne server.
The keywords project_id and requirement_id are dyamically replaced by XStudio when necessary.



SSL/TLS connections

If you need to connect to a third-party requirement management system 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.