我有一个GitHub存储库,其中包含许多单独的Maven项目。我有一个私人的Jenkins,它每2小时轮询一次该GitHub存储库,以跟踪GitHub存储库中发生的Commits和PullRequest事件。每当发现任何新的Commits和PullRequest事件时,Jenkins作业都会很好地触发。
我的GitHub项目层次结构如下所示:
└─ ProjectRootDir
│
├─ ProjectModuleA
│ ├─ project1
│ ├─ project2
│ ├─ project3
│ ├─ project4
│ ├─ project5
│ └─ project6
│
├─ ProjectModuleB
│ ├─ project7
│ ├─ project8
│ └─ project9
│
├─ ProjectModuleC
│ ├─ project10
│ └─ project11
│
├─ ProjectModuleD
│ ├─ project12
│ ├─ project13
│ ├─ project14
│ ├─ project15
│ ├─ project16
│ └─ project17
│
└─ pom.xml
假设某人向 ProjectModuleA 的 project3 提交了一些文件。当詹金斯(Jenkins)轮询时间到来时,将成功触发作业,因为在GitHub中检测到一个事件。但是现在的问题是,我只想将 project3 部署到服务器。
我已经遍历了GitHub API,在其中我看到了许多用于获取事件(拉,提交,推等)的API。
https://api.github.com/repos/my-github-repo/events
但是我怎么知道它提交到哪个项目,以便我可以选择性地部署该特定项目(即 project3 )