Uploaded image for project: 'Product Roadmaps'
  1. Product Roadmaps
  2. MMF-2135

Projects onboarding is available in Community Edition

    XMLWordPrintable

    Details

    • Type: MMF
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Labels:
      None

      Description

      WHY

      For users who want to test SonarQube with a very first analysis on their local machine, it can be relatively easy to run this first one-shot analysis, especially for Java projects.

      But when it comes to a team who wants to start integrating continuous checks of their ALM project, users struggle to configure their analysis. Many users don’t naturally know how to configure their CI to run SonarQube checks on their ALM project.

      We’ve already captured the users who have the ability to bootstrap themselves. We need to help the users who don’t know where to start from.

      In Developer Edition, we’ve added the onboarding so that users feel at home in SonarQube, select their ALM project and get guidance to analyze it in their main CI.
      We provide an end-to-end wizard which:

      • Mirrors the ALMs so that users see in SonarQube the projects they see in their ALM
      • Creates a link with the ALM that eases project configuration, specifically regarding PR decoration, and that tomorrow will help projects to be even more in sync with the ALM (main branch name, list of active PRs etc).
      • Guides users to analyze their project in their CI to integrate the quality check in their dev pipeline.

      As CE instances represent most of the instances and the beginning of the journey for most of the users who discover the product, we want them to benefit from the same level of help.

      Also, the market has rising expectations from a UX point of view (cf other static analysis solutions): nowadays, when you discover a product, you expect to be explicitly guided without reading documentation.

      We expect to add an end-to-end guidance to our users, without removing anything for existing experienced users.

      WHAT

      Intended outcome

      • We expect to provide a full wizard to avoid friction for teams who begin to analyze projects, starting from establishing the first link between their ALM and SonarQube to having projects analyzed in your CI.
      • We expect to ease the upgrade path to commercial editions, with a minimal additional setup to be done by our users to analyze additional branches and PRs.
      • As ALM connection will now be available to a large part of all SQ users, we'd like to collect additional telemetry info to know what are the most used ALMs amongst all living SQ instances. Counting only configured ALMs would be good enough.

      Out of scope

      • We will not provide any guidance for users upgrading from CE on how to adapt existing CI setups. They will have to look at the documentation on the matter.
      • We will not allow users to update their project binding through the UI (although the WS will exist). We will hide the Pull Request Decoration tab under General Settings.
      • We will not retrieve the user's main branch from the ALM. If it's not master, they will have to rename it when upgrading, as mentioned in the docs.
      • We will not retrieve info how much an ALM is used across all instance projects. Ex: if the instance have a dozen of projects, we won't count how many of them are linked to an ALM and which one.

      HOW

      ALM integration and project import

      • Move the entire api/alm_settings and api/alm_integrations domains to CE.
        • We keep asking for tokens with the same level of permissions as for DE (i.e., sufficient permission to decorate PRs/MRs).
          • Validation of the admin settings is kept as in DE (checks the exact same things and permissions).
          • Nice to have: on the UI, we'll update the PR/MR feature to always show Disabled.
          • Nice to have: on the UI, we can use this opportunity to show some Marketing message, encouraging to upgrade for Branch/PR support.
        • Hide the Pull Request Decoration tab under Project Settings > General Settings (already the case; it checks the branchesEnabled feature flag).
      • Enable import in the UI in CE (disregard branchesEnabled feature flag; SONAR-14364).
      • [Backend] Create two new modules:
        • “sonar-alm-client” in “server” module
          Create thin clients for each ALM in “sonar-alm-client” module - should only support onboarding.
          Create extended clients which supports PR decoration in developer extension.
          Reference those packages where needed. (Module names can be changed if needed)
      • Move ‘alm_settings’ and ‘alm_integrations’ WS domains to CE
        • Protobuf definitions
        • Action classes and modules

      Tutorials

      • Enable the display of tutorial selection in CE (disregard branchesEnabled feature flag; SONAR-14363).
      • Update the tutorials for:
      • Update the documentation on Jenkins. Currently, it only speaks about pull request analysis. (SONAR-14362)
      • Nice to have: Create a new page which shows tutorials for the current project, and put a link in the branch menu help tooltip (SONAR-14368).

      Telemetry (nice to have)

        Attachments

          Issue Links

            Activity

              People

              Assignee:
              christophe.levis Christophe Levis
              Reporter:
              christophe.levis Christophe Levis
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved: