Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/303.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java监视器GitHub存储库_Java_Git_Github - Fatal编程技术网

Java监视器GitHub存储库

Java监视器GitHub存储库,java,git,github,Java,Git,Github,我想创建一个Java应用程序,它监视GitHub存储库,将更改拉到运行它的机器上,并在repo中的某些内容发生更改时触发一个方法 while(true) { if(new commits on the remote github repo) { pullChanges(); doSomething(); } } 我目前正在使用并定期删除本地存储库以克隆一个新的存储库,并比较合并的文件大小以检查是否有任何更改。这是令人难以置信的骇客和不可靠

我想创建一个Java应用程序,它监视GitHub存储库,将更改拉到运行它的机器上,并在repo中的某些内容发生更改时触发一个方法

while(true)
{
    if(new commits on the remote github repo)
    {
        pullChanges();
        doSomething();
    }
}

我目前正在使用并定期删除本地存储库以克隆一个新的存储库,并比较合并的文件大小以检查是否有任何更改。这是令人难以置信的骇客和不可靠的(如果提交只是更改了一个字母,文件大小将是相同的)

您获取本地副本和远程副本之间差异的方法太复杂,不可靠


请参阅本文:

您获取本地副本和远程副本之间差异的方法太复杂,不可靠

请参阅本文:

您可以使用

Webhook允许您构建或设置订阅GitHub.com上特定事件的集成。当触发其中一个事件时,我们将向webhook配置的URL发送HTTP POST负载。Webhook可用于更新外部问题跟踪程序、触发CI构建、更新备份镜像,甚至部署到生产服务器。你只受想象力的限制

你可以用

Webhook允许您构建或设置订阅GitHub.com上特定事件的集成。当触发其中一个事件时,我们将向webhook配置的URL发送HTTP POST负载。Webhook可用于更新外部问题跟踪程序、触发CI构建、更新备份镜像,甚至部署到生产服务器。你只受想象力的限制


我将其更改为在java应用程序启动时克隆存储库,之后我创建了一个单独的线程,该线程每30秒从存储库中提取一次新的提交,并使用java方法返回的“FetchResult”检查是否有更改

这些帮助了我:


当java应用程序启动时,我将其更改为克隆存储库,之后我创建了一个单独的线程,每30秒从存储库中提取一次新提交,并使用java方法返回的“FetchResult”检查是否有更改

这些帮助了我:


您应该能够使用jgit从存储库中获取提交日志,如果哈希更改,则会拉取更改。是一个检索提交日志的示例。您应该能够使用jgit从存储库中获取提交日志,如果哈希更改,则会拉取更改。是用于检索提交日志的示例