使用Upsource自動創(chuàng)建代碼審查并添加默認(rèn)reviewer

原文地址:https://blog.jetbrains.com/upsource/2017/04/13/automating-your-code-review-workflow-with-upsource/

以下文章是基于原文用翻譯工具翻譯的:

代碼審查工作流的最后 三篇 文章表明鬼譬,進(jìn)行代碼審查的方法不只一種,而且您采用的方法將取決于您希望通過審查實現(xiàn)的目標(biāo)以及與您合作的團(tuán)隊類型逊脯。

在本文中优质,我們將介紹Upsource如何通過盡可能多地實現(xiàn)自動化來簡化您的工作流程(無論其外觀如何)。當(dāng)可能有用時,我們將展示可以輕松自動化的事物類型巩螃,并展示如何實現(xiàn)演怎。

自動創(chuàng)建評審

如果您的工作流程在誰評審代碼方面是可預(yù)測的,那么您無需手動創(chuàng)建評審并添加評審者避乏,則可以讓Upsource為您完成爷耀。在此示例中,我們假設(shè)您只有一個人拍皮,負(fù)責(zé)檢查所有已提交的代碼歹叮。

腳步:

這是使用“ 定制工作流”實現(xiàn)的。

  1. 以管理員身份登錄铆帽,然后通過單擊設(shè)置圖標(biāo)進(jìn)入管理頁面

  2. 選擇要為其啟用自動代碼審查的項目盗胀,然后單擊其“ 編輯項目”按鈕。

  3. 單擊頁面右側(cè)的“ 定制工作流”鏈接锄贼。

  4. 在“自動創(chuàng)建評審”標(biāo)題下票灰,單擊啟用復(fù)選框,然后單擊出現(xiàn)的添加觸發(fā)器按鈕宅荤。

  5. 對于我們的特定示例屑迂,我們不會輸入任何作者或分支/路徑信息,我們希望所有作者的所有代碼都由我們指定的審閱者進(jìn)行審閱冯键。您會看到Upsource建議該項目中的所有用戶惹盼,因此您只需從列表中選擇一個即可。

    圖1:配置用于創(chuàng)建評審的觸發(fā)器

  6. 保存后惫确,您可以查看觸發(fā)器的詳細(xì)信息:

    圖2:查看觸發(fā)器詳細(xì)信息

  7. 下次任何人檢入代碼時手报,將自動創(chuàng)建對此提交的代碼審閱,以供審閱者審閱

圖3:自動創(chuàng)建的評審

筆記:

默認(rèn)情況下改化,這將為每次提交創(chuàng)建一個新的審閱掩蛤。您可以選擇將審閱設(shè)置為自動跟蹤其所在的分支,這在團(tuán)隊使用功能分支或類似的工作流程時可能是合適的陈肛。

圖4:您可以選擇將創(chuàng)建的評審設(shè)置為跟蹤分支

還有其他選項可以將提交捆綁到特定的審閱中揍鸟,例如,使用問題ID或代碼審閱ID將提交自動添加到審閱中句旱。

適用于:

  • 可能用于 網(wǎng)關(guān)代碼審閱 過程阳藻,其中一個人通常會批準(zhǔn)對代碼的更改,或者有一組審閱者會自動添加到所有審閱中谈撒。如果作者通常進(jìn)行一系列提交腥泥,但只希望在代碼“完成”時進(jìn)行審查,則不太適合此過程啃匿。
  • 可用于設(shè)計演變審核蛔外,在此工作流程中,您可以選擇所有(或大多數(shù))團(tuán)隊要審核的提交。

更改自動分配的審閱者

如果您a)知道將需要哪些開發(fā)人員作為審閱者冒萄,并且可以選擇b)可以基于分支或代碼路徑分配這些開發(fā)人員,則先前的自動化功能非常有用橙数。大多數(shù)團(tuán)隊在分配給評審人員方面更加靈活尊流,尤其是當(dāng)他們遵循迭代方法或使用代碼評審進(jìn)行知識共享時。上游可以從給定的合適開發(fā)人員庫中分配隨機(jī)選擇的審閱者灯帮。

在此示例中崖技,我們將指定一個開發(fā)人員池,這些人員可以隨機(jī)分配以查看任何開發(fā)人員的任何代碼钟哥。

腳步:

  1. 我們將啟用第二個自動化工作流程迎献,以及上一個自動化工作流程。首先腻贰,我們需要像上一個示例一樣吁恍,設(shè)置代碼審查的自動創(chuàng)建。唯一的區(qū)別是這一次我們不分配審閱者(請參見圖1 –在第二個示例中播演,我們不添加審閱者)冀瓦。

  2. 在“ 自定義工作流程”部分中,我們需要轉(zhuǎn)到“自動分配評審參與者”標(biāo)題写烤。在這里翼闽,我們單擊啟用復(fù)選框,然后單擊出現(xiàn)的添加觸發(fā)器按鈕洲炊。

    圖5 –分配評審參與者自動觸發(fā)

  3. 與往常一樣感局,Upsource會為“創(chuàng)建者”和“用戶”字段都建議用戶。我們將“創(chuàng)建者”字段留空暂衡,因為我們希望這適用于所有開發(fā)人員询微。但是您可以想象,如果您希望此工作流程僅適用于初級/新開發(fā)人員狂巢,則可以將其添加到此框中拓提。

  4. 我們將為所有代碼評審選擇一組評審者。這可能只是團(tuán)隊中最資深/最有經(jīng)驗的人隧膘,或者如果您的目標(biāo)是與評審共享代碼代态,則可能是所有開發(fā)人員。

  5. 現(xiàn)在疹吃,我們可以選擇將池中的每個人都分配為審閱者蹦疑,或者讓Upsource為每個審閱選擇一個隨機(jī)的子集。我們將配置Upsource隨機(jī)選擇一個人萨驶,這樣審閱者就不會因過多的審閱而超負(fù)荷工作歉摧,因此每個人都可以看到代碼的所有部分。

    圖6 –配置Upsource從池中隨機(jī)選擇一個審閱者

  6. 點(diǎn)擊保存更改按鈕。

  7. 現(xiàn)在叁温,只要有人簽入代碼再悼,就會自動創(chuàng)建一個審閱,并分配一個隨機(jī)的審閱者膝但。

    圖7 –創(chuàng)建評審并分配隨機(jī)評審者

適用于:

  • 希望開發(fā)人員擺脫孤島冲九,鼓勵他們在常規(guī)區(qū)域之外查看代碼的團(tuán)隊
  • 知識共享 –通過為每次提交分配隨機(jī)審閱者,整個團(tuán)隊最終可以看到整個代碼庫的更改跟束。
  • 迭代設(shè)計 –可用于將整個團(tuán)隊分配為每個提交的審閱者或觀察者莺奸,或者可用于隨機(jī)選擇審閱者。當(dāng)使用代碼審查進(jìn)行設(shè)計演變時冀宴,后一種選擇可能是減少某些噪聲的好方法灭贷。

根據(jù)發(fā)布編號自動將提交添加到審閱

許多團(tuán)隊已經(jīng)在問題跟蹤器中用錯誤/功能憑單的ID標(biāo)記了每個提交。如果這是您團(tuán)隊的標(biāo)準(zhǔn)做法略贮,并且您想為每個問題創(chuàng)建一個代碼審查甚疟,則可以打開Upsource中的功能來為您完成此任務(wù)。

腳步:

  1. 按照第一個示例中的步驟1-3導(dǎo)航到“ 自定義工作流” 頁面逃延。

  2. 轉(zhuǎn)到“將修訂自動添加到評審”古拴,然后勾選復(fù)選框。和以前一樣真友,單擊“ 添加觸發(fā)器”以定義設(shè)置黄痪。

    圖8 –在問題ID上創(chuàng)建觸發(fā)器

  3. 別忘了點(diǎn)擊“ 保存更改”

  4. 您仍然需要為第一次提交創(chuàng)建一個代碼審閱盔然,并在注釋中包含正確格式的關(guān)鍵字(Jira或YouTrack問題ID或預(yù)定義的問題ID格式)桅打,除非將其與另一個自動工作流程。但是具有此問題ID的后續(xù)提交將添加到該問題的代碼審查中愈案。

    圖9 –具有相同問題編號的提交會自動添加到同一評審中

適用于:

  • 不使用功能分支但使用問題編號將其提交分組的團(tuán)隊挺尾。
  • 已經(jīng)標(biāo)記了所有提交的問題編號或希望這樣做的團(tuán)隊。
  • 適用于所有代碼審查工作流程站绪。

與GitHub自動集成

這已在以前的博客文章中介紹過遭铺。Upsource 與GitHub雙向集成使同步請求請求(評審)和評審變得容易,因此恢准,無論審閱者還是作者更喜歡使用GitHub UI或Upsource魂挂,所有信息都可在這兩個工具中獲得。

適用于:

  • 使用GitHub的團(tuán)隊
  • 使用GitHub的開源項目馁筐,其中外部貢獻(xiàn)者使用GitHub UI涂召,內(nèi)部團(tuán)隊成員可以訪問Upsource實例。

摘要

上游有許多選項可幫助您自動執(zhí)行代碼審查工作流敏沉。正如有許多工具可以使代碼中要檢查的例行程序自動化(例如果正,靜態(tài)分析工具和自動化測試)炎码,這些工具可以用來最大程度地減少代碼作者和審閱者的工作量一樣,有些方法可以簡化創(chuàng)建代碼審閱的過程根據(jù)您的工作流程秋泳。

上述選項之一可能滿足您的需要潦闲,或者它們的組合可能會覆蓋絕大多數(shù)需要為您的團(tuán)隊創(chuàng)建代碼審查的情況,因此您甚至無需記住創(chuàng)建審查并派人參加迫皱。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末歉闰,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子舍杜,更是在濱河造成了極大的恐慌,老刑警劉巖赵辕,帶你破解...
    沈念sama閱讀 218,858評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件既绩,死亡現(xiàn)場離奇詭異,居然都是意外死亡还惠,警方通過查閱死者的電腦和手機(jī)饲握,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,372評論 3 395
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來救欧,“玉大人锣光,你說我怎么就攤上這事蹬刷。” “怎么了迂卢?”我有些...
    開封第一講書人閱讀 165,282評論 0 356
  • 文/不壞的土叔 我叫張陵怔毛,是天一觀的道長馆截。 經(jīng)常有香客問我,道長,這世上最難降的妖魔是什么蚁滋? 我笑而不...
    開封第一講書人閱讀 58,842評論 1 295
  • 正文 為了忘掉前任梢卸,我火速辦了婚禮蚣旱,結(jié)果婚禮上塞绿,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好笋妥,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,857評論 6 392
  • 文/花漫 我一把揭開白布嫉你。 她就那樣靜靜地躺著幽污,像睡著了一般距误。 火紅的嫁衣襯著肌膚如雪趁俊。 梳的紋絲不亂的頭發(fā)上暇务,一...
    開封第一講書人閱讀 51,679評論 1 305
  • 那天,我揣著相機(jī)與錄音,去河邊找鬼叹谁。 笑死,一個胖子當(dāng)著我的面吹牛订框,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 40,406評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼糙及!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起筛欢,我...
    開封第一講書人閱讀 39,311評論 0 276
  • 序言:老撾萬榮一對情侶失蹤浸锨,失蹤者是張志新(化名)和其女友劉穎唇聘,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體揣钦,經(jīng)...
    沈念sama閱讀 45,767評論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡雳灾,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,945評論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了冯凹。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片谎亩。...
    茶點(diǎn)故事閱讀 40,090評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖宇姚,靈堂內(nèi)的尸體忽然破棺而出匈庭,到底是詐尸還是另有隱情,我是刑警寧澤浑劳,帶...
    沈念sama閱讀 35,785評論 5 346
  • 正文 年R本政府宣布阱持,位于F島的核電站,受9級特大地震影響魔熏,放射性物質(zhì)發(fā)生泄漏衷咽。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,420評論 3 331
  • 文/蒙蒙 一蒜绽、第九天 我趴在偏房一處隱蔽的房頂上張望镶骗。 院中可真熱鬧,春花似錦躲雅、人聲如沸鼎姊。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,988評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽相寇。三九已至,卻和暖如春钮科,著一層夾襖步出監(jiān)牢的瞬間唤衫,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,101評論 1 271
  • 我被黑心中介騙來泰國打工绵脯, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留佳励,地道東北人。 一個月前我還...
    沈念sama閱讀 48,298評論 3 372
  • 正文 我出身青樓桨嫁,卻偏偏與公主長得像植兰,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子璃吧,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,033評論 2 355