Fuse 6 is no longer supported
As of February 2025, Red Hat Fuse 6 is no longer supported. If you are using Fuse 6, please upgrade to Red Hat build of Apache Camel.此内容没有您所选择的语言版本。
Chapter 57. Git
Git Component
Available as of Camel 2.16
The Git component allows you to work with a generic Git repository.
<dependency> <groupId>org.apache.camel</groupId> <artifactId>camel-git</artifactId> <version>2.17.0.redhat-630xxx</version> <!-- use the same version as your Camel core version --> </dependency>
URI Format
git://localRepositoryPath[?options]
URI Options
The producer allows to do operations on a specific repository. The consumer allows consuming commits, tags and branches on a specific repository.
Name
|
Default Value
|
Type
|
Context
|
Description
|
---|---|---|---|---|
localPath
|
null
|
String
|
Shared
|
The path to the local Git repository
|
remotePath
|
null
|
String
|
Shared
|
The path to the remote Git repository
|
operation
|
null
|
String
|
Producer
|
The operation to perform. Currently supports the following values:
clone, init, add, remove, commit, commitAll, createBranch, deleteBranch, createTag, deleteTag, status, log, push, pull, showBranches, cherryPick.
|
branchName
|
null
|
String
|
Producer
|
The name of the branch to work on
|
tagName
|
null
|
String
|
Producer
|
The tag of the branch to work on
|
username
|
null
|
String
|
Producer
|
The username to use in authentication phase to the git repository
|
password
|
null
|
String
|
Producer
|
The password to use in authentication phase to the git repository
|
type
|
null
|
String
|
Consumer
|
The type of consumer. Currently supports the following values:
commit, tag, branch
|
Message Headers
Name
|
Default Value
|
Type
|
Context
|
Description
|
---|---|---|---|---|
CamelGitOperation
|
null
|
String
|
Producer
|
The operation to do on a repository, if not specified as endpoint option
|
CamelGitFilename
|
null
|
String
|
Producer
|
The file name in an add operation
|
CamelGitCommitMessage
|
null
|
String
|
Producer
|
The commit message related in a commit operation
|
CamelGitCommitUsername
|
null
|
String
|
Producer
|
The commit username in a commit operation
|
CamelGitCommitEmail
|
null
|
String
|
Producer
|
The commit email in a commit operation
|
CamelGitCommitId
|
null
|
String
|
Producer
|
The commit id
|
Producer Example
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")
Consumer Example
Below is an example route of a consumer that consumes commit:
from("git:///tmp/testRepo?type=commit") .to(....)