Integration of Atlassian Jira® and Microsoft® Azure® DevOps

Overview

DEON’s integration of external issue-tracking and/or planning solutions like Jira or Azure allow users to easily utilize features of them directly in their DEON workspace. Issues can be created, contents and properties changed and finally synced to the server. Remote data can be easily (bulk-)imported and DEON also allows for pasting issue URLs onto the project scene.

 

Features

  • Easily connect to Atlassian Jira® and Microsoft® Azure® DevOps
  • See your projects at a glance
  • Create new tickets and edit them on the fly
  • Import single items, a bulk list or from a filtered collection
  • Powerful search query language
  • One-click-synchronize your work with your server
  • Organize your items with several built-in layouts

 

Initial Jira® Setup

The integration of Jira allows DEON to access project data that is managed by a remote Jira server. In order to do that a user authentification and authorization procedure must be followed and for that to work the server must be configured properly first.

Please note: Administrative server rights are required for this step.

First, log in to the target Jira system, then find and navigate to the application link page on the website. Usually that page is easy to find in the settings and should be accessible by a very similar URL like this https://YOUR_SITE_NAME.atlassian.net/plugins/servlet/applinks/listApplicationLinks. Once there you should be able to see a list of existing (if any) application links as shown in the image below.

Click on Create link and follow these instruction closely. First you need to decide on the type of link, in this case select Direct application link and put https://deon.de as the Application Url like shown in below.

The next step is to set a name and the application type like in that image. Do not forget to check Create incoming link.

Finally set the Consumer key to OauthKey, the Consumer name to DEON and copy the Public Key from below in the related field. Then continue to finalize the application link.

MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDwbjsh4GEf9NGWSwxvVWodfkCnG5DFhbqvf3+HOrzpEXDCvZBcS58lRz8h7Lb376QXxUoJfogLD//LGooUM02DLOIHbrZcMGWhG34+cbP7UNHppY1/m4AcRfTkXyyFzOBuWfbHYSIYeiE/qYIplWhib8By8rxlUVm9NMjhPp0mrQIDAQAB

Once created you should be able to see a new application link being listed on your website, similar to the one in the image below. From now on this Jira server will allow DEON to send requests and to exchange data.

 

Initial DEON Setup

Before users can benefit from the integrated tracking features a server connection must be created.

To setup a server connection some information must be provided, usually this is:

  1. Connection Name
  2. Target System (currently Jira or Azure available)
  3. Target Environment (cloud-based or dedicated/on-prem)
  4. Server Address (URL)
  5. Authentication Parameter (Password/PAT/API-Token/etc.)

The connection setup can be found in the DEON settings. Click on the icon in the upper left section of the window titlebar to open the settings dialog and navigate to Issue Tracking on the left pane.

There two sections in the issue tracking settings: Preferences and Connection Setup. The setup tab is only visible on DEON workspace windows since connections are bound to projects. If the tab is hidden please open a project from the list and open the settings dialog on that window again.

To create a new connection go to Connection Setup  tab and click on theicon. A new connection object will be added to the list displaying all its properties on the right side.

Now just type in all required parameters. Start with providing a reasonable connection name, then add the server address.

Please note: Only use the base server address with no further page path(s). Example: https://dev.azure.com/COMPANY_NAME/

Select the target system, either Azure or Jira, and set the target environment as their are either cloud or on-prem (also known as hosted, dedicated, on-prem, etc.) In the section Project Preselection users may specify project names (these can be real names or IDs, DEON will try to identify them automatically) to reduce the total amount of projects that will be synced and cached.

Finally take a second look to assure all data was entered corrrectly and hit OK. DEON will now try to connect to the specified server and build the local data cache. Once this is done the settings dialog may be closed.


Generate API/Personal-Access Tokens (Exemplified here for Jira)

The API token can be generated for all users by themselves by navigating to the account management in the designated Jira system. In the account management settings you will find a section called Security (or similar) as shown below.

That page lists a few options including password reset, two-way authentication settings and also the API Token generation.

Click on Create and manage API tokens to create a new token. A new form will appear that shows all yet existent tokens and also allows to generate new ones. Click on Create API token to continue.

All you have to do is to provide a useful and unique name or so-called label for the token you want to generate.

Once you chose an appropriate name click Create. The next dialog informs you about the successful generation and reminds you to copy the new token to securely store it for later usage.

After finishing the process you will get back to the token dashboard and see your new token listed there. From this point on that token is ready to be used in DEON’s connection authentication process.

 

Authentication Process

In almost any case a connection to a server will require the user to authenticate himself and to authorize DEON to access the target tracking system. Once a connection has been configured in the connection setup and the cache building process is started that connection will attempt to authenticate the user with the server.
Therefore DEON will identify the type of authentication and provide several dialogs to ease up that process. As of now the tracking system integration supports interacting with Jira and Azure, depending on the selected connection you will see a different dialog as shown below.

Authentication dialog for Azure:

Authentication dialog for Jira:

In these two cases the connection has been configured to direct to a cloud-based server which will require the user to provide a username and a matching password or access token. Two-way authentication is also supported and some systems like Jira demand to explicitely authorize the application, in this case DEON, to access server data and functionality. Once the authentication/authorization process is done and successfully finished you may close that dialog. From now on this connection is active and can be used.

For Jira Server currently a different way of authentication is mandatory which is by providing a generated API-Token. Usually the combination of a user name and this token is sufficient to fully pass the authentication and authorization process.

API-Token dialog:

More information on how to generate these tokens please read the previous section.

In any case all provided credentials are securely stored along DEON’s perimeter settings and as long as the authentication/authorization is accepted by the server you do not need to enter these again. Should the authentication session time out DEON will notify you before any issue tracking functionality can be used. In that scenario the authentication process simply has to be repeated.

 

Importing/Creating tickets

To create a new issue/ticket go to the widgets menu in DEON’s main menu bar like shown below

and find the issue tracking features there. These will remain inactive until a valid connection has been set up. Once this step has been done click on the icon to activate the creation tool, then click anywhere in the project to initiate issue creation on that location. A new dialog will appear which will help you follow along with all required steps.

First select the designated connection from the first dropdown menu at the very top which will be used to target the correct server. Then choose a project from the list below and specify the target issue/ticket type (e.g. Bug, Task, etc.). Providing a good summary is also mandatory as it serves as the ticket’s summary/title. Optionally you may also add a priority, an assignee and a description of the matter. Once you are finished with all values just click Accept (if the Auto-Push setting is activated the button may read Accept And Sync) to create a new issue/ticket object in the project. The new widget may look similar to the images below, depending on the last selected view mode (card or line mode, the context menu section contains more details) :

Card View Mode:

Line View Mode:

The widget contains many hints and information about the content, like an associated tracking syste m icon on the upper left corner, the project and the ticket ID (which is a link that opens the ticket’s URL in the browser), the issue type, the current workflow state and the assignee (if any specified). Right in the center of the widget the summary is displayed and can be edited right there.

Existing issues/tickets can be easily imported into your project from any connected server and DEON provides several ways to do so.

Bulk Import:
One option is the so-called bulk import that can be accessed by opening the import dialog in the widgets menu in DEON’s main menu bar.

There just click on the icon. The following dialog will appear:

First select the target connection which will be used to target the correct server. Then choose your designated project and the list of issues/tickets will update automatically. By default the search query just finds all items related to the selected project. You may edit the search query manually by clicking the icon.
Please note: Currently there’s is no validation check for syntax errors, invalid entries are possible and may result in undesired search results!

The items list allows for multi-selection so users can import many items at once. Once you selected all wanted issues just click on Accept to create a new widget for each selected issue in the project. By default all imported issues are treated equally and hence are placed in a grid layout. If issues are linked to each other you also may changed the arrangement from to in the arrangement dropdown in the dialog. This will place parent issues/tickets on top of their linked children.

Import via Copy/Paste of URLs from a web browser:
Another way of bringing external issues/tickets into a DEON project is by copying and then pasting the URL of the desired ticket. Important for this process to be successful is that the URL link contains the project name or ID and the ticket ID/number.

A possible valid (Azure) ticket URL looks similar to this: https://dev.azure.com/YourCompanyName/ProjectName/_workitems/edit/4889/

Import via Drag-and-Drop of URLs from a web browser:
Instead of copying and pasting the URL you may also use a drag-and-drop operation to place the ticket into the DEON project space. Therefor just click and drag the URL from the browser directly over DEON and drop it there. DEON will recognize valid URLS for both the copy/paste and drag-and-drop operations.

Both options do also work from within embedded web browsers in DEON. Should you happen to have a browser widget placed in your project you can drag-and-drop or copy/paste ticket URLs from within this browser to the DEON project without the necessity to open these URLs externally in the first place.

 

Editing and Synchronization

Every issue widget comes with context menu options to work with the ticket. Click and select the issue object to open the context menu:

  Allows to edit all ticket data in a separate dialog. After accepting the changes can be synced.
  Pushes pending changes to the server.
  Pulls issue/ticket data from the server. Please note: Unsynced local data will be overwritten!
  Opens the issue URL in a browser.
  Switches the view mode of the selected issue(s) between card and line mode.

In the editing dialog users can edit all available properties of the selected issue/ticket. Since tickets tend to contain many details in their description DEON also supports HTML language editing for that purpose like shown in the image below.

 

Notes

The tracking integration system operates on a local cache which means a certain amount of data needs to be loaded occasionally from the server and is used to build up a local data cache. Based on user selection this step needs to happen on a reoccurring schedule (daily, weekly, etc.). This process may take some time and largely depends on the amount of projects that DEON finds on the server.

As a rule of thumb users can expect the more projects need to be collected from a server the more data is cached and the longer it takes to finish the cache building step. DEON will notify the user as soon as the process is done. During this time the tracking features are not available.