2016-06-21 62 views
1

我安裝了一個Sonarqube webapp來控制我公司的代碼質量。 我使用LDAP插件來驗證用戶,一切正常。另外,我們使用另一個插件(Issue assign插件),它將問題分配給他們的SCM作者併發送電子郵件給他們,以便他們可以更正代碼。我該如何批量更新Sonarqube賬戶通知?

但是,當新用戶登錄時,通知將關閉。 我們希望創建一個批處理,以便爲所有用戶啓用通知(使用任何大規模更新),但我們無法找到用戶帳戶的通知存儲在哪裏... 我沒有在數據庫中找到它。

你知道這個設置的存儲位置嗎? (我們使用Sonarqube 4.5.6來解決兼容性問題)。

回答

3

您不能訂閱其他人SonarQube 垃圾郵件 通知。

(這應該是你所看到的巴特·辛普森寫在黑板上的事情之一。)

你必須說服他們自行註冊。

SonarQube是開發人員首要的工具。向開發商的喉嚨/收件箱內推入某些東西,然後將其快速過濾到垃圾箱中。

這是您的機會來培訓新開發人員如何SonarQube 幫助他們更好地工作並告訴他們爲什麼他們應該有興趣自己訂閱。

0

我們支持我們的實例與Oracle數據庫,發現下面的SQL做你問什麼:

注:您可能需要更新created_at值別的東西,但我不認爲它會產生功能差異。

INSERT INTO properties (id, user_id, prop_key, text_value, is_empty, created_at) 
    SELECT 
     PROPERTIES_SEQ.nextval, 
     users.id, 
     'notification.SQ-MyNewIssues.EmailNotificationChannel', 
     'true', 
     0, 
     1505275000000 
    FROM 
     users 
    WHERE 
     users.id NOT IN (
      SELECT user_id 
      FROM properties 
      WHERE prop_key = 'notification.SQ-MyNewIssues.EmailNotificationChannel'); 

INSERT INTO properties (id, user_id, prop_key, text_value, is_empty, created_at) 
    SELECT 
     PROPERTIES_SEQ.nextval, 
     users.id, 
     'notification.ChangesOnMyIssue.EmailNotificationChannel', 
     'true', 
     0, 
     1505275000000 
    FROM 
     users 
    WHERE 
     users.id NOT IN (
      SELECT user_id 
      FROM properties 
      WHERE prop_key = 'notification.ChangesOnMyIssue.EmailNotificationChannel'); 

我試圖在某些時候將兩者結合起來,但是sql太複雜了。足夠簡單,只需複製粘貼。

G. Ann是用戶正確將創建因爲純粹的大宗通知的電子郵件過濾器,特別是如果你把他們所有上。然而,有時管理人員想要一個單方面的解決方案,如果產品不直接支持它,那麼無論如何你最終都不得不一起破解一些東西。

I reckon如果將信息合併到限速彙總中,則過濾電子郵件的動機將大大減少。我還有另一個關於這個特定場景的stackoverflow:Can SonarQube notification email quantity be reduced via batching?