第57章 Git
Git コンポーネント リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
Camel 2.16 以降で利用可能
Git コンポーネントを使用すると、汎用 Git リポジトリーを操作することができます。
<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 形式
git://localRepositoryPath[?options]
URI オプション リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
プロデューサーは特定のリポジトリーで操作を行うことができます。コンシューマーは特定のリポジトリーでコミット、タグ、およびブランチを使用できます。
|
名前
|
デフォルト値
|
タイプ
|
コンテキスト
|
説明
|
|---|---|---|---|---|
|
localPath
|
null
|
文字列
|
共有
|
ローカル Git リポジトリーへのパス
|
|
remotePath
|
null
|
文字列
|
共有
|
リモート Git リポジトリーへのパス
|
|
operation
|
null
|
文字列
|
プロデューサー
|
実行する操作。現在、以下の値をサポートしています。
clone, init, add, remove, commit, commitAll, createBranch, deleteBranch, createTag, deleteTag, status, log, push, pull, showBranches, cherryPick.
|
|
branchName
|
null
|
文字列
|
プロデューサー
|
作業するブランチの名前
|
|
tagName
|
null
|
文字列
|
プロデューサー
|
作業するブランチのタグ
|
|
username
|
null
|
文字列
|
プロデューサー
|
git リポジトリーの認証フェーズで使用するユーザー名
|
|
password
|
null
|
文字列
|
プロデューサー
|
git リポジトリーの認証フェーズで使用するパスワード
|
|
type
|
null
|
文字列
|
コンシューマー
|
コンシューマーのタイプ。現在、以下の値をサポートしています。
commit, tag, branch
|
メッセージヘッダー リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
|
名前
|
デフォルト値
|
タイプ
|
コンテキスト
|
説明
|
|---|---|---|---|---|
|
CamelGitOperation
|
null
|
文字列
|
プロデューサー
|
エンドポイントオプションとして指定されていない場合に、リポジトリーで実行する操作
|
|
CamelGitFilename
|
null
|
文字列
|
プロデューサー
|
add 操作のファイル名
|
|
CamelGitCommitMessage
|
null
|
文字列
|
プロデューサー
|
コミット操作に関連するコミットメッセージ
|
|
CamelGitCommitUsername
|
null
|
文字列
|
プロデューサー
|
コミット操作のコミットユーザー名
|
|
CamelGitCommitEmail
|
null
|
文字列
|
プロデューサー
|
コミット操作のメール
|
|
CamelGitCommitId
|
null
|
文字列
|
プロデューサー
|
コミット ID
|
プロデューサーの例 リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
以下は、ファイル test.java をローカルリポジトリーに追加し、master ブランチに特定のメッセージでコミットしてからリモートリポジトリーにプッシュするプロデューサーのルート例です。
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")
コンシューマーの例 リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
以下は、コミットを使用するコンシューマーのルート例です。
from("git:///tmp/testRepo?type=commit")
.to(....)