問題タブ [sonarqube5.3]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
sonarqube - 未解決の解決策が選択されている場合、sonarqube の問題で閉じたアイテムが表示される
sonarqube 5.3 を実行していますが、プロジェクトの 1 つが正しくないレポートを表示しています。他のプロジェクトは問題ありません。
問題のプロジェクトのダッシュボードには、9 つのブロッカーの問題があることが示されています。これをクリックすると、問題ページに移動し、合計 21 の問題が表示されます。問題のリストには、「解決済み (修正済み)」としてマークされているアイテムが含まれており、これらは余分なアイテムです。問題ページでは、重大度の下に「ブロッカー」、解決フィールドの下に「未解決」のみがチェックされています。
フィルターに基づいて、このプロジェクトの問題ページに問題が正しく表示されない理由を特定するのを手伝っていただけますか? ありがとう、
sonarqube - ソナー5.3の「以前の分析以降」でnew_coverageメトリックが機能しない
私の質問は、SonarQube 5.3 API から値を返さない新しいコード カバレッジ メトリックにここに投稿された質問の続きです。
最近、new_coverage やその他の新しいメトリックを活用するために、Sonar 5.3 をロールアウトしました。しかし、数日分のコード分析を行った結果、Sonar が new_coverage メトリックを正しく計測していないことがわかりました。ただし、new_violations などを計測することはできます。
この状況はかなり定期的であり、いくつかの Java ベースのプロジェクトで発生しています。分析の実行後、Sonar は ncloc、new_violations などの変更を報告しますが、new_coverage の var2 と fvar2 の値は報告しません。URL https://internal.sonar.server.com/api/resources?resource=prj_key&format=json&metrics=ncloc,new_coverage&includealerts=true&includetrends=trueの 1 つのアプリケーションに対する応答の例を次に示します。
[
{
"creationDate": "2016-04-06T15:51:29-0400",
"date": "2016-06-20T21:48:27-0400",
"description": "",
"id": 6610,
"key": "<PRJ_KEY>",
"lname": "<PRJ_LNAME>",
"name": "<PRJ_LNAME>",
"p1": "previous_version",
"p1d": "2016-06-06T02:21:39-0400",
"p1p": "16.06.00-SNAPSHOT",
"p2": "previous_analysis",
"p2d": "2016-06-20T16:42:38-0400",
"p2p": "2016-06-20",
"p3": "days",
"p3d": "2016-05-22T02:22:57-0400",
"p3p": "30",
"qualifier": "TRK",
"scope": "PRJ",
"uuid": "AVPtITChBmbOnKmhsXJi",
"version": "16.06.01-SNAPSHOT",
"msr": [
{
"alert": null,
"alert_text": null,
"frmt_val": "41,589",
"fvar1": "483",
"fvar2": "9",
"fvar3": "743",
"key": "ncloc",
"val": 41589.0,
"var1": 483.0,
"var2": 9.0,
"var3": 743.0
},
{
"alert": null,
"alert_text": null,
"frmt_val": "47.9%",
"fvar1": "-0.4%",
"fvar2": "0.0%",
"fvar3": "-0.3%",
"key": "coverage",
"val": 47.9,
"var1": -0.399999999999999,
"var2": 0.0,
"var3": -0.300000000000004
},
{
"alert": "OK",
"alert_text": null,
"fvar1": "15.2%",
"fvar3": "28.1%",
"key": "new_coverage",
"var1": 15.2317880794702,
"var3": 28.1407035175879
}
]
}
]
上記の応答でわかるように、以前の分析以降に変更されたコード行があります (これらの行はすべて機能コード内にあり、無視されていません。ただし、分析が行われたばかりであるにもかかわらず、new_coverage フィールドの var2 の値はありません。問題は API だけでなく、UI 側にもあります.いくつかのメトリクスの新しいカバレッジ メトリクスの「以前の分析以降の値」は見られませんが、他の新しいコード メトリクスと全体的なカバレッジは問題ありません.
maven-3 - コード カバレッジ: Cobertura と SonarQube 5.3 Maven の統合
継続的インテグレーションの一環として、すべてのプロジェクトを ANT から MAVEN に移行しています。新しいプロジェクトで JaCoCo を使用してコード カバレッジを測定し、SonarQube と正常に統合しました。
Cobertura を使用している既存の ANT プロジェクトはほとんどありません。これをMavenに移行しているときに、以下の例外が発生します
例外
pom.xml
専門家、ここで何か不足していますか?
database - 壊れたプロジェクト リンクは、既存のデータベースから新しいデータベースへのデータ コピーを送信し、照合順序を変更します
最近、Sonar を 5.3 バージョンにアップグレードしました。ソナーには照合要件 (Latin1_General_CS_AS) があります。既存の DB での照合は - Latin1_General_CI_AS です。
以下の手順に従います。 1. 新しい照合順序で新しい DB を取得します。2. 新しい DB に Sonar インスタンスをセットアップします。これにより、必要なテーブルが作成されました。3. 新しい DB 上の切り捨てられたデータ (基本的にはテーブルを削除して再作成) 4. 既存の DB から新しい DB にデータをコピーするために SELECT INSERT を実行しました。
Sonar DB コピー ツールを認識していますが、これは Enterprise バージョンのみであると思います。( http://docs.sonarqube.org/display/SONAR/Sonar+DB+Copy+Tool )
ソナーは稼働していますが、プロジェクトのリンクが壊れていることがわかります。Sonarで古いDBから新しいDBにデータを移行する適切な方法はありますか?
ソナー ログに以下のエラーが表示されます。
2016.07.07 14:59:29 エラー web[ossui.JRubyFacade] レンダリングに失敗: http://:42224/dashboard/index/20464 undefined method project' for nil:NilClass
<INSTALL PATH>/web/WEB-INF/app/controllers/dashboard_controller.rb:53:in
index'
web-services - SonarQube 5.6: Web サービスを使用して html テキスト形式で課題コメントを追加する方法
SonarQube には、コメント api/issues/add_comment を追加するための Web サービス API があります。この Web サービス API は、パラメーターを issue_id およびテキストとして受け取ります。プレーンテキストではなくhtmlテキストを追加したい。どんなテキストを渡しても、通常のテキストと見なされます。webserive add comment api を使用して htmlText/markdown をコメントとして渡す方法例:
上記の API は、ソナーの問題のコメント セクションにすべてを通常のテキストとして書き込みます。
java - Quality Gate を使用した SonarQube の技術的負債管理
カスタム クオリティ ゲートを構成すると、デフォルトの SonarQube Way が最初の参照として使用され、さらに調整およびカスタマイズされます (さらにチェックを追加します)。現在の品質ゲートは次のようになります (旧バージョンと現在のバージョン):
主なポイントは、技術的負債の日数についてです。他のチェックが緩和されていることを考えると (複雑さと範囲)、これは 10 からそれよりも小さい数に強制する必要があります。これは確かに合理的です。いくつかのルールを緩和すると、制御された技術的負債のマージンが増え、制御されていない技術的負債の累積日数のしきい値が短くなります。
ただし、全体的な品質ゲートは、何らかの形で (数学的に?) 一定の比率に従う必要があります。
質問: 上記の緩和を考慮して、最も適切な技術的負債のしきい値を計算する方法は?
古い記事(2009 年、したがって、おそらくもはや適用されない) から、次の式が差し引かれました。
注:\
読みやすくするために追加されました。
ただし、適切な計算を行うには未知の変数が多すぎますが、上記のすべての品質ゲート項目をカバーしているわけではありません (これも古いリファレンスです)。
他のより最近の情報源は、関連する項目について詳細に説明していますが、比例した方法で値を調整する方法については説明していません。
( Admin / Configuration / Technical Debtsonar.technicalDebt.developmentCost
)のデフォルト値は30分です。これは、1 LOC (1 行のコードを開発するためのコスト) = 30 を意味しますが、上記の変数の粒度レベルではなく、この場合には役に立ちません。
sonarqube - SonarQube 5.3 から 5.6.2 (および 5.5) にデータベースを移行するときの IllegalStateException
データベースを SonarQube 5.3 から SonarQube 5.6.2 にアップグレードしようとすると、「java.lang.IllegalStateException」が発生し、「ソース データの圧縮解除と逆シリアル化に失敗しました」というメッセージが表示されます (元は com.google.protobuf.InvalidProtocolBufferException: Stream が原因でした)。破損しています)。
私はこれをいくつかの異なるデータベース (SonarQube 5.3 を使用していて、アップグレードしたいチームが 40 ほどあります) と 5.5 (より小さなステップでうまくいく場合) と 5.6.2 の両方で試しました。同じエラーが発生します。
すべてのプラグインを最新バージョンにアップグレードしました - Jira プラグインは互換性がなくなったため削除する必要がありました。メトリクス テーブルにはまだエントリがあることに注意してください。これは問題になる可能性がありますか?
このエラーの原因と回避方法を教えてください。
さらに情報が必要な場合はお知らせください。
ありがとう!!!!
ロバート
次のプラグインが 5.6.2 にインストールされます。
そして、これらは 5.3 にインストールされました。
これは、DB 移行の終了と例外を示すログの一部です。
sonarqube - ソナーキューブでsahiスクリプトの問題/重複機能を識別するためのルールを定義するにはどうすればよいですか? 分析用に JavaScript または Java 構文のみをサポートしていますか?
Sahi 自動化ツールを SonarQube に正常に統合して結果を得ることができましたが、問題は、sahi スクリプトに関連する問題を報告し、重複する関数を見つけるための一連のルールを定義することです。
これがSahiのコードスニペットです
ファイル名: sample1.sah
ファイル名: sample2.sah
コピーされた同じコード セットですが、名前が異なります
上記の例では、
問題がある場合、問題を特定するためのルールを定義するにはどうすればよいですか?
同じコード セットで関数名が異なる重複関数を見つけるにはどうすればよいですか? これにより、冗長な機能を減らすことができます