Show Table of Contents
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-630187</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(....)
Where did the comment section go?
Red Hat's documentation publication system recently went through an upgrade to enable speedier, more mobile-friendly content. We decided to re-evaluate our commenting platform to ensure that it meets your expectations and serves as an optimal feedback mechanism. During this redesign, we invite your input on providing feedback on Red Hat documentation via the discussion platform.