Sonarqube基礎篇:property設定
這篇文章介紹以下如何使用SonarQube(LTS的5.6.5版本)的WebApi(SonarQube的RestApi)來對Sonar進行設定。
property操作的API
sonar通過property來對設定進行管理,通過對應的api可以進行增刪改查,相關的資訊如下:
http方法 | api | 說明 |
---|---|---|
GET | /api/properties | 獲得property資訊 |
POST | /api/properties | 建立與更新:通過設定id/value,比如:id=sonar.scm.disabled&value=true |
DELETE | /api/properties | 按條件刪除property,條件接其後即可 |
可設定內容
以下使用Sonar所提供的WebApi確認到系統可設定資訊以及當前設定值如下
設定專案 | 預設值 |
---|---|
sonar.core.version, | 5.6.5 |
sonar.qualitygate, | 1 |
sonar.permission.template.default, | default_template |
sonaranalyzer-cs.nuget.packageVersion, | 1.10.0 |
sonar.authenticator.ignoreStartupFailure, | false |
sonar.cs.ignoreHeaderComments, | true |
sonar.javascript.jQueryObjectAliases, | $, jQuery |
sonar.ce.maxLogsPerTask, | 10 |
sonar.cs.fxcop.fxCopCmdPath, | C |
sonar.forceAuthentication, | false |
sonar.analysis.mode, | analysis |
sonar.notifications.delay, | 60 |
sonar.allowUsersToSignUp, | false |
sonar.cs.fxcop.aspnet, | false |
sonar.authenticator.createUsers, | true |
sonaranalyzer-cs.ruleNamespace, | SonarAnalyzer.CSharp |
sonar.import_unknown_files, | false |
sonar.dbcleaner.hoursBeforeKeepingOnlyOneSnapshotByDay, | 24 |
sonar.dbcleaner.cleanDirectory, | true |
sonar.cpd.cross_project, | false |
sonar.enableFileVariation, | false |
sonar.dbcleaner.weeksBeforeKeepingOnlyOneSnapshotByWeek, | 4 |
sonar.timemachine.period1, | previous_version |
sonar.timemachine.period2, | previous_analysis |
sonar.timemachine.period3, | 30 |
sonaranalyzer-cs.pluginKey, | csharp |
sonar.javascript.ignoreHeaderComments, | true |
sonar.dbcleaner.daysBeforeDeletingClosedIssues, | 30 |
sonar.jacoco.itReportPath, | target/jacoco-it.exec |
sonar.dbcleaner.weeksBeforeKeepingOnlyOneSnapshotByMonth, | 52 |
sonar.lf.gravatarServerUrl, | https |
sonar.violationLocale, | en |
sonar.cs.fxcop.timeoutMinutes, | 10 |
sonar.squid.analyse.property.accessors, | true |
sonar.jacoco.reportPath, | target/jacoco.exec |
sonaranalyzer-cs.staticResourceName, | SonarAnalyzer.zip |
sonar.notifications.runningDelayBeforeReportingStatus, | 600 |
sonar.defaultGroup, | sonar-users |
sonaranalyzer-cs.nuget.packageId, | SonarAnalyzer.CSharp |
sonar.authenticator.downcase, | false |
sonar.scm.disabled, | false |
sonar.cs.msbuild.testProjectPattern, | [^\\\\]test[^\\\\]$ |
sonar.updatecenter.activate, | true |
sonaranalyzer-cs.analyzerId, | SonarAnalyzer.CSharp |
sonar.technicalDebt.hoursInDay, | 8 |
sonar.technicalDebt.ratingGrid, | 0.05,0.1,0.2,0.5 |
sonar.technicalDebt.developmentCost, | 30 |
sonar.lf.enableGravatar, | true |
sonar.preview.excludePlugins, | buildstability,devcockpit,pdfreport,report,views,jira,buildbreaker,scmstats |
sonaranalyzer-cs.pluginVersion, | 1.10.0 |
sonar.cs.file.suffixes, | .cs |
sonar.security.localUsers, | admin, |
sonar.skipDesign, | false |
sonar.javascript.file.suffixes, | .js |
sonar.java.file.suffixes, | .java,.jav |
sonar.javascript.forceZeroCoverage, | false |
sonar.dbcleaner.weeksBeforeDeletingAllSnapshots, | 260 |
sonar.jacoco.reportMissing.force.zero, | false |
sonar.updatecenter.url, | https |
可以使用如下指令碼來生成markdown格式的資訊,可以參照
curl -u admin:admin http://localhost:9000/api/properties 2>/dev/null |jq . |egrep 'key|value' |grep -v -w values |sed s/\"//g |awk -F: '{print $2}' |awk '{key=$0; getline; value=$0; printf("|%s|%s|\n",key,value)}'
#設定例
場景:比如希望動態修改如SCM的設定Disable the SCM Sensor,此值預設設定為false。設定一般是使用管理許可權的使用者登入,通過選單Administration -> General Settings -> SCM -> Disable the SCM Sensor 選擇true,然後儲存設定。
設定前確認
設定
使用如下命令通過webapi對其進行設定,注意在命令列執行的時候&需要轉義
/ # curl -u admin:admin -X POST http://localhost:9000/api/properties?id=sonar.scm.disabled\&value=true
{"err_code":200,"err_msg":"property created"}/ #
結果確認
可以看到值已經設定為true了
這裡只是一個例子,其他相關的property,在sonarqube中也可以通過這種方式進行設定,如果在DevOps實踐中需要和Sonarqube進行深度整合的情況下,可以考慮使用此種方式。
相關推薦
Sonarqube基礎篇:property設定
這篇文章介紹以下如何使用SonarQube(LTS的5.6.5版本)的WebApi(SonarQube的RestApi)來對Sonar進行設定。 property操作的API sonar通過property來對設定進行管理,通過對應的api可以進行增刪改查,相
持續整合之jenkins實踐教程:基礎篇(1): 郵件設定
作為持續整合的利器Jenkins已經得到了廣泛地應用,僅僅作為一個工具,Jenkins已然有了自己的生態圈,支援其的plugin更是超過1300+。在實際中如何使用以及如何更好地使用jenkins,一直是大家在實踐並討論的。本系列文章將會從如何使用jenki
Repractise基礎篇:Web應用開發七日談
一些事 mit 個人 性能 簡單的 第五天 第一天 ogg 喜歡 Repractise基礎篇:Web應用開發七日談 本來想的僅僅是畫一個例如以下的七日圖來說說Web開發的。隨後又想了想這似乎是一個非常棒的Web開發相關的知識介紹。應用開發是一個非常有意
[Python]學習基礎篇:常見的Python內置函數及模塊
快樂學習python內置函數常見的Python內置函數詳解函數列表進制轉換函數函數名稱及參數功能用例bin(x)將數值x轉化為二進制>>> x=10 >>> bin(10) 10hex(x)將數值x轉化為十六進制>>> x=10 >>>
[Python]學習基礎篇:列表(List)的淺解
python中list的一身鞏固列表首先先說明中python中數組下標的使用,在java,c或者c++中,每個數組的下標必須是正數,不能出現負數,如在java,c或者c++中使用a[-1],編輯器會報錯,而在python中數組的訪問時可以出現負數下標,表示倒數第幾個元素。list列表的定義 Python中列表
[Python]學習基礎篇:字符串的處理
sring的那些事字符串在每個編程語言中都有對於字符串的處理,字符串是每個編程語言必不可少的存在,對於字符串我們經常會對字符串進行合並,刪除,轉換,判斷等操作的處理。字符串的格式化 字符串的格式化在編程中我們經常會遇到,在java中有很多類的方法會提供我們我們使用,但對於格式化我們經常要把字符串轉化為相應的數
[Python]學習基礎篇:函數
函數的那些事函數函數是一段特定功能的,被封裝的,可重用的程序代碼段。給這段程序一個名稱,然後就可以在其他程序的任何地方通過這個名稱任意地運行這個斷碼塊。函數的定義及調用 對於Python函數的定義,不同於大家熟知的c,java等編程語言的定義,以java為例,在定義函數時,要指明函數的返回值類型,要麽為voi
[Python]學習基礎篇:文件和目錄
python中文件的那點事文件文件是數據在外部介質上的數據的集合,對於文件在Linux系統上包括普通文件,目錄文件,二進制文件,設備文件等。文件的打開或者創建 方法:open(‘file_name’,’打開方式’[,buf_size]) buf_size:參數指的是文件緩存區的大小,0代表不緩存,1代表緩存,
[Python]學習基礎篇:字典
創建 clas over code ini normal 占用空間 trace 增加 字典字典這個數據結構的功能和它的名字一樣,根據key得到value值。字典的定義 方法: dict={‘key1’:value1,’key2’:value2……..} 對於字典,key值在
[Python]學習基礎篇:面向對象編程
必須 outline func pad order ola 項目設計 tom return 面向對象編程是種具有對象概念的程序編程典範,同時也是一種程序開發的抽象方針。它可能包含數據、屬性、代碼與方法。對象則指的是類的實例。它將對象作為程序的基本單元,將程序和數據封裝其中,
基礎篇:6.10)通用公差規則
nbsp ros 最終 測量 基礎篇 dimens 質量保證 所表 做的 本章目標:不管是用線性尺寸標註或形位公差標註,基礎的公差標註規則需要遵守。 1.通用公差規則(Fundamental Dimension Rule) 基本工程圖紙尺寸公差尺寸規則 (ASME
基礎篇:3.3.2)壓鑄件-材料選擇
表現 nbsp size sof pan 3.3 基礎 mic family 2.5 壓鑄件的常用材料: 常用的壓鑄鋁合金一般有:ADC12,YL113,YL102,A380,A360等常用的壓鑄鋅合金一般有:3#Zn; 目前,珠江三角洲地區普遍用的鋁合金是A
基礎篇:4.2)規範化:3d軟件工程圖紙用模板
auto 有趣的 規範 方便 的人 mic 所在 bsp 內容 本章目的:給讀者一些標準模板,方便作圖時使用 這篇博文的分享內容作者會定時的更新 1.標準的工程圖模板 標準的工程圖模板可以幫助機械工程師更加偷懶地畫出更好的產品,如下圖所示: 作者以後會將
Unity基礎篇:解決漏檢測問題(射線檢測,輸入檢測,點選檢測)
今天我在做專案的時候,發現我滑鼠實際點選數和Unity感應到的數量不一樣。 同樣的,這也就導致了一系列問題。 鍵盤輸入漏檢測 滑鼠輸入漏檢測 射線漏檢測 我大概想了一下,應該是檢測更新速度不夠,所以會漏掉我的輸入。 出現問題了,我們就要解決問題。經過摸索,解
SpringCloud(Finchley.SR2)基礎篇:第一章、服務發現(Eureka)
一、Eureka簡介: Eureka是由Netflix開源的基於REST的服務發現元件,不過出於某種原因2.x以後的版本就停止開源了。Eureka包括Eureka Server(Eureka服務端)和Eucreka Client(Eureka客戶端)。 詳細的介紹將在提高篇進行說明,
Unity基礎篇:判定載入(切換)場景是否完成
老版本的Unity可以用 Application.LoadLevel(LoadSceneName); 來載入場景 用 Application.isLoadingLevel 來判定場景載入是否完成 可是Unity已經準備棄用這個方法了 --------------
王權富貴基礎篇:用numpy做最簡單的單層感知器
上面就是最簡單的單層感知器,由多個輸入,一個輸出。 這個是一個完整的流程,做到右是正向傳播,右到左是更新權值。 雖然現在有TF,CAFF可以一句話寫出下面這些,不過對於努力提高的同學來說,用基礎程式碼實現基礎功能還是很有意義的。 現在開始用numpy搭建網路
9.基礎篇:理解Linux軟中斷
當程序長時間都處於不可中斷狀態時,你就得當心了。這時,你可以使用 dstat、pidstat 等工具,確認是不是磁碟 I/O 的問題,進而排查相關的程序和磁碟裝置。關於磁碟 I/O 的效能 問題,你暫且不用專門去背,後續的 I/O 部分詳細介紹,到時候理解了也就記住了。 其實除了 iowait,軟中斷(so
Unity基礎篇:Mecanim動畫系統重點整合
1.Mecanim是Unity 4.0的新功能。是一個豐富且精密的動畫系統。 2.為人形角色提供簡易的工作流和動畫建立能力。 3.動畫重定向,即一個骨骼和動作,多角色使用。 4.針對遠古版本的An
mysql刪庫跑路必會姿勢(基礎篇:MySql架構與儲存引擎)
基礎篇:MySql架構與儲存引擎 邏輯架構圖: 連線層: mysql啟動後(可以把mysql類比為一個後臺的伺服器),等待客戶端請求,當請求到來後,mysql建立一個一個執行緒處理(執行緒池則分配一個空執行緒,當然也可使用nio執行緒模