CINXE.COM

Getting started as a team | Documentation | SymfonyInsight

<!DOCTYPE html> <html lang="fr"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta http-equiv="X-UA-Compatible" content="IE=edge" /> <meta name="msapplication-tap-highlight" content="no" /> <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> <meta name="referrer" content="origin" /> <link href="https://fonts.googleapis.com/css?family=Roboto:300,400,500,600,700&amp;display=swap" rel="stylesheet"> <link rel="stylesheet" href="https://insight.symfony.com/build/lib.1f2b2c55.css" /> <link rel="stylesheet" href="https://insight.symfony.com/build/app.67946384.css" /> <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@docsearch/css@3" /> <style> #doc-search .DocSearch-Button { width: 100%; max-width: 570px; color: #007375; background-color: #ffffff; border: #007375 solid thin; } #doc-search .DocSearch-Search-Icon { color: #007375; } #doc-search .DocSearch-Button-Key { background: #d3e6e7; color: #007375; box-shadow: none; height: 25px; top: 0; margin-right: 3px; padding: 3px; min-width: 25px; } footer { margin-top: 0; } </style> <link rel="stylesheet" href="https://insight.symfony.com/css/docs-builder-theme.css" /> <link href="https://insight.symfony.com/fa/css/all.min.css" rel="stylesheet"> <title>Getting started as a team | Documentation | SymfonyInsight</title> <meta name="description" content="PHP project quality, done right." /> <link rel="apple-touch-icon" sizes="180x180" href="https://insight.symfony.com/apple-touch-icon.png"> <link rel="icon" type="image/png" sizes="32x32" href="https://insight.symfony.com/favicon-32x32.png"> <link rel="icon" type="image/png" sizes="16x16" href="https://insight.symfony.com/favicon-16x16.png"> <link rel="manifest" href="https://insight.symfony.com/site.webmanifest"> <link rel="mask-icon" href="https://insight.symfony.com/safari-pinned-tab.svg" color="#5bbad5"> <meta name="msapplication-TileColor" content="#006769"> <meta name="theme-color" content="#ffffff"> <meta property="og:site_name" content="SymfonyInsight" /> <meta property="og:type" content="website" /> <meta property="og:url" content="https://insight.symfony.com" /> <meta property="og:title" content="Getting started as a team | Documentation | SymfonyInsight" /> <meta property="og:description" content="PHP project quality, done right." /> <meta property="og:image" content="https://insight.symfony.com/sharer-default.png" /> <meta property="og:image:width" content="1905" /> <meta property="og:image:height" content="1000" /> <script type="application/ld+json"> { "@context": "http://schema.org", "@type": "WebSite", "url": "https://insight.symfony.com", "name": "Getting started as a team | Documentation | SymfonyInsight", "description": "PHP project quality, done right.", "funder": { "@type": "Organization", "url": "https://symfony.com", "name": "Symfony" } } </script> <style> .webinar-banner { background: #007375; } .webinar-banner a { display: block; padding: 10px; text-align: center; color: #fff; text-decoration: none; } .webinar-banner a:hover, .webinar-banner a:hover span, .webinar-banner strong { text-decoration: underline; } .webinar-banner span { display: inline-block; padding-right: 15px; color: #fff; } .webinar-banner strong { display: inline-block; padding-left: 15px; } </style> <script async="true" data-browser-key="30e57ea14c0d6fb73470ac106726cfecb7c6278a881a16bd7ebdbbb6794b2e87" data-sample-rate="1.000000" data-parent-trace-id="c80a6e0e80d545dd94c32ca460f6dd52" data-transaction-name="App\Controller\HelpController::sectionAction" data-collector="https://ingest.blackfire.io" src="https://admin.pipeline.blackfire.io/js/probe.js"></script></head> <body class=""> <div id="sln"></div> <header class="header"> <div class="container"> <div class="row align-items-center"> <div class="col-9 col-md-4 text-left mb-0"> <a href="/" title="Back to home"> <img src="https://insight.symfony.com/insight/img/logo-header.svg" alt="SymfonyInsight logo" class="header-logo" /> </a> </div> <div class="col-3 text-right d-md-none"> <button class="btn btn-link text-primary" id="mobile-menu-button"> <i class="fas fa-bars"></i> </button> </div> <div class="d-none d-md-block col-12 col-md-auto ml-0 ml-md-auto" id="mobile-menu-nav"> <ul class="nav nav-pills mt-3 mt-md-0 flex-column align-items-stretch flex-md-row justify-content-md-start"> <li class="nav-item"> <a class="nav-link " href="https://insight.symfony.com/features"> How does it work? </a> </li> <li class="nav-item"> <a class="nav-link " href="https://insight.symfony.com/what-we-analyse"> What we cover </a> </li> <li class="nav-item"> <a class="nav-link active" href="https://insight.symfony.com/docs"> Documentation </a> </li> <li class="nav-item"> <a class="nav-link " href="https://insight.symfony.com/pricing"> Pricing </a> </li> </ul> </div> </div> </div> </header> <div class="container"> <div class="docs"> <div class="text-center mt-5 mb-5"> <h3>Documentation</h3> <br> <div id="doc-search" class="d-flex justify-content-center"></div> </div> <div class="row docs-page"> <div class="col-lg-3"> <div class="docs-page-menu"> <a href="/docs" class="docs-page-menu-home"> <i class="fa fa-book" aria-hidden="true"></i> <span>Doc index page</span> </a> <div id="documentation-menu"> <ul> <li><p><a href="getting-started.html" class="reference internal">Getting started</a></p> <ul> <li><a href="/docs/getting-started/introduction-to-insight.html" class="reference internal">Introduction to SymfonyInsight</a></li> <li><a href="/docs/getting-started/getting-started-as-a-team.html" class="reference internal">Getting started as a team</a></li> <li><a href="/docs/getting-started/getting-started-as-a-freelancer.html" class="reference internal">Getting started as a freelancer</a></li> <li><a href="/docs/getting-started/configuring-insight.html" class="reference internal">Configuring SymfonyInsight</a></li> </ul></li> <li><ul> <li> <li> <li> <li> <li> <li> <li> </ul></li> <li><ul> <li> <li> <li> <li> <li> <li> <li> </ul></li> <li><ul> <li> <li> <li> <li> <li> <li> <li> </ul></li> <li><p><a href="manager.html" class="reference internal">Using SymfonyInsight as a manager</a></p> <ul> <li><a href="/docs/manager/integrate-symfonyinsight-in-your-workflow.html" class="reference internal">Integrate SymfonyInsight in your workflow</a></li> <li><a href="/docs/manager/configure-emails-alerts.html" class="reference internal">Configure e-mails alerts</a></li> <li><a href="/docs/manager/create-printable-reports.html" class="reference internal">Print executive and full quality reports</a></li> </ul></li> <li><p><a href="notifications.html" class="reference internal">Receive notifications</a></p> <ul> <li><a href="/docs/notifications/receive-slack-notifications.html" class="reference internal">Slack notifications</a></li> <li><a href="/docs/notifications/receive-teams-notifications.html" class="reference internal">Microsoft Teams notifications</a></li> <li><a href="/docs/notifications/receive-hipchat-notifications.html" class="reference internal">HipChat notifications</a></li> <li><a href="/docs/notifications/custom-webhook.html" class="reference internal">Configure a custom WebHook</a></li> </ul></li> <li><p><a href="execution-environment.html" class="reference internal">Execution environment</a></p> <ul> <li><a href="/docs/execution-environment/pre-installed-software-and-tools.html" class="reference internal">Pre-installed software and tools</a></li> <li><a href="/docs/execution-environment/enabling-php-extensions.html" class="reference internal">Enabling PHP extensions</a></li> <li><a href="/docs/execution-environment/installing-npm-packages.html" class="reference internal">Installing npm packages</a></li> <li><a href="/docs/execution-environment/installing-debian-packages.html" class="reference internal">Installing Debian packages</a></li> </ul></li> <li><p><a href="how-to.html" class="reference internal">How-To</a></p> <ul> <li><a href="/docs/how-to/install-private-composer-dependencies.html" class="reference internal">Install private Composer dependencies</a></li> <li><a href="/docs/how-to/analyze-projects-not-accessible-by-insight.html" class="reference internal">Analyze projects not accessible by SymfonyInsight</a></li> <li><a href="/docs/how-to/analyze-projects-not-managed-with-git.html" class="reference internal">Analyze projects not managed with Git</a></li> <li><a href="/docs/how-to/connect-to-a-database.html" class="reference internal">Connect to a database</a></li> <li><a href="/docs/how-to/embed-badges-showing-the-project-medal.html" class="reference internal">Embed badges showing the project medal</a></li> <li><a href="/docs/how-to/select-the-repository-branch-to-analyze.html" class="reference internal">Select the repository branch to analyze</a></li> <li><a href="/docs/how-to/ignore-all-violations-for-a-given-rule.html" class="reference internal">Ingore all violations for a given rule</a></li> <li><a href="/docs/how-to/analyze-a-project-using-git-submodules.html" class="reference internal">Analyze a project using Git submodules</a></li> <li><a href="/docs/how-to/add-collaborators-to-a-project.html" class="reference internal">Add collaborators to a project</a></li> <li><a href="/docs/how-to/configure-in-which-directory-my-code-is-located.html" class="reference internal">Configure in which directory my code is located</a></li> <li><a href="/docs/how-to/ignore-a-specific-file-or-directory.html" class="reference internal">Ignore a specific file or directory</a></li> <li><a href="/docs/how-to/integrate-insight-into-phpstorm.html" class="reference internal">Integrate SymfonyInsight into PHPStorm</a></li> </ul></li> <li><p><a href="troubleshooting.html" class="reference internal">Troubleshooting</a></p> <ul> <li><a href="/docs/troubleshooting/report-a-false-positive.html" class="reference internal">Report a false positive</a></li> <li><a href="/docs/troubleshooting/the-tmp-directory-is-not-writable.html" class="reference internal">The /tmp directory is not writable</a></li> <li><a href="/docs/troubleshooting/my-application-is-not-bootable.html" class="reference internal">My application is not bootable</a></li> </ul></li> <li><p><a href="reference.html" class="reference internal">Reference</a></p> <ul> <li><a href="/docs/reference/configuration-options.html" class="reference internal">Configuration options reference</a></li> <li><a href="/docs/reference/sample-configuration-file.html" class="reference internal">Sample configuration file</a></li> </ul></li> <li><p><a href="privacy-and-security.html" class="reference internal">Privacy and security</a></p> <ul> <li><a href="/docs/privacy-and-security/how-does-insight-manage-private-code.html" class="reference internal">How does SymfonyInsight manage private code?</a></li> <li><a href="/docs/privacy-and-security/what-happens-to-my-code-at-project-deletion.html" class="reference internal">What happens to my code at project deletion?</a></li> </ul></li> </ul> </div> </div> </div> <div class="col-lg-9"> <div class="docs-page-content box-shadow bg-white p-4"> <div class="section"> <h1 id="getting-started-as-a-team"><a class="headerlink" href="#getting-started-as-a-team" title="Permalink to this headline">Getting started as a team</a></h1> <p>By providing team features such as project collaborators or notifications, SymfonyInsight is well suited to development teams.</p> <p>Getting started with SymfonyInsight as a team consists of three simple steps:</p> <ol class="arabic"> <li>Sign up with SymfonyInsight</li> <li>Add a project by giving SymfonyInsight access to your code</li> <li>Grant access to your collaborators</li> </ol> <div class="section"> <h2 id="step-1-sign-up-with-symfonyinsight"><a class="headerlink" href="#step-1-sign-up-with-symfonyinsight" title="Permalink to this headline">Step 1: Sign up with SymfonyInsight</a></h2> <p>When working in a team, you are likely to need several collaborative features provided by SymfonyInsight such as project collaborators. We recommend you to purchase the <strong>Team plan</strong> as it is the most likely to match your needs. <a href="../../pricing" class="reference internal">Have a look at the pricing page</a> to buy it.</p> <p>Additionally, as a team you might need to transfer the plan you buy to someone else. This is why we recommend teams to create a SymfonyConnect account dedicated to their company or team. This will allow you to transfer the credentials easily as the account won't be a personal one.</p> <p>Once you purchased a plan and are logged in, you will see your Dashboard, a page aggregating all the notifications related to your projects over time. At first, your Dashboard is empty: click on "Add a project" to start filling it.</p> </div> <div class="section"> <h2 id="step-2-add-a-project-by-giving-symfonyinsight-access-to-your-code"><a class="headerlink" href="#step-2-add-a-project-by-giving-symfonyinsight-access-to-your-code" title="Permalink to this headline">Step 2: Add a project by giving SymfonyInsight access to your code</a></h2> <p>SymfonyInsight needs access to your code to analyze it. SymfonyInsight can access code stored in GitHub, Bitbucket, GitLab, custom Git repositories, etc.</p> <p>Once SymfonyInsight has access to your code, it will automatically start a first analysis of your code.</p> <p><strong>Why should I specify a project type?</strong></p> <p>Assigning the correct project type is important as some metrics only run on a subset of project types. For instance, it doesn't make sense to check for a favicon in a simple <em>PHP</em> library. Likewise, all rules specific to <em>Symfony</em> applications should not run against <em>WordPress</em> plugins. Thus, choosing thoroughly the category fitting the best with your project will remove false positives and improve the analysis accuracy.</p> </div> <div class="section"> <h2 id="interpreting-your-first-report"><a class="headerlink" href="#interpreting-your-first-report" title="Permalink to this headline">Interpreting your first report</a></h2> <p>Depending of the size of your project, the analysis will take from seconds to minutes to complete. Once finished, you'll see the <strong>scoring</strong> of your project. The project scoring is divided into four main sections:</p> <ol class="arabic steps"> <li><p><strong>Quality Grade</strong>, which visually summarizes the quality level of your project. SymfonyInsight uses a quality scale based on medals and numeric score. The five medals, from highest to lowest grade, are: platinum, gold, silver and bronze. They are represented by the following icons:</p> <img src="/docs/help/images/common-medals.jpg"> <p>On top of that, you'll see a number that grades your quality between <code translate="no" class="notranslate">0</code> and <code translate="no" class="notranslate">100</code>. This numeric score gives you a more precise estimate to track the evolution of your project quality in time.</p></li> <li><strong>Error severity list</strong>, summarizes all the errors grouped by severity. This helps you and your team focus first on fixing the most critical errors.</li> <li><p><strong>Time to improve</strong>, displays the amount of work needed to improve the project quality to the highest level. In this example, approximately 11 months of work are needed to achieve that quality level. Move your mouse over this section to reveal the amount of work needed to increase the quality by just one level:</p> <img src="/docs/help/images/common-reveal-remediation-cost.gif"></li> <li><strong>Critical security alerts</strong>, shows the list of errors that could cause serious security problems.</li> </ol> <p>In addition to the previous project scoring, SymfonyInsight generates a fully detailed report showing every project error and instructions about how to fix them.</p> <p>The full analysis report is divided into three main sections:</p> <ol class="arabic"> <li><strong>Quality score</strong>, describes the current quality level of the project using the same medal and numeric scale mentioned before. It also indicates the amount of work needed to achieve the next quality level.</li> <li><strong>Filters</strong>, this section is mostly useful for large projects with lots of errors. It allows you to filter the error list using different criteria, such as the error severity, the type of the error and the developer who introduced the error.</li> <li><strong>Violations list</strong>, this is the most important section, because it displays the full list of errors found during the project analysis. Click on the title of any violation to reveal its contents:</li> </ol> <ul> <li><strong>Title</strong>, briefly describes the nature of the error.</li> <li><strong>Title actions</strong>, the button with the question mark icon allows you to read the documentation associated with this rule. The button with the trash bin icon allows you to ignore all the violations that are similar to this.</li> <li><strong>File</strong>, it shows the full path of the file that contains the error and the line of code where the error is located. The file path is a link that points to that very same line and file at the GitHub repository.</li> <li><strong>Code and description</strong>, this section shows in context the snippet of code that introduced the error and a longer description of the cause of the error.</li> <li><strong>Actions menu</strong>, it displays several buttons with actions related to the error, such as commenting it, ignoring it and opening an issue directly on GitHub.</li> </ul> </div> <div class="section"> <h2 id="step-3-grant-access-to-your-collaborators"><a class="headerlink" href="#step-3-grant-access-to-your-collaborators" title="Permalink to this headline">Step 3: Grant access to your collaborators</a></h2> <p>Project development is usually a team work. It is important to share the analysis results with every developer in the team and this is the purpose of collaborators. Your collaborators can read the analyses of your projects, run new analyses, and comment on the violations. They cannot change your projects configuration or add a new project.</p> <div class="admonition admonition-note "> <p class="admonition-title"> <svg xmlns="http://www.w3.org/2000/svg" fill="none" width="24" height="24" viewbox="0 0 24 24" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M11 5H6a2 2 0 00-2 2v11a2 2 0 002 2h11a2 2 0 002-2v-5m-1.414-9.414a2 2 0 112.828 2.828L11.828 15H9v-2.828l8.586-8.586z"></path></svg> <span>Note</span> </p><p>The collaborators feature is only available on the <strong>Team plan</strong>. You can manage your current plan on <a href="../../account/billing" class="reference internal">your account page</a>.</p> </div> <p>To grant access to collaborators, click on a project and click on "Edit project". In this page, you will be able to add collaborators by using their SymfonyConnect username.</p> </div> </div> </div> </div> </div> </div> </div> <footer class="footer"> <div class="container text-center"> <div class="pt-5 pb-5"> <div class="mb-1"> <a href="https://insight.symfony.com/features"> How does it work? </a> <a href="https://insight.symfony.com/what-we-analyse"> What we analyze </a> <a href="https://insight.symfony.com/docs"> Documentation </a> <a href="https://insight.symfony.com/pricing"> Pricing </a> </div> <div class="mb-1"> <a href="https://connect.symfony.com/privacy-policy" target="_blank"> Privacy policy </a> <a href="https://insight.symfony.com/terms" target="_blank"> Terms of service </a> </div> <div class="mb-5"> <a href="https://symfony.com/support?product=SLI#products" target="_blank"> Support </a> <a href="https://twitter.com/symfonyinsight" target="_blank"> Follow us on Twitter </a> </div> <img src="https://insight.symfony.com/insight/img/logo-footer.svg" alt="SymfonyInsight logo" class="footer-logo" /> <div class="mt-3"> <small> SymfonyInsight is a trademark of Symfony. All rights reserved. </small> </div> </div> </div> </footer> <script src="https://insight.symfony.com/build/global.b6f1f3cf.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.4.1/jquery.min.js" integrity="sha256-CSXorXvZcTkaix6Yvo6HppcZGetbYMGWSFlBw8HfCJo=" crossorigin="anonymous"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.3.1/js/bootstrap.min.js" integrity="sha256-CjSoeELFOcH0/uxWu6mC/Vlrc1AARqbm/jiiImDGV3s=" crossorigin="anonymous"></script> <script type="text/javascript" src="https://cdn.jsdelivr.net/npm/@docsearch/js@3"></script> <script type="text/javascript"> docsearch({ appId: 'SLBM2MPP2K', apiKey: 'c4068287268cd5014f5053c8f8d91ee8', indexName: 'insight-symfony', container: '#doc-search', debug: false, }); </script> <script type="text/javascript">var currentUrl = '/docs/getting-started/getting-started-as-a-team.html';</script> <script src="https://insight.symfony.com/js/documentation.js"></script> <link rel="stylesheet" href="https://connect.symfony.com/css/sln.css" /> <script src="https://connect.symfony.com/sln.js?customize_url=https://insight.symfony.com/account/sln_customize.js"></script> </body> </html>

Pages: 1 2 3 4 5 6 7 8 9 10