2013-08-21 11 views
7

ジェンキンスは、ジョブやビューなどの多くの情報を取得するのに便利なRemote Access APIを提供しています。リモートアクセスAPIを使用してジェンキンのシステム構成を取得する方法

リモートアクセスAPIからシステム(グローバル)設定をフェッチするかどうか、どうすればよいのでしょうか。

これらの情報は、あなたが

http://your.jenkins.url/computer/(master)/config.xml 

を通して、あなたのマスター/ノードの設定を取得することができ、Webページにhttp://your.jenkins.url/manage

+0

同様の質問http://stackoverflow.com/questions/7064119/expose-hudson-system-info-to-remote-api –

答えて

11

ているあなたのために十分ということですか?

注:2014年中頃から、POSTing has been disabledです。

APIの詳細については、/ apiをいくつかのURLの末尾に追加してみてください。

は、環境変数FOすべてのそのようなものとして、具体的には、システム構成情報についてhttps://github.com/jenkinsci/jenkins/find/masterに_api.jellyため(プレス「T」を「_api.jelly」と入力)

+1

はい、それは素晴らしいです!どのようにこれを知ることができますか? ;-)、あなたはあなたがこの情報を入手する場所を挙げることができますか? –

+0

@LarryCai http://your.jenkins.url/computer/(master)/ apiを参照している情報が見つかりました。より多くのAPI情報を見つける方法については、答えに詳細情報を追加しました。 – coffeebreaks

+0

すごく、今はほぼすべてのAPIを知っています –

1

、検索APIを公開するどのオブジェクトを見つけるためにあなたの記述が求めていたものではなく、タイトルであれば、/ systemInfoをあなたのURLの最後に追加したいでしょう。

http:<YourURLHere>/systemInfo 

次に、いくつかの認証を渡す必要があります。次に、情報のHTMLリストが表示されます。だから、grepを使っているかのように、いくつかの解析をする必要があります。テーブル全体を返すだけです。

http://fakeurl.com/systemInfo --user 'fakeuser':'fakepasswd' 
0

私のプラグインでは、システムコンフィグレーション「Artifactory credentials」にアクセスしました。 1)pom.xmlにartifactory依存関係を追加します。 即ち

<dependency> 
      <groupId>org.jenkins-ci.plugins</groupId> 
      <artifactId>artifactory</artifactId> 
      <version>2.9.0</version> 
      <type>jar</type> 
     </dependency> 

2)は、正確な加工へのglobal.jellyの設定を見つけます。 I設定を適用するために使用されるクラスを識別)org.jfrog.hudson.ArtifactoryBuilder に

      <table style="width: 100%" id="legacyDeployerCredentials${server.url}"> 
           <f:entry title="Username" 
             help="/plugin/artifactory/help/common/help-deployerUserName.html"> 
            <f:textbox name="username" field="username" 
               value="${server.deployerCredentialsConfig.username}"/> 
           </f:entry> 
           <f:entry title="Password" 
             help="/plugin/artifactory/help/common/help-deployerPassword.html"> 
            <f:password name="password" field="password" 
               value="${server.deployerCredentialsConfig.password}"/> 
           </f:entry> 
          </table> 
         </f:block> 
        </f:section> 

3を発見しました。 org.jfrog.hudson.ArtifactoryBuilder.java 4)jenkinsインスタンスを作成し、プラグイン記述子のget user credentialにアクセスします。

ArtifactoryBuilder.DescriptorImpl ab = (ArtifactoryBuilder.DescriptorImpl) jenkins.model.Jenkins.getInstance().getDescriptor(ArtifactoryBuilder.class); 
     ArtifactoryServer server = ab.getArtifactoryServers().iterator().next(); 
     this.userName = server.getDeployerCredentialsConfig().getUsername(); 
     this.password = server.getDeployerCredentialsConfig().getPassword(); 
関連する問題