Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

The Issue Tracking Systems page, which can be accessed through the Administration - Integrations - Issue Tracking Systems menu, allows management of integrations into third-party issue tracking systems. FlexDeploy currently provides out of box integration with Atlassian Jira. You can define custom implementation using either Java class or Groovy script. FlexDeploy reads ticket(s) from SCM commit message comments to associate tickets.  As during build execution. As an example, if you use SVN, when committing a change back to the repository, simply put the issue name in the commit comment(case sensitive).  If using Git as your SCM, make sure that the Git executable is installed on FlexDeploy server and is accessible on the PATH. The Git executable version must be 1.7.9 or higher. 

...

Field Name

Required

Description

Id

Yes

System generated identifier (read-only).

Name

Yes

Name of the issue tracking system (read-only).

Description

No

Description of the issue tracking system.

Ticket Number Pattern

Yes

Pattern of the issues within the issue tracking system, used to associate FlexDeploy builds with particular issue(s). If not specified here, the pattern will need to be defined on each project which associates to your issue tracking system. For Jira, the pattern of tickets is the Jira project Key, followed by a dash (e.g. "MYPROJ-"). All tickets created for this project are prefixed by this key, making it the pattern.

Update Tickets on Build

No

Check this box if you want to globally update any tickets associated to FlexDeploy builds. Can be overridden at the environment, project, or environment/project level.

Build Update Comment Pattern

No

Applicable only if Update Tickets on Build is checked. The value of this property is a groovy script which evaluates to the comment you wish to update associated tickets with when a build completes successfully. Groovy variables available to the script are provided in the (x=) dropdown to the right. Can be overridden at the environment, project, or environment/project level.

Update Ticket Status on Build

No

Applicable only if Update Tickets on Build is checked. Check this box if you want to globally update the status of any tickets associated to FlexDeploy builds. Can be overridden at the environment, project, or environment/project level.

To (Build)

No

Applicable only if Update Ticket Status on Build is checked. Any associated ticket will be updated to this status whenever the build completes successfully. Can be overridden at the environment, project, or environment/project level.

Update Tickets on Deploy


Check this box if you want to globally update any tickets associated to FlexDeploy deployments. Can be overridden at the environment, project, or environment/project level.

Deploy Update Comment Pattern


Applicable only if Update Tickets on Deploy is checked. The value of this property is a groovy script which evaluates to the comment you wish to update associated tickets with when a deployment completes successfully. Groovy variables available to the script are provided in the (x=) dropdown to the right. Can be overridden at the environment, project, or environment/project level.

Update Ticket Status on Deploy


Applicable only if Update Tickets on Deploy is checked. Check this box if you want to globally update the status of any tickets associated to FlexDeploy builds when they are deployed. Can be overridden at the environment, project, or environment/project level.

To (Deploy)


Applicable only if Update Ticket Status on Deploy is checked. Any associated ticket will be updated to this status whenever the deployment completes successfully. Can be overridden at the environment, project, or environment/project level.

...

Anchor
_GoBack
_GoBack


Issue Tracking System statuses identify the statuses within your Jira system, and allows FlexDeploy to update your issues to those values at build or deployment time. You will add the statuses from the Jira workflow(s) associated to your Jira project(s). Click the (plus) and (minus) buttons to add or remove statuses from the list. 


Image RemovedImage Added

To identify the statuses to add, from within your Jira system, view the workflow(s) associated to your Jira project(s). Switching to the Text view of the workflow editor/viewer you can identify the workflow statuses and transition ids.

...

Tickets can also be manually associated to an Issue Tracking System on the Build Request Form for each project.

Custom Issue Tracking System Integration

Tip
titleGetting StartedCustom Issue Tracking System Integration

If you want FlexDeploy to integrate with custom or other third party Issue Tracking System, then you should create a new Issue Tracking System using a custom Java or Groovy implementation

...

Here we are creating custom issue tracking system with the properties, you can add more as necessary.

Image Modified

API Implementation

...

  • Create java class that extends flexagon.fd.model.integration.its.api.IssueTrackingSystem. See example below.
    • Below example has testConnection method implemented. The method uses the properties map to retrieve the configuration values to connect to the issue tracking system.

Image Modified

  • In order to compile your java class, you will need FlexDeployAPI.jar on classpath.
  • Implement all the methods descriped in the table in the API Implementation section
  • For any failure connecting to the system or if any issues with the data, then you can throw exception. For example throw new ApiException("Invalid credentials.", "");
  • Once you are ready with unit testing, you can prepare Jar file for your credential store java class and other utility classes. This jar file can be placed on server classpath now.
    • For Tomcat, put this jar file in apache-tomcat-flexdeploy/lib folder.
    • For WebLogic, put this jar file in Domain lib folder.
    • If you are using any third party libraries from your Java implementation, then those jar files will also need to be added to same lib folder. Keep in mind that this can cause issues with server functioning, so be prepared to remove your additional library files.

...

  • Create a groovy class. See example below.
    • Below example has testConnection method implemented.

Image Modified

  • Implement all the methods descriped in the table in the API Implementation section
  • For any failure connecting to the system or if any issues with the data, then you can throw exception. For example throw new ApiException("Invalid credentials.", "");

...