[jenkinsci-ja:493] リモートアクセスAPIで実行したジョブ番号を取得したい

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

[jenkinsci-ja:493] リモートアクセスAPIで実行したジョブ番号を取得したい

tarchan
こんにちは、tarchanです。

いまアプリケーションからリモートアクセスAPIを使ってジョブを実行して、実行したジョブの成功/失敗を確認したいと考えています。
http://server/jenkins/job/MyJob/buildWithParametersにHttpClientでGETしてジョブを実行するところまでは出来ました。
ただこのGETリクエストのレスポンスを見てもジョブ番号が何番なのかわかりませんでした。
http://server/jenkins/job/MyJob/lastBuild/api/xmlにアクセスすると最新のジョブ番号はわかるのですが、同時にいくつかのリクエストが発生すると自分のジョブ番号ではない場合があります。
リモートアクセスAPIで実行したジョブを特定する方法はありませんか?

よろしくお願いします。

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

Re: [jenkinsci-ja:493] リモートアクセスAPIで実行したジョブ番号を取得したい

Seiji Sogabe
曽我部です。

同様のリクエストが、[JENKINS-12827] api should return the build number that was
queued. [1]に
ありますので、voteすれば誰かが実装してくれるかも。

[1] https://issues.jenkins-ci.org/browse/JENKINS-12827


回避策として、自分が起動したビルドかどうか判断できればいいのであれば、
http://jenkins/job/xxx/api/xml?depth=1にアクセスすると、

<build>
  <action>
    <cause>
      <shortDescription>ユーザーSeiji Sogabeが実行</shortDescription>
      <userId>sogabe</userId>
      <userName>Seiji Sogabe</userName>
    </cause>
  </action>

のように、起動したユーザのIDを<userId>で取得できますので、
判断できると思います。

でわ。


2013年3月22日 18:31 tarchan <[hidden email]>:

> こんにちは、tarchanです。
>
> いまアプリケーションからリモートアクセスAPIを使ってジョブを実行して、実行したジョブの成功/失敗を確認したいと考えています。
> http://server/jenkins/job/MyJob/buildWithParametersにHttpClientでGETしてジョブを実行するところまでは出来ました。
> ただこのGETリクエストのレスポンスを見てもジョブ番号が何番なのかわかりませんでした。
> http://server/jenkins/job/MyJob/lastBuild/api/xmlにアクセスすると最新のジョブ番号はわかるのですが、同時にいくつかのリクエストが発生すると自分のジョブ番号ではない場合があります。
> リモートアクセスAPIで実行したジョブを特定する方法はありませんか?
>
> よろしくお願いします。
>
> --
> このメールは 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 にアクセスしてください。


Reply | Threaded
Open this post in threaded view
|

Re: [jenkinsci-ja:495] リモートアクセスAPIで実行したジョブ番号を取得したい

tarchan
tarchanです。

曽我部さん、ありがとうございます。
アカウントを作ってvoteしてきました。

「自分」という言い方はあいまいでしたね。
ジョブを実行したリクエスト自身のジョブ番号という意識でした。
現状APIは無いようなので、GETしたレスポンスから「updateBuildHistory("/jenkins/job/MyJob/buildHistory/ajax",XX)」という文字列を検索して特定するようにしました。

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


2013年3月22日金曜日 19時17分31秒 UTC+9 sogabe:
曽我部です。

同様のリクエストが、[JENKINS-12827] api should return the build number that was
queued. [1]に
ありますので、voteすれば誰かが実装してくれるかも。

[1] https://issues.jenkins-ci.org/browse/JENKINS-12827


回避策として、自分が起動したビルドかどうか判断できればいいのであれば、
http://jenkins/job/xxx/api/xml?depth=1にアクセスすると、

<build>
  <action>
    <cause>
      <shortDescription>ユーザーSeiji Sogabeが実行</shortDescription>
      <userId>sogabe</userId>
      <userName>Seiji Sogabe</userName>
    </cause>
  </action>

のように、起動したユーザのIDを<userId>で取得できますので、
判断できると思います。

でわ。


2013年3月22日 18:31 tarchan <<a href="javascript:" target="_blank" gdf-obfuscated-mailto="lNncFuh4_eEJ">tar...@...>:

> こんにちは、tarchanです。
>
> いまアプリケーションからリモートアクセスAPIを使ってジョブを実行して、実行したジョブの成功/失敗を確認したいと考えています。
> http://server/jenkins/job/MyJob/buildWithParametersにHttpClientでGETしてジョブを実行するところまでは出来ました。
> ただこのGETリクエストのレスポンスを見てもジョブ番号が何番なのかわかりませんでした。
> http://server/jenkins/job/MyJob/lastBuild/api/xmlにアクセスすると最新のジョブ番号はわかるのですが、同時にいくつかのリクエストが発生すると自分のジョブ番号ではない場合があります。
> リモートアクセスAPIで実行したジョブを特定する方法はありませんか?
>
> よろしくお願いします。
>
> --
> このメールは Google グループのグループ「日本Jenkinsユーザー会」の登録者に送られています。
> このグループから退会し、メールの受信を停止するには、<a href="javascript:" target="_blank" gdf-obfuscated-mailto="lNncFuh4_eEJ">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 にアクセスしてください。