2017-12-06 3 views
0

Jenkins ver。 2.73.3ビルドからユーザ情報を抽出する

Githubリポジトリへのコミットによってトリガされるサンプルビルドタスクがあります。これは、ビルド情報がどのように見えるかです:私たちは別のファイルにこのユーザ名を書いて、特定の場所に保管する必要が

enter image description here

。どうすれば達成できますか?

************************ シェルコマンドを実行して変数GIT_COMMITTER_NAMEをファイルに書き込むビルドステップを追加しました。これは、(空のファイルを)失敗したが、私はそれがファイルに書き込まれ、JENKINS_URLが言う、書く場合:

enter image description here

+0

さらに詳しい情報が必要です - どのOS /ファイルシステムを使用していますか?どのタイプの仕事ですか?これはパイプラインの仕事ですか? groovyスクリプトやプラグインを見て、bash/batch(OS依存)スクリプトを可能にするビルドステップを追加しましたか?何を試しましたか? – Jay

+0

1. JenkinsがRHEL7上で動作しています 2.これは「フリースタイル」(パイプラインではない)ジョブです ビルドをトリガーした(Github)ユーザーに関する情報はビルド情報に既に反映されています。ただそれを抽出する方法があれば。これにはプラグインが必要ですか? –

+0

実行シェルのビルドステップを追加すると、環境変数GIT_AUTHOR_NAMEにアクセスできますか?つまり 'echo $ GIT_AUTHOR_NAME' - これはあなたの後の価値を与えてくれるでしょうか? – Jay

答えて

0

私はgithubのプラグインが設定されていないと思い、デフォルトでは、GIT_AUTHOR_NAMEような変数、GIT_AUTHOR_EMAILなどthis答えからヒントを取る。 、私はプレースホルダgit showコマンドの「pretty option」のを使用して進めました。

git show -s --pretty='GIT_AUTHOR_NAME='%aN%n'GIT_AUTHOR_EMAIL='%aE%n'GIT_COMMITTER_NAME='%cN%n'GIT_COMMITTER_EMAIL='%cE >> github.properties 

出力::私はジェンキンスジョブのビルドステップ「シェルの実行」をして、次のコマンドを追加

GIT_AUTHOR_NAME=LastName FirstName 
[email protected] 
GIT_COMMITTER_NAME=GitHub Enterprise 
[email protected] 
0

代わりのecho $variable名シェルでenvを実行し、それはあなたのすべての環境変数を与えますあなたは正しい変数を選ぶことができます。 (GitlabからJenkinsまで$gitlabUserName

+0

あなたは>は は、空の名前 –

+1

はありません、あなたの実行シェルボックスにちょうど 'env'を維持し、Gitリポジトリにコードをプッシュ取得github.properties「」 ENVのようなもの 「GIT_AUTHOR_NAME = \」$ GIT_AUTHOR_NAME \エコーを意味し、とき仕事起動され、コンソールに行き、すべての変数が利用可能であるかどうかを確認します。 – Dhananjay

+0

それは良い提案だった、私はいくつかのenvを参照してください。 GIT_AUTHOR_NAME、GIT_COMMITTER_EMAILなどが欠けています(プラグインが設定していないと思います) –

関連する問題