Giter VIP home page Giter VIP logo

insee's Introduction

InSee logoUncleBob

An application for code linting and reviewing with fully customizable rules for every ServiceNow developer/reviewer.

Install Notes:

  • Download the update sets from https://github.com/SNDevTools/InSee/tree/master/Dist and install on your instance.
  • Pre-requisites:
    1. Need to have a MID Server configured to your instance.
    2. PHP (https://www.mamp.info)
    3. Installing ESLint (http://eslint.org) commands and installed globally and running on the machine where the MID Server is configured.
      1. Windows
        1. run the command >npm install eslint --save-dev from agent folder.
        2. add "/node_modules/.bin" to the environment variable "PATH"
      2. Linux
        1. run the command >npm install -g eslint
  • Setup the application on MID Server by following the below steps:
    1. System Administrator needs to change the scope to "Automated Code Review".
    2. Go to Navigator -> Automated Code Review -> Setup
    3. Provide the name of the MID Server used for code reviewing along with the integration user credentials. Note: Integration user needs to have admin role.
    4. Change the "Code Sync Status" from "Not Initialized" to "Intialized" and
    5. Click on Save. Wait for couple of minutes and refresh the page to see if the status changed to "Completed".

Setup Process

About:

InSee is designed for developers to comply with the best practices recommended by the ServiceNow platform along with the customizable rule development capability for adding new rules specific to your team or company coding standands and practices.

Every developer can do the code reviewing on a single entity (Script Include, Business Rule, UI Script, Client Script etc) or on the updateSet to fix the non-compliant practices then and there.

Every reviewer can do the code reviewing on multiple updateSets and the developer will have the visibility of the review validation results simultaneously to act upon in brining the highest quality of code quickly.

Developer Persona:

  1. Developers can click on "Code Review" button on the script entities (Business Rules, Script Includes, Client Scripts and UI Scripts) and find the validation results directly on the script entity to act on accordingly.

Script Entity Code Review

  1. Developers can also click on "Code Review" button on the appropriate updateSet to validate the rules against all the script entities in that updateSet so as to find and fix the validation errors related to that updateSet.

UpdateSet Code Review

Reviewer Persona:

Reviewer can review the code spanning across multipe updateSets using the Review Request module by creating a review request with the appropriate details like Story number, Story Owner and the list of update sets to be considered as an unit of work to be reviewed. Once the request is created, Reviewer can request for "Code Review" using the button on the request form and the validation results will be populated under "Review Results" which can then be worked on by the respective developer. Reviewer can click on the "Code Review" button on the Review Request form any number of times to re-validate the status of the code changes.

Review Request - Code Review

Rules Administrator Persona:

Rule Administrator can maintain the Review Rules with the below capabilities:

 1. Modify the OOTB rules (OOTB rules have their rule name start with SNOW) by either deactivating/activating the rules or changing the level of the error logging (ERROR, WARNING, INFO).
 
 2. Create and modify the definitions of the custom rules
 
 3. Delete custom rules

Rule Definition

Rules Development

 ESLint rules work on the AST (Abstract Syntax Tree) which provides the tree representation of the entire code to be evaluated and the API is provided to write the rules by tranversing the Syntax tree to implement the rule specification.

Developers can use the links provided in the Resources Section to start learning on how to write the custom rules. This application provides the Rule Builder interface which can be used to implement new rules on the go along with testing the rule with the sample code snippet on the same interface.

Rule Builder

Resources

To develop new eslint rules using the AST (Abstract Syntax Tree):

License:

MIT

insee's People

Contributors

go4chaitu avatar hareeshforever avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

insee's Issues

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.