[jenkinsci-ja:566] Groovy Postbuild プラグイン内で得られた値を外部に渡す方法はありますか?

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
9 messages Options
T.N
Reply | Threaded
Open this post in threaded view
|

[jenkinsci-ja:566] Groovy Postbuild プラグイン内で得られた値を外部に渡す方法はありますか?

T.N
こんにちは、tak.n です。

掲題の件に付随して、お伺いしたいことが2つあります。


1.Groovy Postbuild プラグイン内で得られた値を外部に渡したい

もう少し言うと、ジョブ内の Groovy Postbuild のプラグイン内部から外に値を渡したいのです。

例えば、Groovy Postbuild 内で環境変数に処理した値を設定出来るとするならば、
Trigger parameterized build on other projects プラグイン等で他のジョブに環境変数として渡すことができます。

Groovy Postbild 内で環境変素を書き換えたいと読み替えていただいても良いかもしれません。


2.Jenkins 上で Groovy の扱いで参考になるサイトや書籍はありますか?

Groovy 自体も詳しくないですが、Java として扱えるのでなんとかなりますが、
Jenkins API はどれをどう使うべきなのか、入門的な情報が分からぬままトライ&エラーでやっています。
http://javadoc.jenkins-ci.org/ で API を眺めてもどれを使うべきかなかなか検討がつきません。

皆さんは、どのようにして Jenkins 上での Groovy のコードを書き進めているのでしょうか?


宜しくお願い致します。

--
このメールは Google グループのグループ「日本Jenkinsユーザー会」の登録者に送られています。
このグループから退会し、メールの受信を停止するには、[hidden email] にメールを送信します。
その他のオプションについては、https://groups.google.com/groups/opt_out にアクセスしてください。
Reply | Threaded
Open this post in threaded view
|

Re: [jenkinsci-ja:566] Groovy Postbuild プラグイン内で得られた値を外部に渡す方法はありますか?

Seiji Sogabe
曽我部です。

あまりスマートな方法ではないですが、

1. Groovyで外部で使用したい値をプロパティファイルとして出力
2. Trigger parameterized build on other projects で、Parameters from
properties fileを選択し、
1で出力したファイルを指定する

でできるのではないでしょうか。

Groovyはよくわかりません。おそらく、奥さんが丁寧に説明してくれると思います。

でわ。

2013年9月4日 14:05 tak.n <[hidden email]>:

> こんにちは、tak.n です。
>
> 掲題の件に付随して、お伺いしたいことが2つあります。
>
>
> 1.Groovy Postbuild プラグイン内で得られた値を外部に渡したい
>
> もう少し言うと、ジョブ内の Groovy Postbuild のプラグイン内部から外に値を渡したいのです。
>
> 例えば、Groovy Postbuild 内で環境変数に処理した値を設定出来るとするならば、
> Trigger parameterized build on other projects プラグイン等で他のジョブに環境変数として渡すことができます。
>
> Groovy Postbild 内で環境変素を書き換えたいと読み替えていただいても良いかもしれません。
>
>
> 2.Jenkins 上で Groovy の扱いで参考になるサイトや書籍はありますか?
>
> Groovy 自体も詳しくないですが、Java として扱えるのでなんとかなりますが、
> Jenkins API はどれをどう使うべきなのか、入門的な情報が分からぬままトライ&エラーでやっています。
> http://javadoc.jenkins-ci.org/ で API を眺めてもどれを使うべきかなかなか検討がつきません。
>
> 皆さんは、どのようにして Jenkins 上での Groovy のコードを書き進めているのでしょうか?
>
>
> 宜しくお願い致します。
>
> --
> このメールは Google グループのグループ「日本Jenkinsユーザー会」の登録者に送られています。
> このグループから退会し、メールの受信を停止するには、[hidden email]
> にメールを送信します。
> その他のオプションについては、https://groups.google.com/groups/opt_out にアクセスしてください。



--
s.sogabe at gmail.com

--
このメールは Google グループのグループ「日本Jenkinsユーザー会」の登録者に送られています。
このグループから退会し、メールの受信を停止するには、[hidden email] にメールを送信します。
その他のオプションについては、https://groups.google.com/groups/opt_out にアクセスしてください。
T.N
Reply | Threaded
Open this post in threaded view
|

Re: [jenkinsci-ja:568] Groovy Postbuild プラグイン内で得られた値を外部に渡す方法はありますか?

T.N
なるほど、仰るとおりですね。
その方法なら Groovy から他のジョブへ値を引き渡すことが出来そうです。
試してみます。

ありがとうございました!


2013年9月5日木曜日 22時44分29秒 UTC+9 sogabe:
曽我部です。

あまりスマートな方法ではないですが、

1. Groovyで外部で使用したい値をプロパティファイルとして出
2. Trigger parameterized build on other projects で、Parameters from
properties fileを選択し、
1で出力したファイルを指定する

でできるのではないでしょうか。

Groovyはよくわかりません。おそらく、奥さんが丁寧に説明してくれると思います。

でわ。

2013年9月4日 14:05 tak.n <<a href="javascript:" target="_blank" gdf-obfuscated-mailto="YtQ0efKqfLgJ">avis.c...@...>:

> こんにちは、tak.n です。
>
> 掲題の件に付随して、お伺いしたいことが2つあります。
>
>
> 1.Groovy Postbuild プラグイン内で得られた値を外部に渡したい
>
> もう少し言うと、ジョブ内の Groovy Postbuild のプラグイン内部から外に値を渡したいのです。
>
> 例えば、Groovy Postbuild 内で環境変数に処理した値を設定出来るとするならば、
> Trigger parameterized build on other projects プラグイン等で他のジョブに環境変数として渡すことができます。
>
> Groovy Postbild 内で環境変素を書き換えたいと読み替えていただいても良いかもしれません。
>
>
> 2.Jenkins 上で Groovy の扱いで参考になるサイトや書籍はありますか?
>
> Groovy 自体も詳しくないですが、Java として扱えるのでなんとかなりますが、
> Jenkins API はどれをどう使うべきなのか、入門的な情報が分からぬままトライ&エラーでやっています。
> http://javadoc.jenkins-ci.org/ で API を眺めてもどれを使うべきかなかなか検討がつきません。
>
> 皆さんは、どのようにして Jenkins 上での Groovy のコードを書き進めているのでしょうか?
>
>
> 宜しくお願い致します。
>
> --
> このメールは Google グループのグループ「日本Jenkinsユーザー会」の登録者に送られています。
> このグループから退会し、メールの受信を停止するには、<a href="javascript:" target="_blank" gdf-obfuscated-mailto="YtQ0efKqfLgJ">jenkinsci-ja+unsubscribe@googlegroups.com
> にメールを送信します。
> その他のオプションについては、https://groups.google.com/groups/opt_out にアクセスしてください。



--
s.sogabe at gmail.com

--
このメールは Google グループのグループ「日本Jenkinsユーザー会」の登録者に送られています。
このグループから退会し、メールの受信を停止するには、[hidden email] にメールを送信します。
その他のオプションについては、https://groups.google.com/groups/opt_out にアクセスしてください。
Reply | Threaded
Open this post in threaded view
|

Re: [jenkinsci-ja:568] Groovy Postbuild プラグイン内で得られた値を外部に渡す方法はありますか?

Kiyotaka Oku-2
奥です。 
Groovyはよくわかりません。おそらく、奥さんが丁寧に説明してくれると思います。 

見落としてました。

ワークスペース上にプロパティファイルを出力するならこんな感じでしょうか。

new File(manager.build.envVars.WORKSPACE, 'hoge.properties').text = '''
foo=FOO
bar=BAR
'''


-- 
Kiyotaka Oku

日付:2013年9月12日木曜日、時刻:13:25、差出人:tak.n:

なるほど、仰るとおりですね。
その方法なら Groovy から他のジョブへ値を引き渡すことが出来そうです。
試してみます。

ありがとうございました!


2013年9月5日木曜日 22時44分29秒 UTC+9 sogabe:
曽我部です。

あまりスマートな方法ではないですが、

1. Groovyで外部で使用したい値をプロパティファイルとして出
2. Trigger parameterized build on other projects で、Parameters from
properties fileを選択し、
1で出力したファイルを指定する

でできるのではないでしょうか。

Groovyはよくわかりません。おそらく、奥さんが丁寧に説明してくれると思います。

でわ。

2013年9月4日 14:05 tak.n <<a href="javascript:" target="_blank" gdf-obfuscated-mailto="YtQ0efKqfLgJ">avis.c...@...>:

> こんにちは、tak.n です。
>
> 掲題の件に付随して、お伺いしたいことが2つあります。
>
>
> 1.Groovy Postbuild プラグイン内で得られた値を外部に渡したい
>
> もう少し言うと、ジョブ内の Groovy Postbuild のプラグイン内部から外に値を渡したいのです。
>
> 例えば、Groovy Postbuild 内で環境変数に処理した値を設定出来るとするならば、
> Trigger parameterized build on other projects プラグイン等で他のジョブに環境変数として渡すことができます。
>
> Groovy Postbild 内で環境変素を書き換えたいと読み替えていただいても良いかもしれません。
>
>
> 2.Jenkins 上で Groovy の扱いで参考になるサイトや書籍はありますか?
>
> Groovy 自体も詳しくないですが、Java として扱えるのでなんとかなりますが、
> Jenkins API はどれをどう使うべきなのか、入門的な情報が分からぬままトライ&エラーでやっています。
> http://javadoc.jenkins-ci.org/ で API を眺めてもどれを使うべきかなかなか検討がつきません。
>
> 皆さんは、どのようにして Jenkins 上での Groovy のコードを書き進めているのでしょうか?
>
>
> 宜しくお願い致します。
>
> --
> このメールは Google グループのグループ「日本Jenkinsユーザー会」の登録者に送られています。
> このグループから退会し、メールの受信を停止するには、<a href="javascript:" target="_blank" gdf-obfuscated-mailto="YtQ0efKqfLgJ">jenkinsci-ja+unsubscribe@googlegroups.com
> にメールを送信します。
> その他のオプションについては、https://groups.google.com/groups/opt_out にアクセスしてください。



--
s.sogabe at gmail.com

--
このメールは Google グループのグループ「日本Jenkinsユーザー会」の登録者に送られています。
このグループから退会し、メールの受信を停止するには、[hidden email] にメールを送信します。
その他のオプションについては、https://groups.google.com/groups/opt_out にアクセスしてください。

--
このメールは Google グループのグループ「日本Jenkinsユーザー会」の登録者に送られています。
このグループから退会し、メールの受信を停止するには、[hidden email] にメールを送信します。
その他のオプションについては、https://groups.google.com/groups/opt_out にアクセスしてください。
Reply | Threaded
Open this post in threaded view
|

Re: [jenkinsci-ja:569] Groovy Postbuild プラグイン内で得られた値を外部に渡す方法はありますか?

Kiyotaka Oku-2
Groovy Postbuildで以下のようにして、

import hudson.model.Environment

manager.build.environments << new Environment() {
    public void buildEnvVars(Map<String, String> env) {
        env.put('HOGE', 'ほげ');
    }
}

Predefined parametersで「hoge=${HOGE}」ってしたらファイル作らなくても行けました。


2013/9/12 Kiyotaka Oku <[hidden email]>
奥です。 
Groovyはよくわかりません。おそらく、奥さんが丁寧に説明してくれると思います。 

見落としてました。

ワークスペース上にプロパティファイルを出力するならこんな感じでしょうか。

new File(manager.build.envVars.WORKSPACE, 'hoge.properties').text = '''
foo=FOO
bar=BAR
'''


-- 
Kiyotaka Oku

日付:2013年9月12日木曜日、時刻:13:25、差出人:tak.n:

なるほど、仰るとおりですね。
その方法なら Groovy から他のジョブへ値を引き渡すことが出来そうです。
試してみます。

ありがとうございました!


2013年9月5日木曜日 22時44分29秒 UTC+9 sogabe:
曽我部です。

あまりスマートな方法ではないですが、

1. Groovyで外部で使用したい値をプロパティファイルとして出
2. Trigger parameterized build on other projects で、Parameters from
properties fileを選択し、
1で出力したファイルを指定する

でできるのではないでしょうか。

Groovyはよくわかりません。おそらく、奥さんが丁寧に説明してくれると思います。

でわ。

2013年9月4日 14:05 tak.n <[hidden email]>:

> こんにちは、tak.n です。
>
> 掲題の件に付随して、お伺いしたいことが2つあります。
>
>
> 1.Groovy Postbuild プラグイン内で得られた値を外部に渡したい
>
> もう少し言うと、ジョブ内の Groovy Postbuild のプラグイン内部から外に値を渡したいのです。
>
> 例えば、Groovy Postbuild 内で環境変数に処理した値を設定出来るとするならば、
> Trigger parameterized build on other projects プラグイン等で他のジョブに環境変数として渡すことができます。
>
> Groovy Postbild 内で環境変素を書き換えたいと読み替えていただいても良いかもしれません。
>
>
> 2.Jenkins 上で Groovy の扱いで参考になるサイトや書籍はありますか?
>
> Groovy 自体も詳しくないですが、Java として扱えるのでなんとかなりますが、
> Jenkins API はどれをどう使うべきなのか、入門的な情報が分からぬままトライ&エラーでやっています。
> http://javadoc.jenkins-ci.org/ で API を眺めてもどれを使うべきかなかなか検討がつきません。
>
> 皆さんは、どのようにして Jenkins 上での Groovy のコードを書き進めているのでしょうか?
>
>
> 宜しくお願い致します。
>
> --
> このメールは Google グループのグループ「日本Jenkinsユーザー会」の登録者に送られています。
> このグループから退会し、メールの受信を停止するには、jenkinsci-ja+unsubscribe@googlegroups.com
> にメールを送信します。
> その他のオプションについては、https://groups.google.com/groups/opt_out にアクセスしてください。



--
s.sogabe at gmail.com

--
このメールは Google グループのグループ「日本Jenkinsユーザー会」の登録者に送られています。
このグループから退会し、メールの受信を停止するには、[hidden email] にメールを送信します。
その他のオプションについては、https://groups.google.com/groups/opt_out にアクセスしてください。


--
このメールは Google グループのグループ「日本Jenkinsユーザー会」の登録者に送られています。
このグループから退会し、メールの受信を停止するには、[hidden email] にメールを送信します。
その他のオプションについては、https://groups.google.com/groups/opt_out にアクセスしてください。
T.N
Reply | Threaded
Open this post in threaded view
|

Re: [jenkinsci-ja:571] Groovy Postbuild プラグイン内で得られた値を外部に渡す方法はありますか?

T.N
奥さん

まさにやりたいことそのままのご回答です。
ありがとうございます!

ちなみに、自分は Jenkins のプラグインを作った経験などありませんが、
Jenkins 上で Groovy をあれこれするには Jenkins API の javadoc を眺めながら、
それっぽい API をトライ&エラーで試していくしかないのでしょうか?

チュートリアルや入門的なサイトや書籍をなかなか見付けることが出来ず、
いまひとつ Jenkins API の土地勘が得られなくて困っています。

ちなみに、Groovy の言語仕様自体は Java で書いてしまえば良いと思っているので、
あまり困ってはいません。


2013年9月12日木曜日 15時09分49秒 UTC+9 Kiyotaka Oku:
Groovy Postbuildで以下のようにして、

import hudson.model.Environment

manager.build.environments << new Environment() {
    public void buildEnvVars(Map<String, String> env) {
        env.put('HOGE', 'ほげ');
    }
}

Predefined parametersで「hoge=${HOGE}」ってしたらファイル作らなくても行けました。


2013/9/12 Kiyotaka Oku <<a href="javascript:" target="_blank" gdf-obfuscated-mailto="-tkxs6jeOKIJ">kiy0...@...>
奥です。 
Groovyはよくわかりません。おそらく、奥さんが丁寧に説明してくれると思います。 

見落としてました。

ワークスペース上にプロパティファイルを出力するならこんな感じでしょうか。

new File(manager.build.envVars.WORKSPACE, 'hoge.properties').text = '''
foo=FOO
bar=BAR
'''


-- 
Kiyotaka Oku

日付:2013年9月12日木曜日、時刻:13:25、差出人:tak.n:

なるほど、仰るとおりですね。
その方法なら Groovy から他のジョブへ値を引き渡すことが出来そうです。
試してみます。

ありがとうございました!


2013年9月5日木曜日 22時44分29秒 UTC+9 sogabe:
曽我部です。

あまりスマートな方法ではないですが、

1. Groovyで外部で使用したい値をプロパティファイルとして出
2. Trigger parameterized build on other projects で、Parameters from
properties fileを選択し、
1で出力したファイルを指定する

でできるのではないでしょうか。

Groovyはよくわかりません。おそらく、奥さんが丁寧に説明してくれると思います。

でわ。

2013年9月4日 14:05 tak.n <[hidden email]>:

> こんにちは、tak.n です。
>
> 掲題の件に付随して、お伺いしたいことが2つあります。
>
>
> 1.Groovy Postbuild プラグイン内で得られた値を外部に渡したい
>
> もう少し言うと、ジョブ内の Groovy Postbuild のプラグイン内部から外に値を渡したいのです。
>
> 例えば、Groovy Postbuild 内で環境変数に処理した値を設定出来るとするならば、
> Trigger parameterized build on other projects プラグイン等で他のジョブに環境変数として渡すことができます。
>
> Groovy Postbild 内で環境変素を書き換えたいと読み替えていただいても良いかもしれません。
>
>
> 2.Jenkins 上で Groovy の扱いで参考になるサイトや書籍はありますか?
>
> Groovy 自体も詳しくないですが、Java として扱えるのでなんとかなりますが、
> Jenkins API はどれをどう使うべきなのか、入門的な情報が分からぬままトライ&エラーでやっています。
> http://javadoc.jenkins-ci.org/ で API を眺めてもどれを使うべきかなかなか検討がつきません。
>
> 皆さんは、どのようにして Jenkins 上での Groovy のコードを書き進めているのでしょうか?
>
>
> 宜しくお願い致します。
>
> --
> このメールは Google グループのグループ「日本Jenkinsユーザー会」の登録者に送られています。
> このグループから退会し、メールの受信を停止するには、jenkinsci-ja+unsubscribe@googlegroups.com
> にメールを送信します。
> その他のオプションについては、https://groups.google.com/groups/opt_out にアクセスしてください。



--
s.sogabe at gmail.com

--
このメールは Google グループのグループ「日本Jenkinsユーザー会」の登録者に送られています。
このグループから退会し、メールの受信を停止するには、<a href="javascript:" target="_blank" gdf-obfuscated-mailto="-tkxs6jeOKIJ">jenkinsci-ja+unsubscribe@googlegroups.com にメールを送信します。
その他のオプションについては、https://groups.google.com/groups/opt_out にアクセスしてください。


--
このメールは Google グループのグループ「日本Jenkinsユーザー会」の登録者に送られています。
このグループから退会し、メールの受信を停止するには、[hidden email] にメールを送信します。
その他のオプションについては、https://groups.google.com/groups/opt_out にアクセスしてください。
Reply | Threaded
Open this post in threaded view
|

Re: [jenkinsci-ja:571] Groovy Postbuild プラグイン内で得られた値を外部に渡す方法はありますか?

Kiyotaka Oku-2
JenkinsのAPIに慣れるのはプラグインを書いたりソースを見たりするしかないですかね。
プラグインの拡張ポイントだけでも結構な数があるので、どこから始めるべきか分かりませんが、
とりあえずやりたい事と似ているプラグインのソースを見ていくところからでしょうか。

ちなみに、先ほどの環境変数を追加する方法はPort Allocatorプラグインのコードを参考にしました。


2013/9/12 tak.n <[hidden email]>
奥さん

まさにやりたいことそのままのご回答です。
ありがとうございます!

ちなみに、自分は Jenkins のプラグインを作った経験などありませんが、
Jenkins 上で Groovy をあれこれするには Jenkins API の javadoc を眺めながら、
それっぽい API をトライ&エラーで試していくしかないのでしょうか?

チュートリアルや入門的なサイトや書籍をなかなか見付けることが出来ず、
いまひとつ Jenkins API の土地勘が得られなくて困っています。

ちなみに、Groovy の言語仕様自体は Java で書いてしまえば良いと思っているので、
あまり困ってはいません。


2013年9月12日木曜日 15時09分49秒 UTC+9 Kiyotaka Oku:
Groovy Postbuildで以下のようにして、

import hudson.model.Environment

manager.build.environments << new Environment() {
    public void buildEnvVars(Map<String, String> env) {
        env.put('HOGE', 'ほげ');
    }
}

Predefined parametersで「hoge=${HOGE}」ってしたらファイル作らなくても行けました。


2013/9/12 Kiyotaka Oku <[hidden email]>

奥です。 
Groovyはよくわかりません。おそらく、奥さんが丁寧に説明してくれると思います。 

見落としてました。

ワークスペース上にプロパティファイルを出力するならこんな感じでしょうか。

new File(manager.build.envVars.WORKSPACE, 'hoge.properties').text = '''
foo=FOO
bar=BAR
'''


-- 
Kiyotaka Oku

日付:2013年9月12日木曜日、時刻:13:25、差出人:tak.n:

なるほど、仰るとおりですね。
その方法なら Groovy から他のジョブへ値を引き渡すことが出来そうです。
試してみます。

ありがとうございました!


2013年9月5日木曜日 22時44分29秒 UTC+9 sogabe:
曽我部です。

あまりスマートな方法ではないですが、

1. Groovyで外部で使用したい値をプロパティファイルとして出
2. Trigger parameterized build on other projects で、Parameters from
properties fileを選択し、
1で出力したファイルを指定する

でできるのではないでしょうか。

Groovyはよくわかりません。おそらく、奥さんが丁寧に説明してくれると思います。

でわ。

2013年9月4日 14:05 tak.n <[hidden email]>:

> こんにちは、tak.n です。
>
> 掲題の件に付随して、お伺いしたいことが2つあります。
>
>
> 1.Groovy Postbuild プラグイン内で得られた値を外部に渡したい
>
> もう少し言うと、ジョブ内の Groovy Postbuild のプラグイン内部から外に値を渡したいのです。
>
> 例えば、Groovy Postbuild 内で環境変数に処理した値を設定出来るとするならば、
> Trigger parameterized build on other projects プラグイン等で他のジョブに環境変数として渡すことができます。
>
> Groovy Postbild 内で環境変素を書き換えたいと読み替えていただいても良いかもしれません。
>
>
> 2.Jenkins 上で Groovy の扱いで参考になるサイトや書籍はありますか?
>
> Groovy 自体も詳しくないですが、Java として扱えるのでなんとかなりますが、
> Jenkins API はどれをどう使うべきなのか、入門的な情報が分からぬままトライ&エラーでやっています。
> http://javadoc.jenkins-ci.org/ で API を眺めてもどれを使うべきかなかなか検討がつきません。
>
> 皆さんは、どのようにして Jenkins 上での Groovy のコードを書き進めているのでしょうか?
>
>
> 宜しくお願い致します。
>
> --
> このメールは Google グループのグループ「日本Jenkinsユーザー会」の登録者に送られています。
> このグループから退会し、メールの受信を停止するには、jenkinsci-ja+unsubscribe@googlegroups.com
> にメールを送信します。
> その他のオプションについては、https://groups.google.com/groups/opt_out にアクセスしてください。



--
s.sogabe at gmail.com

--
このメールは Google グループのグループ「日本Jenkinsユーザー会」の登録者に送られています。
このグループから退会し、メールの受信を停止するには、jenkinsci-ja+unsubscribe@googlegroups.com にメールを送信します。
その他のオプションについては、https://groups.google.com/groups/opt_out にアクセスしてください。


--
このメールは Google グループのグループ「日本Jenkinsユーザー会」の登録者に送られています。
このグループから退会し、メールの受信を停止するには、[hidden email] にメールを送信します。
その他のオプションについては、https://groups.google.com/groups/opt_out にアクセスしてください。

--
このメールは Google グループのグループ「日本Jenkinsユーザー会」の登録者に送られています。
このグループから退会し、メールの受信を停止するには、[hidden email] にメールを送信します。
その他のオプションについては、https://groups.google.com/groups/opt_out にアクセスしてください。
T.N
Reply | Threaded
Open this post in threaded view
|

Re: [jenkinsci-ja:573] Groovy Postbuild プラグイン内で得られた値を外部に渡す方法はありますか?

T.N
なるほど、やはり自分で試していくしかないんですね。
もっぱら Javadoc を眺めたりしていましたが、プラグインのソースも見てみるようにします。
もう少し敷居が低いと良いんですけどね…。

ちなみに、先程のサンプルコードは、(ほぼそのまま)利用させていただいて目的を達成出来ました。

非常に助かりました。
ありがとうございました。


2013年9月12日木曜日 16時12分30秒 UTC+9 Kiyotaka Oku:
JenkinsのAPIに慣れるのはプラグインを書いたりソースを見たりするしかないですかね。
プラグインの拡張ポイントだけでも結構な数があるので、どこから始めるべきか分かりませんが、
とりあえずやりたい事と似ているプラグインのソースを見ていくところからでしょうか。

ちなみに、先ほどの環境変数を追加する方法はPort Allocatorプラグインのコードを参考にしました。


2013/9/12 tak.n <<a href="javascript:" target="_blank" gdf-obfuscated-mailto="OWMEO9fpaeoJ">avis.c...@...>
奥さん

まさにやりたいことそのままのご回答です。
ありがとうございます!

ちなみに、自分は Jenkins のプラグインを作った経験などありませんが、
Jenkins 上で Groovy をあれこれするには Jenkins API の javadoc を眺めながら、
それっぽい API をトライ&エラーで試していくしかないのでしょうか?

チュートリアルや入門的なサイトや書籍をなかなか見付けることが出来ず、
いまひとつ Jenkins API の土地勘が得られなくて困っています。

ちなみに、Groovy の言語仕様自体は Java で書いてしまえば良いと思っているので、
あまり困ってはいません。


2013年9月12日木曜日 15時09分49秒 UTC+9 Kiyotaka Oku:
Groovy Postbuildで以下のようにして、

import hudson.model.Environment

manager.build.environments << new Environment() {
    public void buildEnvVars(Map<String, String> env) {
        env.put('HOGE', 'ほげ');
    }
}

Predefined parametersで「hoge=${HOGE}」ってしたらファイル作らなくても行けました。


2013/9/12 Kiyotaka Oku <[hidden email]>

奥です。 
Groovyはよくわかりません。おそらく、奥さんが丁寧に説明してくれると思います。 

見落としてました。

ワークスペース上にプロパティファイルを出力するならこんな感じでしょうか。

new File(manager.build.envVars.WORKSPACE, 'hoge.properties').text = '''
foo=FOO
bar=BAR
'''


-- 
Kiyotaka Oku

日付:2013年9月12日木曜日、時刻:13:25、差出人:tak.n:

なるほど、仰るとおりですね。
その方法なら Groovy から他のジョブへ値を引き渡すことが出来そうです。
試してみます。

ありがとうございました!


2013年9月5日木曜日 22時44分29秒 UTC+9 sogabe:
曽我部です。

あまりスマートな方法ではないですが、

1. Groovyで外部で使用したい値をプロパティファイルとして出
2. Trigger parameterized build on other projects で、Parameters from
properties fileを選択し、
1で出力したファイルを指定する

でできるのではないでしょうか。

Groovyはよくわかりません。おそらく、奥さんが丁寧に説明してくれると思います。

でわ。

2013年9月4日 14:05 tak.n <[hidden email]>:

> こんにちは、tak.n です。
>
> 掲題の件に付随して、お伺いしたいことが2つあります。
>
>
> 1.Groovy Postbuild プラグイン内で得られた値を外部に渡したい
>
> もう少し言うと、ジョブ内の Groovy Postbuild のプラグイン内部から外に値を渡したいのです。
>
> 例えば、Groovy Postbuild 内で環境変数に処理した値を設定出来るとするならば、
> Trigger parameterized build on other projects プラグイン等で他のジョブに環境変数として渡すことができます。
>
> Groovy Postbild 内で環境変素を書き換えたいと読み替えていただいても良いかもしれません。
>
>
> 2.Jenkins 上で Groovy の扱いで参考になるサイトや書籍はありますか?
>
> Groovy 自体も詳しくないですが、Java として扱えるのでなんとかなりますが、
> Jenkins API はどれをどう使うべきなのか、入門的な情報が分からぬままトライ&エラーでやっています。
> http://javadoc.jenkins-ci.org/ で API を眺めてもどれを使うべきかなかなか検討がつきません。
>
> 皆さんは、どのようにして Jenkins 上での Groovy のコードを書き進めているのでしょうか?
>
>
> 宜しくお願い致します。
>
> --
> このメールは Google グループのグループ「日本Jenkinsユーザー会」の登録者に送られています。
> このグループから退会し、メールの受信を停止するには、jenkinsci-ja+unsubscribe@googlegroups.com
> にメールを送信します。
> その他のオプションについては、https://groups.google.com/groups/opt_out にアクセスしてください。



--
s.sogabe at gmail.com

--
このメールは Google グループのグループ「日本Jenkinsユーザー会」の登録者に送られています。
このグループから退会し、メールの受信を停止するには、jenkinsci-ja+unsubscribe@googlegroups.com にメールを送信します。
その他のオプションについては、https://groups.google.com/groups/opt_out にアクセスしてください。


--
このメールは Google グループのグループ「日本Jenkinsユーザー会」の登録者に送られています。
このグループから退会し、メールの受信を停止するには、<a href="javascript:" target="_blank" gdf-obfuscated-mailto="OWMEO9fpaeoJ">jenkinsci-ja+unsubscribe@googlegroups.com にメールを送信します。
その他のオプションについては、https://groups.google.com/groups/opt_out にアクセスしてください。

--
このメールは Google グループのグループ「日本Jenkinsユーザー会」の登録者に送られています。
このグループから退会し、メールの受信を停止するには、[hidden email] にメールを送信します。
その他のオプションについては、https://groups.google.com/groups/opt_out にアクセスしてください。
Reply | Threaded
Open this post in threaded view
|

Re: [jenkinsci-ja:577] Groovy Postbuild プラグイン内で得られた値を外部に渡す方法はありますか?

Kiyotaka Oku-2
奥です。

Jenkins用のGroovyスクリプトを書くときに補完が効けば書きやすくなるかなと思って、Gradle + IntelliJでできるスクリプトを書いてみました。
よかったら使ってみてください。





2013/9/12 tak.n <[hidden email]>
なるほど、やはり自分で試していくしかないんですね。
もっぱら Javadoc を眺めたりしていましたが、プラグインのソースも見てみるようにします。
もう少し敷居が低いと良いんですけどね…。

ちなみに、先程のサンプルコードは、(ほぼそのまま)利用させていただいて目的を達成出来ました。

非常に助かりました。
ありがとうございました。


2013年9月12日木曜日 16時12分30秒 UTC+9 Kiyotaka Oku:
JenkinsのAPIに慣れるのはプラグインを書いたりソースを見たりするしかないですかね。
プラグインの拡張ポイントだけでも結構な数があるので、どこから始めるべきか分かりませんが、
とりあえずやりたい事と似ているプラグインのソースを見ていくところからでしょうか。

ちなみに、先ほどの環境変数を追加する方法はPort Allocatorプラグインのコードを参考にしました。


2013/9/12 tak.n <[hidden email]>

奥さん

まさにやりたいことそのままのご回答です。
ありがとうございます!

ちなみに、自分は Jenkins のプラグインを作った経験などありませんが、
Jenkins 上で Groovy をあれこれするには Jenkins API の javadoc を眺めながら、
それっぽい API をトライ&エラーで試していくしかないのでしょうか?

チュートリアルや入門的なサイトや書籍をなかなか見付けることが出来ず、
いまひとつ Jenkins API の土地勘が得られなくて困っています。

ちなみに、Groovy の言語仕様自体は Java で書いてしまえば良いと思っているので、
あまり困ってはいません。


2013年9月12日木曜日 15時09分49秒 UTC+9 Kiyotaka Oku:
Groovy Postbuildで以下のようにして、

import hudson.model.Environment

manager.build.environments << new Environment() {
    public void buildEnvVars(Map<String, String> env) {
        env.put('HOGE', 'ほげ');
    }
}

Predefined parametersで「hoge=${HOGE}」ってしたらファイル作らなくても行けました。


2013/9/12 Kiyotaka Oku <[hidden email]>

奥です。 
Groovyはよくわかりません。おそらく、奥さんが丁寧に説明してくれると思います。 

見落としてました。

ワークスペース上にプロパティファイルを出力するならこんな感じでしょうか。

new File(manager.build.envVars.WORKSPACE, 'hoge.properties').text = '''
foo=FOO
bar=BAR
'''


-- 
Kiyotaka Oku

日付:2013年9月12日木曜日、時刻:13:25、差出人:tak.n:

なるほど、仰るとおりですね。
その方法なら Groovy から他のジョブへ値を引き渡すことが出来そうです。
試してみます。

ありがとうございました!


2013年9月5日木曜日 22時44分29秒 UTC+9 sogabe:
曽我部です。

あまりスマートな方法ではないですが、

1. Groovyで外部で使用したい値をプロパティファイルとして出
2. Trigger parameterized build on other projects で、Parameters from
properties fileを選択し、
1で出力したファイルを指定する

でできるのではないでしょうか。

Groovyはよくわかりません。おそらく、奥さんが丁寧に説明してくれると思います。

でわ。

2013年9月4日 14:05 tak.n <[hidden email]>:

> こんにちは、tak.n です。
>
> 掲題の件に付随して、お伺いしたいことが2つあります。
>
>
> 1.Groovy Postbuild プラグイン内で得られた値を外部に渡したい
>
> もう少し言うと、ジョブ内の Groovy Postbuild のプラグイン内部から外に値を渡したいのです。
>
> 例えば、Groovy Postbuild 内で環境変数に処理した値を設定出来るとするならば、
> Trigger parameterized build on other projects プラグイン等で他のジョブに環境変数として渡すことができます。
>
> Groovy Postbild 内で環境変素を書き換えたいと読み替えていただいても良いかもしれません。
>
>
> 2.Jenkins 上で Groovy の扱いで参考になるサイトや書籍はありますか?
>
> Groovy 自体も詳しくないですが、Java として扱えるのでなんとかなりますが、
> Jenkins API はどれをどう使うべきなのか、入門的な情報が分からぬままトライ&エラーでやっています。
> http://javadoc.jenkins-ci.org/ で API を眺めてもどれを使うべきかなかなか検討がつきません。
>
> 皆さんは、どのようにして Jenkins 上での Groovy のコードを書き進めているのでしょうか?
>
>
> 宜しくお願い致します。
>
> --
> このメールは Google グループのグループ「日本Jenkinsユーザー会」の登録者に送られています。
> このグループから退会し、メールの受信を停止するには、jenkinsci-ja+unsubscribe@googlegroups.com
> にメールを送信します。
> その他のオプションについては、https://groups.google.com/groups/opt_out にアクセスしてください。



--
s.sogabe at gmail.com

--
このメールは Google グループのグループ「日本Jenkinsユーザー会」の登録者に送られています。
このグループから退会し、メールの受信を停止するには、jenkinsci-ja+unsubscribe@googlegroups.com にメールを送信します。
その他のオプションについては、https://groups.google.com/groups/opt_out にアクセスしてください。


--
このメールは Google グループのグループ「日本Jenkinsユーザー会」の登録者に送られています。
このグループから退会し、メールの受信を停止するには、jenkinsci-ja+unsubscribe@googlegroups.com にメールを送信します。
その他のオプションについては、https://groups.google.com/groups/opt_out にアクセスしてください。


--
このメールは Google グループのグループ「日本Jenkinsユーザー会」の登録者に送られています。
このグループから退会し、メールの受信を停止するには、[hidden email] にメールを送信します。
その他のオプションについては、https://groups.google.com/groups/opt_out にアクセスしてください。