Since Camel 2.16
Both producer and consumer are supported
The Git component allows you to work with a generic Git repository.
<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-git</artifactId>
<version>x.x.x</version>
<!-- use the same version as your Camel core version -->
</dependency>
URI Format
git://localRepositoryPath[?options]
The producer allows to do operations on a specific repository.
The consumer allows consuming commits, tags and branches on a specific
repository.
Below is an example route of a producer that add a file test.java to a local repository, commit it with a specific message on master branch and then push it to remote repository.
from("direct:start")
.setHeader(GitConstants.GIT_FILE_NAME, constant("test.java"))
.to("git:///tmp/testRepo?operation=add")
.setHeader(GitConstants.GIT_COMMIT_MESSAGE, constant("first commit"))
.to("git:///tmp/testRepo?operation=commit")
.to("git:///tmp/testRepo?operation=push&remotePath=https://foo.com/test/test.git&username=xxx&password=xxx")
.to("git:///tmp/testRepo?operation=createTag&tagName=myTag")
.to("git:///tmp/testRepo?operation=pushTag&tagName=myTag&remoteName=origin")
Below is an example route of a consumer that consumes commit:
from("git:///tmp/testRepo?type=commit")
.to(....)
By default camel-git will load .gitconfig
file from user home folder. You
can override this by providing your own .gitconfig
file.
from("git:///tmp/testRepo?type=commit&gitConfigFile=file:/tmp/configfile")
.to(....) //will load from os dirs
from("git:///tmp/testRepo?type=commit&gitConfigFile=classpath:configfile")
.to(....) //will load from resources dir
from("git:///tmp/testRepo?type=commit&gitConfigFile=http://somedomain.xyz/gitconfigfile")
.to(....) //will load from http. You could also use https
spring-boot:partial$starter.adoc