Uploaded image for project: 'Migration Toolkit for Applications'
  1. Migration Toolkit for Applications
  2. MTA-551

Document: Integration with JIRA

XMLWordPrintable

    • Icon: Task Task
    • Resolution: Done
    • Icon: Critical Critical
    • MTA 6.2.0
    • None
    • Documentation
    • None
    • False
    • Hide

      None

      Show
      None
    • False
    • No

      Proposal

      Personas / Actors

      Administrator

      The administrator for the tool that has access to some application-wide configuration parameters that other users can consume but not change or browse. Example: Jira configuration, Jira Credentials.

      Architect

      A technical lead for the migration project that can create and modify applications and information related to it. The Architects don’t need to have access to sensitive information, but can consume it. Example: Create an issue from an application without knowing the credentials of a given Jira instance.

      User Stories

      Issue Manager Configuration.

      • As an administrator I want to be able to configure access to multiple Jira instances
      • As an administrator I want to be able to configure Jira instances of any flavor: Server, Data Center and Cloud
      • As an administrator I want to be able to manage credentials to access Jira instances
      • As an administrator I want to be able to configure access to Jira instances through HTTP or HTTPS, including self-signed certificates

      https://github.com/konveyor/enhancements/blob/9122fb47c88498bf055127d3a5823e5962ddd492/enhancements/tackle/tackle-jira-integration/README.md#export-to-issue-manager

      Export to issue manager

      • As an architect I want to be able to export applications as issues in Jira
      • As an architect I want to be able to select the target instance to export applications to
      • As an architect I want to be able to select the target project to export applications to
      • As an architect I want to be able to select the issue type to be used when exporting the applications as issues

      https://github.com/konveyor/enhancements/blob/9122fb47c88498bf055127d3a5823e5962ddd492/enhancements/tackle/tackle-jira-integration/README.md#application-migration-status

      Application migration status

      • As an architect I want to be able to get information about the status of the issue associated with an application
      • As an architect I want to be able to get the link to the issue associated with an application
      • As an architect I want to be able to derive the status of a migration wave based on the aggregation of statuses of the applications associated to that wave

      https://github.com/konveyor/enhancements/blob/9122fb47c88498bf055127d3a5823e5962ddd492/enhancements/tackle/tackle-jira-integration/README.md#functional-specification

      Functional Specification

      https://github.com/konveyor/enhancements/blob/9122fb47c88498bf055127d3a5823e5962ddd492/enhancements/tackle/tackle-jira-integration/README.md#issue-manager-configuration-in-the-administrator-perspective

      Issue Manager configuration in the Administrator Perspective

      https://github.com/konveyor/enhancements/blob/9122fb47c88498bf055127d3a5823e5962ddd492/enhancements/tackle/tackle-jira-integration/README.md#related-use-cases
      Related Use Cases
      Involved Personas
      Description
      Main view

      A new entry should be added on the Control Menu on the left bar. This new option will be called Issue Management, and will have a single nested option for the moment titled Jira. Future integrations with other Issue Managers should add more nested options.

       

      Clicking in the Jira nested option will open the Jira configuration view, where the user will be able to manage Jira instances. Instances will be represented on a table, displaying the following attributes for each row:

      • Instance name
      • URL
      • Instance type
      https://github.com/konveyor/enhancements/blob/9122fb47c88498bf055127d3a5823e5962ddd492/enhancements/tackle/tackle-jira-integration/README.md#create-instance
      Create instance

      The administrator can create an instance by clicking the "Create instance" button. This will open a modal window with the following fields:

      • Instance name: String
      • URL: String
      • Instance type: Dropdown, single selection. Values:
        • Server
        • Data Center
        • Cloud
      • Credentials: Dropdown, single selection. Will display a list of all Jira credentials available on the system.
      • Enable insecure communication: Toggle.

       

      There will be two buttons at the bottom of the modal window:

      • Save: Validates the input and creates a new instance.
      • Cancel: Exists the modal window. If any data has been entered, the system will ask for confirmation.
      https://github.com/konveyor/enhancements/blob/9122fb47c88498bf055127d3a5823e5962ddd492/enhancements/tackle/tackle-jira-integration/README.md#edit-instance
      Edit instance

      Clicking on the Edit button on the application row will open the Edit instance modal. Its contents will be the same as in the instance creation modal window, but with the contents filled with their corresponding values for the selected application.

      Delete instance

      The delete button on the application row will delete an instance after confirmation. Jira instances cannot be deleted if they host any issue associated with any application. In that case, if the user clicks on delete, the following error message will be displayed:

      "This instance contains issues associated with applications and cannot be deleted"

      https://github.com/konveyor/enhancements/blob/9122fb47c88498bf055127d3a5823e5962ddd492/enhancements/tackle/tackle-jira-integration/README.md#exporting-applications-as-issues

      Exporting applications as issues

      https://github.com/konveyor/enhancements/blob/9122fb47c88498bf055127d3a5823e5962ddd492/enhancements/tackle/tackle-jira-integration/README.md#related-use-cases-1
      Related Use Cases
      https://github.com/konveyor/enhancements/blob/9122fb47c88498bf055127d3a5823e5962ddd492/enhancements/tackle/tackle-jira-integration/README.md#involved-personas-1
      Involved Personas
      https://github.com/konveyor/enhancements/blob/9122fb47c88498bf055127d3a5823e5962ddd492/enhancements/tackle/tackle-jira-integration/README.md#description-1
      Description
      https://github.com/konveyor/enhancements/blob/9122fb47c88498bf055127d3a5823e5962ddd492/enhancements/tackle/tackle-jira-integration/README.md#migration-waves-view
      Migration Waves View

      The Migration Waves view will offer a way to export all the applications associated to a wave as issues at bulk. An option for that, Export to Issue Manager, will be available on the kebab menu for each wave:

      Clicking on that option will open a modal window with the following fields:

      • Issue Manager: Dropdown, single selection. The only value will be Jira for the moment, and other values will be added as more integrations are implemented.
      • Instance: Dropdown, single selection. Will display a list of all Jira instances available on the system.
      • Project: Dropdown, single selection. It will be populated dynamically once an instance has been selected and will contain the list of available projects in the given Jira instance the configured user has access to.
      • Issue type: Dropdown, single selection. It will be populated dynamically once the project has been selected and will contain the list of available tasks for the given project.

      There will be two buttons at the bottom of the modal window:

      • Export: Starts the export of the list of applications associated with the Migration Wave.
      • Cancel: Exists the modal window. If any data has been entered, the system will ask for confirmation.

      Aggregated view of the status of a Migration Wave

      https://github.com/konveyor/enhancements/blob/9122fb47c88498bf055127d3a5823e5962ddd492/enhancements/tackle/tackle-jira-integration/README.md#related-use-cases-2
      Related Use Cases
      Involved Personas
      Description

      A new compound expandable section is proposed for the migration waves to reflect status data. Rows on that section will include the following fields.

      • Application Name: Name for the given application.
      • Status: Status of the application in the issue manager. This field should load asynchronously to reflect the latest data on the issue manager.
      • Issue: Issue code in the issue manager with a link to the actual issue.

      At the top level of the compound expandable section, the aggregated status of the applications will be displayed in a text field with an icon. The business logic to manage both the aggregated and individual statuses is the following:

      • When applications are in the process of being imported to the issue manager, the aggregated status should be Creating Issues and the individual application status should be Creating Issue.
      • Once issues have been created, each issue should display their corresponding status on the issue manager. The aggregated status will display Issues Created if the current system date is previous to the Start Date for the wave, and In progress if the current system date is posterior to it.
      • When all issues associated to the applications in a wave have reached the universal closed state from the issue manager, the aggregated status will display Completed.
      • If there is any error creating an issue for an application, both its individual status and the aggregated status will display "Error".

      Implementation Details/Notes/Constraints

      Jira Communication Flow/API calls

      Documentation of the communication flow for each instance type.
      https://github.com/konveyor/enhancements/blob/9122fb47c88498bf055127d3a5823e5962ddd492/enhancements/tackle/tackle-jira-integration/README.md#jira-on-premise

              rhn-support-sbeskin Sasha Beskin
              rhn-support-anarnold A Arnold
              Igor Braginsky Igor Braginsky
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

                Created:
                Updated:
                Resolved: