此内容没有您所选择的语言版本。

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(....)
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.