很高興你對Matermost open source project感興趣。為了幫助翻譯秤茅,請參閱本地化過程彻秆。 對于代碼貢獻(xiàn),這里是過程:
1 選擇一個(gè)Ticket
- 從Help Wanted GitHub問題列表中選擇一個(gè)ticket蛇耀。
- 確保它在服務(wù)器存儲庫或Web應(yīng)用程序存儲庫中沒有open pull request辩诞。
- 在開始工作之前,comment讓人們知道你正在處理這個(gè)問題纺涤。
- 如果您有任何問題译暂,請將其發(fā)布到Mattermost forum或加入Contributors頻道,并宣布您想要處理的故障單撩炊,以便將其分配給您外永。
歡迎沒有ticket的輕微更正和改善的Pull requests
如果對現(xiàn)有行為的改動(dòng)較小,少于20行的代碼更改拧咳,則可以提交一個(gè)缺陷或增量改進(jìn)的PR伯顶,不需要Help Wanted ticket。 所有提交的沒有相應(yīng)標(biāo)簽的請求將首先由核心團(tuán)隊(duì)產(chǎn)品經(jīng)理審核。 一些小的更正和改進(jìn)的例子包括:
- 修復(fù)幫助文本中的格式錯(cuò)誤
- 修復(fù)Makefile中的success typo
- 修復(fù)Edit Webhooks屏幕中的Cancel按鈕
- 修復(fù)了保存用戶通知設(shè)置時(shí)Android應(yīng)用崩潰的問題
- 修復(fù)最近提到的搜索不起作用
較大的pull request砾淌,包括需要修改文檔或用戶期望的請求啦撮,需要核心團(tuán)隊(duì)打開Help Wanted,以便測試汪厨,記錄和支持更改赃春。
與核心團(tuán)隊(duì)討論opening a Help Wanted ticket的最佳方法是在the feature idea forum中開始對話。
2 安裝Mattermost并設(shè)置你的Forks
一旦你有ticket:
- 按照developer setup instructions說明安裝Mattermost劫乱。
- 在您的mattermost-server或mattermost-webapp repository中創(chuàng)建一個(gè)分支织中,并使用以下命令將
<branch name>
設(shè)置為正在使用的ticket的ID,例如PLT-394
:git checkout -b <branch name>
- 看看developer flow衷戈,了解如何使用Mattermost代碼庫狭吼。
3 準(zhǔn)備Pull Request
在提交poll request(PR)之前,請檢查:
- 您已經(jīng)簽署了Contributor License Agreement殖妇,因此您可以將其添加到Mattermost Approved Contributor List中刁笙。
- 你有一個(gè)用于改善代碼的Help Wanted ticket
- 你的代碼遵循Mattermost Style Guide,你已經(jīng)運(yùn)行了
make check-style
來檢查樣式錯(cuò)誤谦趣。 - 包括新的服務(wù)器端功能的單元測試疲吸。
- 用戶界面中的字符串包含在i18n/en.json服務(wù)器和webapp i18n/en.json本地化文件中。其他語言的文件將通過Mattermost Transtation Server自動(dòng)更新前鹅,不需要包含在拉取請求中摘悴。
- 變化符合Fast, Obvious, Forgiving的用戶體驗(yàn)指南。
- 如果更改要求用戶理解新的概念或做出決定舰绘,PR幫助文檔將提交給mattermost/docs蹂喻。
- 改變經(jīng)過徹底的測試。如果您的更改涉及到文本處理捂寿,請確保在提交PR之前至少在
/tests
中運(yùn)行降級測試口四。運(yùn)行l(wèi)oadtests:- 轉(zhuǎn)到System Console > Developer并將Enable Testing Commands設(shè)置為true
- 運(yùn)行
/test url test-markdown-basics.md
并按照說明操作 - 運(yùn)行
/test url test-markdown-lists.md
并按照說明操作 - 運(yùn)行
/test url test-tables.md
并按照說明操作
- 確認(rèn)你squashed your commits。
4 提交Pull Request
提交PR時(shí)者蠕,請檢查:
- PR is submitted against
master
- PR標(biāo)題以Jira Ticket ID開頭(例如
PLT-394
:見examples) - PR comment描述了這些變化以及該功能應(yīng)該如何工作
- 多個(gè)存儲庫中的多個(gè)相關(guān)PR必須在說明中包含它們之間的依賴關(guān)系窃祝。
5 管理一個(gè)Open Pull Request
提交PR后,合并之前:
- 自動(dòng)構(gòu)建過程必須通過
- 如果構(gòu)建失敗踱侣,請檢查錯(cuò)誤日志以縮小原因粪小。
- 有時(shí),由于Travis CI中的問題抡句,多個(gè)構(gòu)建測試中的一個(gè)將會隨機(jī)失敗探膊。 如果您只看到一個(gè)構(gòu)建失敗并且沒有明確的錯(cuò)誤消息,則可能是一個(gè)隨機(jī)問題待榔。 添加評論逞壁,以便更改的審閱者可以重新運(yùn)行構(gòu)建流济,或者關(guān)閉公共關(guān)系并重新提交,通常會清除問題腌闯。
- PM審查必須通過
- 產(chǎn)品經(jīng)理將檢查pull request以確保:
- 適合我們的產(chǎn)品路線圖
- 按預(yù)期工作
- 滿足用戶體驗(yàn)指南
- 產(chǎn)品經(jīng)理可能會回來一些錯(cuò)誤或用戶界面的改進(jìn)來解決之前拉動(dòng)請求移動(dòng)開發(fā)審查绳瘟。
- 產(chǎn)品經(jīng)理將檢查pull request以確保:
- CSS審查必須通過
- 任何包含CSS更改的pull request都應(yīng)該由UX和HTML/CSS開發(fā)人員進(jìn)行審查。
- Dev審查必須通過
- 兩個(gè)核心提交者將審查拉取請求姿骏,并提供反饋或批準(zhǔn)公關(guān)糖声。
- 在拉取請求準(zhǔn)備合并之前,需要解決任何注釋分瘦。
如果您的郵寄地址包含在注冊的Contributor License Agreement中蘸泻,則在您的第一個(gè)拉取請求合并后,您可能會收到一個(gè)限量版Mattermost杯子作為感謝禮物嘲玫。
核心提交者
Mattermost存儲庫上的核心提交者由經(jīng)過審核的核心團(tuán)隊(duì)成員組成悦施,包括社區(qū)貢獻(xiàn)者以及來自Mattermost,Inc.的員工去团,這些人員都值得信賴來審查和合并PR抡诞。
- 核心提交者包括:Coreyhulen,crspeller渗勘,csduarte沐绒,enahum俩莽,grundleborg旺坠,hmhealey,jwilander
- 產(chǎn)品經(jīng)理包括:asaadmahmood扮超,esethna取刃,it33,jasonblais出刷,lfbrock