The Basics

This document shows the basic concepts of DeepScan service.

DeepScan inspects JavaScript codes in terms of code quality. Like many other code inspection services, DeepScan provides a dashboard, showing the status of the project analyzed, and an explorer, showing all of the repositories and projects you have.

Team Dashboard

Team Dashboard (Basic)

Team

Team is a group to collaborate on projects and the basic unit on DeepScan.

You can create a team you want to configure, then you can invite members and add projects in the team.

To browse and add projects for your team, you can use the Team Dashboard. It provides the basic functionality to manage your project in the team.

As well as this basic one, our paid plan brings the more powerful Team Dashboard:

Team Dashboard (Advanced)

  • Overall quality status across your team projects
  • Overall information for your team:
    • Issues: Show total number of issues for your team. Click to browse all the issues.
    • Lines Of Code: Show total lines of code
    • Members: Show total number of members (owners, members and pending invitations). Click to navigate to Members page.
    • Plan: Show your team plan and its expiry date. Click to navigate to Plan page.
  • Projects: Team projects with issues, grade, last committer and last analyzed time
  • Key Statistics: Useful statistics to determine projects or issues which can be focused on with higher priority
    • Top Risky Projects: 5 highest projects with multiple issues of high or medium impact
    • Top Violated Rules: 5 highest rules that occur most frequently throughout all team projects
    • Top LoC Projects: 5 highest projects with many lines of codes

    Team Dashboard: Key Statistics

  • Team Activity: What happened in your team recently
    • Projects have been analyzed or deleted
    • Pull requests have been analyzed
    • Members have been added (invited/accepted/declined), removed or left
    • Project's overall grade has changed

User Menu

When you click on your GitHub avatar at top right corner, you can choose to navigate to the following menu.

  • Account Settings You can modify the default settings for your account.
  • Logout You can log out of the service. Please, do come again.

Also you get a notification on bell icon when you have been invited to the team.

Project

Project in DeepScan corresponds to a GitHub or GitLab repository. You can add your repository as a project and manage its quality status.

For detailed information, click here.

Analysis

DeepScan analyzes JavaScript files in the repository when you add it as a project. Once you add a project, DeepScan configures webhooks and will automatically analyze the project whenever new pushes are made to the repository.

If you want to know how it works and what it does, click here.

Organization Repository

Along with user repositories, DeepScan supports organization repositories.

When you 1) are an owner of DeepScan team and 2) have a GitHub owner permission for the repository you want to add, you can add a project for it.

When the team owner adds a project for the team, organizations of the team owner appear in accounts of the left panel.

Add project for the team

Note: To analyze organization repositories, you need to grant DeepScan third-party access to your organizations. Please check Connection with DeepScan on GitHub.

Once granted, you can do the following:

  • See your organizations.
  • See the public and private repositories in each organization.
  • Add the project you want to analyze.

DeepScan supports an automatic analysis for the repository added as a project so your team can stay up to date on changes. For detailed information, click here.

GitHub's OAuth Scope

DeepScan is tightly integrated with GitHub.

Using GitHub's OAuth service, DeepScan does the following to analyze your GitHub repositories:

  • Read a user's email address

  • Retrieve all public repositories of a user

  • Add and delete webhooks

The following are the permissions that DeepScan requests:

  • user:email

    Allows DeepScan to read a user's email address to send notifications.

  • repo

    Allows DeepScan to read a user's repositories (including organization repositories) and configure repository with webhooks. Webhooks allow DeepScan to continuously analyze the repository as commits are pushed.

Please refer to GitHub Developer Guide for more information.