SlideShare a Scribd company logo
1 of 11
Download to read offline
Configuration of the Warnings Next
Generation plugin for integration with PVS-
Studio
Author: Valery Komarov
Date: 09.09.2019
Tags: DevOps
The PVS-Studio 7.04 release coincided with the release of the Warnings Next Generation 6.0.0 plugin for
Jenkins. Right in this release Warnings NG Plugin added support of the PVS-Studio static code analyzer.
This plugin visualizes data related to compiler warnings or other analysis tools in Jenkins. This article will
cover in detail how to install and configure this plugin to use it with PVS-Studio, and will describe most
of its features.
Installation of Warning Next Generation Plugin in Jenkins
By default, Jenkins is located at http://localhost:8080. On the front page of Jenkins on the top left,
choose the item "Manage Jenkins":
Next, select "Manage Plugins" and open the "Available" tab:
In the top right corner, enter "Warnings Next Generation" in the filter field:
Find the plugin in the list, put a tick on the left and click "Install without restart":
The plugin installation page will open. It will show us the results of the plugin installation:
Creating a New Task in Jenkins
Now let's create a free configuration task. On the main Jenkins page, choose "New Item". Enter the
project name (for example, WTM) and choose "Freestyle project".
Click "Ok", then the task configuration page will open. Open the list "Add post-build action" at the
bottom of this page in the item "Post-build Actions". In the list, select "Record compiler warnings and
static analysis results":
In the drop-down list of the field "Tool" choose "PVS-Studio" and then click save. On the task page, click
"Build Now" to create a folder in Jenkins' workspace for our task:
Getting Project Build Results
Today I stumbled upon the project dotnetcore/WTM in Github trends. I downloaded it from Github,
pasted in the WTM build directory in Jenkins and analyzed in Visual Studio using the PVS-Studio
analyzer. A detailed description of PVS-Studio usage in Visual Studio is given in the same name article:
PVS-Studio for Visual Studio.
After that, I ran the project build in Jenkins a couple of times. As a result, a graph appeared on the right
at the top of the WTM task page in Jenkins. A menu item PVS-Studio Warnings appeared on the left:
By clicking the graph or this menu item, you'll open the page with visualization of the PVS-Studio
analyzer report by the plugin Warnings Next Generation:
Results Page
There are two pie charts on the top of the page. To the right of these charts, there is a graph window. A
table is at the bottom.
The left pie chart shows the ratio of warnings of different levels of danger, on the right - the ratio of
new, outstanding and fixed warnings. There are three graphs. You can choose the graphs to display
using the arrows on the left and right. First two graphs show the same information as charts and the
third one shows the number a change in the number of warnings.
You can choose builds or days as graph points.
It is also possible to narrow and expand the time range of the graphs to see the data for a certain
period:
You can hide the graphs of certain metrics by clicking on the metric designation in the legend of the
graph:
The graph after hiding the "Normal" metric:
The table at the bottom displays the analyzer report data. When you click on the pie sector, the table is
filtered:
There are several bookmarks in the table to filter the data. In this example, filtering is available by
namespace, file, category (warning name). In the table, you can choose the number of warnings to
display per page (10, 25, 50, 100):
You can filter data by a line entered in the "Search" field. An example of filtering by the word "Base":
On the "Issues" tab, when you click on the plus at the top of the table line, a short warning description
will be displayed:
The short description contains a link to the site with detailed information on this warning.
When you click on the values in the "Package", "Category", "Type", "Severity" columns, the table's data
is filtered by the chosen value. Filtering by category:
The column "Age" shows the number of builds with a certain warning. When clicking the value in the
column "Age", a build page will open when a certain warning has first appeared.
When clicking the value in the column "File", the file's source code will open on the line with the code
that caused the warning. If a file is absent in the build directory or was removed after creating the
report, opening the file's source code will be unavailable.
Conclusion
Warnings Next Generation turned out to be a very convenient tool for data visualization in Jenkins. We
hope that support of this plugin by PVS-Studio will help those who already use PVS-Studio, as well as
draw attention of other Jenkins users to static analysis. If your choice falls on PVS-Studio as a static code
analyzer, we'll be very pleased. You're welcome to download and try our tool.

More Related Content

What's hot

La valeur ajoutée d'une analyse d'impacts sur les affaires : quand la gestion...
La valeur ajoutée d'une analyse d'impacts sur les affaires : quand la gestion...La valeur ajoutée d'une analyse d'impacts sur les affaires : quand la gestion...
La valeur ajoutée d'une analyse d'impacts sur les affaires : quand la gestion...
PMI-Montréal
 
Confluence x Brikit Theme Press でスタイリッシュなサイトを最速でデザインする
 Confluence  x Brikit Theme Press でスタイリッシュなサイトを最速でデザインする Confluence  x Brikit Theme Press でスタイリッシュなサイトを最速でデザインする
Confluence x Brikit Theme Press でスタイリッシュなサイトを最速でデザインする
Akira Higuchi
 

What's hot (20)

La valeur ajoutée d'une analyse d'impacts sur les affaires : quand la gestion...
La valeur ajoutée d'une analyse d'impacts sur les affaires : quand la gestion...La valeur ajoutée d'une analyse d'impacts sur les affaires : quand la gestion...
La valeur ajoutée d'une analyse d'impacts sur les affaires : quand la gestion...
 
Agile Scrum
Agile ScrumAgile Scrum
Agile Scrum
 
Confluence x Brikit Theme Press でスタイリッシュなサイトを最速でデザインする
 Confluence  x Brikit Theme Press でスタイリッシュなサイトを最速でデザインする Confluence  x Brikit Theme Press でスタイリッシュなサイトを最速でデザインする
Confluence x Brikit Theme Press でスタイリッシュなサイトを最速でデザインする
 
全日本<label>要素マークアップ検定
全日本<label>要素マークアップ検定全日本<label>要素マークアップ検定
全日本<label>要素マークアップ検定
 
CPUの同時実行機能
CPUの同時実行機能CPUの同時実行機能
CPUの同時実行機能
 
Git入門
Git入門Git入門
Git入門
 
はじめる! Redmine (2015)
はじめる! Redmine (2015)はじめる! Redmine (2015)
はじめる! Redmine (2015)
 
NEDIA_SNIA_CXL_講演資料.pdf
NEDIA_SNIA_CXL_講演資料.pdfNEDIA_SNIA_CXL_講演資料.pdf
NEDIA_SNIA_CXL_講演資料.pdf
 
Redmineの活用事例‐多様なプロジェクト管理に対するツールの適用
Redmineの活用事例‐多様なプロジェクト管理に対するツールの適用Redmineの活用事例‐多様なプロジェクト管理に対するツールの適用
Redmineの活用事例‐多様なプロジェクト管理に対するツールの適用
 
Diapositivas - Seminario Taller sobre Transformación Ágil
Diapositivas - Seminario Taller sobre Transformación ÁgilDiapositivas - Seminario Taller sobre Transformación Ágil
Diapositivas - Seminario Taller sobre Transformación Ágil
 
「Redmineの運用パターン集~私に聞くな、チケットシステムに聞け」
「Redmineの運用パターン集~私に聞くな、チケットシステムに聞け」「Redmineの運用パターン集~私に聞くな、チケットシステムに聞け」
「Redmineの運用パターン集~私に聞くな、チケットシステムに聞け」
 
うちのRedmineの使い方
うちのRedmineの使い方うちのRedmineの使い方
うちのRedmineの使い方
 
運用業務でのRedmine
運用業務でのRedmine運用業務でのRedmine
運用業務でのRedmine
 
Metodologia OKR para lograr el éxito por Javier Martín
Metodologia OKR para lograr el éxito por Javier MartínMetodologia OKR para lograr el éxito por Javier Martín
Metodologia OKR para lograr el éxito por Javier Martín
 
振り返り(アジャイルレトロスペクティブズ)
振り返り(アジャイルレトロスペクティブズ)振り返り(アジャイルレトロスペクティブズ)
振り返り(アジャイルレトロスペクティブズ)
 
LLVM最適化のこつ
LLVM最適化のこつLLVM最適化のこつ
LLVM最適化のこつ
 
チケットを利用したプロダクトの健康確認
チケットを利用したプロダクトの健康確認 チケットを利用したプロダクトの健康確認
チケットを利用したプロダクトの健康確認
 
IT系プロボノのすすめ~エンジニアの遊び方
IT系プロボノのすすめ~エンジニアの遊び方IT系プロボノのすすめ~エンジニアの遊び方
IT系プロボノのすすめ~エンジニアの遊び方
 
Entrenamiento lean-inception-intro
Entrenamiento lean-inception-introEntrenamiento lean-inception-intro
Entrenamiento lean-inception-intro
 
Drone.io のご紹介
Drone.io のご紹介Drone.io のご紹介
Drone.io のご紹介
 

Similar to Configuration of the Warnings Next Generation plugin for integration with PVS-Studio

Assignment6~$signment6.docxAssignment6Assignment6.docxAs.docx
Assignment6~$signment6.docxAssignment6Assignment6.docxAs.docxAssignment6~$signment6.docxAssignment6Assignment6.docxAs.docx
Assignment6~$signment6.docxAssignment6Assignment6.docxAs.docx
ssuser562afc1
 
Cadence layout Tutorial
Cadence layout TutorialCadence layout Tutorial
Cadence layout Tutorial
RajaSekar K
 
7200342 cognos-report-studio
7200342 cognos-report-studio7200342 cognos-report-studio
7200342 cognos-report-studio
sarovar1
 

Similar to Configuration of the Warnings Next Generation plugin for integration with PVS-Studio (20)

PVS-Studio for Visual C++
PVS-Studio for Visual C++PVS-Studio for Visual C++
PVS-Studio for Visual C++
 
PVS-Studio for Visual C++
PVS-Studio for Visual C++PVS-Studio for Visual C++
PVS-Studio for Visual C++
 
Getting started with code composer studio v3.3 for tms320 f2812
Getting started with code composer studio v3.3 for tms320 f2812Getting started with code composer studio v3.3 for tms320 f2812
Getting started with code composer studio v3.3 for tms320 f2812
 
Comparing static analysis in Visual Studio 2012 (Visual C++ 2012) and PVS-Studio
Comparing static analysis in Visual Studio 2012 (Visual C++ 2012) and PVS-StudioComparing static analysis in Visual Studio 2012 (Visual C++ 2012) and PVS-Studio
Comparing static analysis in Visual Studio 2012 (Visual C++ 2012) and PVS-Studio
 
Static Analysis: From Getting Started to Integration
Static Analysis: From Getting Started to IntegrationStatic Analysis: From Getting Started to Integration
Static Analysis: From Getting Started to Integration
 
Difficulties of comparing code analyzers, or don't forget about usability
Difficulties of comparing code analyzers, or don't forget about usabilityDifficulties of comparing code analyzers, or don't forget about usability
Difficulties of comparing code analyzers, or don't forget about usability
 
Difficulties of comparing code analyzers, or don't forget about usability
Difficulties of comparing code analyzers, or don't forget about usabilityDifficulties of comparing code analyzers, or don't forget about usability
Difficulties of comparing code analyzers, or don't forget about usability
 
Difficulties of comparing code analyzers, or don't forget about usability
Difficulties of comparing code analyzers, or don't forget about usabilityDifficulties of comparing code analyzers, or don't forget about usability
Difficulties of comparing code analyzers, or don't forget about usability
 
Laboratorio: Desarrollo para Smart Devices
Laboratorio: Desarrollo para Smart DevicesLaboratorio: Desarrollo para Smart Devices
Laboratorio: Desarrollo para Smart Devices
 
Assignment6~$signment6.docxAssignment6Assignment6.docxAs.docx
Assignment6~$signment6.docxAssignment6Assignment6.docxAs.docxAssignment6~$signment6.docxAssignment6Assignment6.docxAs.docx
Assignment6~$signment6.docxAssignment6Assignment6.docxAs.docx
 
PVsyst_Tutorials_V7_Grid_Connected.pdf
PVsyst_Tutorials_V7_Grid_Connected.pdfPVsyst_Tutorials_V7_Grid_Connected.pdf
PVsyst_Tutorials_V7_Grid_Connected.pdf
 
Cadence layout Tutorial
Cadence layout TutorialCadence layout Tutorial
Cadence layout Tutorial
 
First steps with Scilab
First steps with ScilabFirst steps with Scilab
First steps with Scilab
 
InstallationGuide.pdf
InstallationGuide.pdfInstallationGuide.pdf
InstallationGuide.pdf
 
Lenovo Diagnostics Tool ldiag_5.11.0_ug.pdf
Lenovo Diagnostics Tool ldiag_5.11.0_ug.pdfLenovo Diagnostics Tool ldiag_5.11.0_ug.pdf
Lenovo Diagnostics Tool ldiag_5.11.0_ug.pdf
 
7200342 cognos-report-studio
7200342 cognos-report-studio7200342 cognos-report-studio
7200342 cognos-report-studio
 
Components lab
Components labComponents lab
Components lab
 
War of the Machines: PVS-Studio vs. TensorFlow
War of the Machines: PVS-Studio vs. TensorFlowWar of the Machines: PVS-Studio vs. TensorFlow
War of the Machines: PVS-Studio vs. TensorFlow
 
Digital system design lab procedure ppt
Digital system design lab procedure pptDigital system design lab procedure ppt
Digital system design lab procedure ppt
 
Regular use of static code analysis in team development
Regular use of static code analysis in team developmentRegular use of static code analysis in team development
Regular use of static code analysis in team development
 

More from Andrey Karpov

More from Andrey Karpov (20)

60 антипаттернов для С++ программиста
60 антипаттернов для С++ программиста60 антипаттернов для С++ программиста
60 антипаттернов для С++ программиста
 
60 terrible tips for a C++ developer
60 terrible tips for a C++ developer60 terrible tips for a C++ developer
60 terrible tips for a C++ developer
 
Ошибки, которые сложно заметить на code review, но которые находятся статичес...
Ошибки, которые сложно заметить на code review, но которые находятся статичес...Ошибки, которые сложно заметить на code review, но которые находятся статичес...
Ошибки, которые сложно заметить на code review, но которые находятся статичес...
 
PVS-Studio in 2021 - Error Examples
PVS-Studio in 2021 - Error ExamplesPVS-Studio in 2021 - Error Examples
PVS-Studio in 2021 - Error Examples
 
PVS-Studio in 2021 - Feature Overview
PVS-Studio in 2021 - Feature OverviewPVS-Studio in 2021 - Feature Overview
PVS-Studio in 2021 - Feature Overview
 
PVS-Studio в 2021 - Примеры ошибок
PVS-Studio в 2021 - Примеры ошибокPVS-Studio в 2021 - Примеры ошибок
PVS-Studio в 2021 - Примеры ошибок
 
PVS-Studio в 2021
PVS-Studio в 2021PVS-Studio в 2021
PVS-Studio в 2021
 
Make Your and Other Programmer’s Life Easier with Static Analysis (Unreal Eng...
Make Your and Other Programmer’s Life Easier with Static Analysis (Unreal Eng...Make Your and Other Programmer’s Life Easier with Static Analysis (Unreal Eng...
Make Your and Other Programmer’s Life Easier with Static Analysis (Unreal Eng...
 
Best Bugs from Games: Fellow Programmers' Mistakes
Best Bugs from Games: Fellow Programmers' MistakesBest Bugs from Games: Fellow Programmers' Mistakes
Best Bugs from Games: Fellow Programmers' Mistakes
 
Does static analysis need machine learning?
Does static analysis need machine learning?Does static analysis need machine learning?
Does static analysis need machine learning?
 
Typical errors in code on the example of C++, C#, and Java
Typical errors in code on the example of C++, C#, and JavaTypical errors in code on the example of C++, C#, and Java
Typical errors in code on the example of C++, C#, and Java
 
How to Fix Hundreds of Bugs in Legacy Code and Not Die (Unreal Engine 4)
How to Fix Hundreds of Bugs in Legacy Code and Not Die (Unreal Engine 4)How to Fix Hundreds of Bugs in Legacy Code and Not Die (Unreal Engine 4)
How to Fix Hundreds of Bugs in Legacy Code and Not Die (Unreal Engine 4)
 
Game Engine Code Quality: Is Everything Really That Bad?
Game Engine Code Quality: Is Everything Really That Bad?Game Engine Code Quality: Is Everything Really That Bad?
Game Engine Code Quality: Is Everything Really That Bad?
 
C++ Code as Seen by a Hypercritical Reviewer
C++ Code as Seen by a Hypercritical ReviewerC++ Code as Seen by a Hypercritical Reviewer
C++ Code as Seen by a Hypercritical Reviewer
 
The Use of Static Code Analysis When Teaching or Developing Open-Source Software
The Use of Static Code Analysis When Teaching or Developing Open-Source SoftwareThe Use of Static Code Analysis When Teaching or Developing Open-Source Software
The Use of Static Code Analysis When Teaching or Developing Open-Source Software
 
Static Code Analysis for Projects, Built on Unreal Engine
Static Code Analysis for Projects, Built on Unreal EngineStatic Code Analysis for Projects, Built on Unreal Engine
Static Code Analysis for Projects, Built on Unreal Engine
 
Safety on the Max: How to Write Reliable C/C++ Code for Embedded Systems
Safety on the Max: How to Write Reliable C/C++ Code for Embedded SystemsSafety on the Max: How to Write Reliable C/C++ Code for Embedded Systems
Safety on the Max: How to Write Reliable C/C++ Code for Embedded Systems
 
The Great and Mighty C++
The Great and Mighty C++The Great and Mighty C++
The Great and Mighty C++
 
Static code analysis: what? how? why?
Static code analysis: what? how? why?Static code analysis: what? how? why?
Static code analysis: what? how? why?
 
Zero, one, two, Freddy's coming for you
Zero, one, two, Freddy's coming for youZero, one, two, Freddy's coming for you
Zero, one, two, Freddy's coming for you
 

Recently uploaded

TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
mohitmore19
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
Health
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
9953056974 Low Rate Call Girls In Saket, Delhi NCR
 
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfintroduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
VishalKumarJha10
 

Recently uploaded (20)

TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
Define the academic and professional writing..pdf
Define the academic and professional writing..pdfDefine the academic and professional writing..pdf
Define the academic and professional writing..pdf
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
 
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfintroduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionIntroducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.js
 
10 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 202410 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 2024
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
How to Choose the Right Laravel Development Partner in New York City_compress...
How to Choose the Right Laravel Development Partner in New York City_compress...How to Choose the Right Laravel Development Partner in New York City_compress...
How to Choose the Right Laravel Development Partner in New York City_compress...
 

Configuration of the Warnings Next Generation plugin for integration with PVS-Studio

  • 1. Configuration of the Warnings Next Generation plugin for integration with PVS- Studio Author: Valery Komarov Date: 09.09.2019 Tags: DevOps The PVS-Studio 7.04 release coincided with the release of the Warnings Next Generation 6.0.0 plugin for Jenkins. Right in this release Warnings NG Plugin added support of the PVS-Studio static code analyzer. This plugin visualizes data related to compiler warnings or other analysis tools in Jenkins. This article will cover in detail how to install and configure this plugin to use it with PVS-Studio, and will describe most of its features. Installation of Warning Next Generation Plugin in Jenkins By default, Jenkins is located at http://localhost:8080. On the front page of Jenkins on the top left, choose the item "Manage Jenkins": Next, select "Manage Plugins" and open the "Available" tab:
  • 2. In the top right corner, enter "Warnings Next Generation" in the filter field: Find the plugin in the list, put a tick on the left and click "Install without restart": The plugin installation page will open. It will show us the results of the plugin installation:
  • 3. Creating a New Task in Jenkins Now let's create a free configuration task. On the main Jenkins page, choose "New Item". Enter the project name (for example, WTM) and choose "Freestyle project". Click "Ok", then the task configuration page will open. Open the list "Add post-build action" at the bottom of this page in the item "Post-build Actions". In the list, select "Record compiler warnings and static analysis results":
  • 4. In the drop-down list of the field "Tool" choose "PVS-Studio" and then click save. On the task page, click "Build Now" to create a folder in Jenkins' workspace for our task: Getting Project Build Results Today I stumbled upon the project dotnetcore/WTM in Github trends. I downloaded it from Github, pasted in the WTM build directory in Jenkins and analyzed in Visual Studio using the PVS-Studio analyzer. A detailed description of PVS-Studio usage in Visual Studio is given in the same name article: PVS-Studio for Visual Studio. After that, I ran the project build in Jenkins a couple of times. As a result, a graph appeared on the right at the top of the WTM task page in Jenkins. A menu item PVS-Studio Warnings appeared on the left:
  • 5. By clicking the graph or this menu item, you'll open the page with visualization of the PVS-Studio analyzer report by the plugin Warnings Next Generation: Results Page There are two pie charts on the top of the page. To the right of these charts, there is a graph window. A table is at the bottom.
  • 6. The left pie chart shows the ratio of warnings of different levels of danger, on the right - the ratio of new, outstanding and fixed warnings. There are three graphs. You can choose the graphs to display using the arrows on the left and right. First two graphs show the same information as charts and the third one shows the number a change in the number of warnings. You can choose builds or days as graph points. It is also possible to narrow and expand the time range of the graphs to see the data for a certain period:
  • 7. You can hide the graphs of certain metrics by clicking on the metric designation in the legend of the graph: The graph after hiding the "Normal" metric: The table at the bottom displays the analyzer report data. When you click on the pie sector, the table is filtered:
  • 8. There are several bookmarks in the table to filter the data. In this example, filtering is available by namespace, file, category (warning name). In the table, you can choose the number of warnings to display per page (10, 25, 50, 100): You can filter data by a line entered in the "Search" field. An example of filtering by the word "Base":
  • 9. On the "Issues" tab, when you click on the plus at the top of the table line, a short warning description will be displayed: The short description contains a link to the site with detailed information on this warning. When you click on the values in the "Package", "Category", "Type", "Severity" columns, the table's data is filtered by the chosen value. Filtering by category:
  • 10. The column "Age" shows the number of builds with a certain warning. When clicking the value in the column "Age", a build page will open when a certain warning has first appeared. When clicking the value in the column "File", the file's source code will open on the line with the code that caused the warning. If a file is absent in the build directory or was removed after creating the report, opening the file's source code will be unavailable.
  • 11. Conclusion Warnings Next Generation turned out to be a very convenient tool for data visualization in Jenkins. We hope that support of this plugin by PVS-Studio will help those who already use PVS-Studio, as well as draw attention of other Jenkins users to static analysis. If your choice falls on PVS-Studio as a static code analyzer, we'll be very pleased. You're welcome to download and try our tool.