通過鉤子擴展,GitHub托管的版本庫可以和外部應用實現整合。整合的接口完全開放,開發者可以訪問GitHub的開源項目?[github/github-services](https://github.com/github/github-services)?開發新的應用整合腳本。目前GitHub已經支持超過50個外部應用的整合,在這里恕不一一列舉,僅以helloworld項目為例,介紹幾個常見應用的整合。
## 3.4.1\. 郵件通知功能
配置郵件通知,可以實現新提交推送至版本庫時,發送通知郵件。在版本庫的管理界面,選擇“Service Hooks”中的Email進入郵件通知配置界面,如圖3-15所示。配置界面很簡單,寫上郵件地址,選擇激活即可。為了便于整個團隊都能收到通知郵件,可以將收件地址設置為一個郵件列表。如果選擇“Send From Author”,郵件的發件者顯示為提交者的郵件地址,否則發件者為noreply@github.com。
[](https://box.kancloud.cn/2015-07-09_559de2e849ad3.png)
圖3-15:郵件通知功能配置
郵件通知配置生效后,當有新提交推送到版本庫時,會發出通知郵件,如圖3-16所示。
[](https://box.kancloud.cn/2015-07-09_559de2ed4b765.png)
圖3-16:提交觸發郵件通知
## 3.4.2\. 和Redmine整合
Redmine是一個開源的項目管理平臺,用于項目的需求管理和缺陷跟蹤。Redmine可以和多種版本庫(包括Git)整合,可以直接通過Web界面瀏覽Git提交,還實現了提交和問題的關聯。
Redmine需要周期性地掃描版本庫,以便更新內置數據庫及建立提交和問題的關聯。通常是以計劃任務(crontab)的方式實現版本庫的周期性掃描,這導致Redmine中版本庫更新會存在一定的延遲。GitHub提供的Redmine整合的鉤子腳本能夠在GitHub版本庫更新后,通過WebService觸發Redmine主動掃描Git版本庫獲取更新。
GitHub提供的Redmine整合的配置界面如圖3-17所示。
[](https://box.kancloud.cn/2015-07-09_559de2f228e87.png)
圖3-17:與Redmine整合
圖3-17中的地址是Redmine部署的URL地址,項目ID是Redmine中的相關項目(如果不填寫則更新所有項目),而“Api Key”并非GitHub項目中配置的Api Key,而是Redmine中為版本庫更新配置的全局Api Key。相應的Redmine配置界面如圖3-18所示。
[](https://box.kancloud.cn/2015-07-09_559de2f391765.png)
圖3-18:Redmine中的API Key配置
- 前言
- 1. 探索GitHub
- 1.1. 什么是GitHub
- 1.2. GitHub亮點
- 1.3. 探索GitHub
- 2. 加入GitHub
- 2.1. 創建GitHub賬號
- 2.2. 瀏覽托管項目
- 2.3. 社交網絡
- 3. 項目托管
- 3.1. 創建新項目
- 3.2. 操作版本庫
- 3.3. 公鑰認證管理
- 3.4. 版本庫鉤子擴展
- 3.5. 建立主頁
- 4. 工作協同
- 4.1. Fork + Pull模式
- 4.2. 共享版本庫
- 4.3. 組織和團隊
- 4.4. 代碼評注
- 4.5. 缺陷跟蹤
- 4.6. 維基
- 5. 付費服務
- 5.1. GitHub收費方案
- 5.2. GitHub企業版
- 6. GitHub副產品
- 6.1. GitHub:Gist
- 6.2. 其他版本控制工具支持
- 6.3. 客戶端工具
- 6.4. 其他
- 7. 附錄:輕量級標記語言
- 貢獻者列表