Jenkinsのインスタンスに接続して情報を取得/ポストするためにJavaを使用してプログラミングしています。私は、ジョブに関する情報(ジョブの名前、合格/不合格のステータス、仕事の記述など)を直接取得するためにメソッドを直接使用できるjarを使用しています。ブール値または数値またはURLを返すメソッドを使用すると、正常に動作します。しかし、戻り値の型がStringの場合、別の形式で出力されます。Javaで文字列出力を修正する方法:[email protected]
ください下のコード:
import com.offbytwo.jenkins.*;
import com.offbytwo.jenkins.client.*;
import com.offbytwo.jenkins.model.*;
import java.io.IOException;
import java.net.URI;
import java.net.URISyntaxException;
import java.util.Map;
public class NewTest {
public static void main(String[] args) throws URISyntaxException, IOException {
System.out.println("begin");
JenkinsServer server = new JenkinsServer(new URI("https://my-jenkins.abc.com/job/MyJobs/job/Dev/job/Test/"), "userid", "token");
Map<String, Job> jobs = server.getJobs();
for (Map.Entry<String, Job> entry : jobs.entrySet())
{
String name = entry.getKey();
JobWithDetails jobdet = jobs.get(name).details();
System.out.println("Job Links");
System.out.println(jobdet.getUrl());
System.out.println("Next Build Number");
System.out.println(jobdet.getNextBuildNumber());
System.out.println("Detail by build number");
System.out.println(jobdet.getBuildByNumber(1));
}
}
出力:
after begin
Job Links
https://my-jenkins.abc.com/job/MyJobs/job/Dev/job/Test/job/git_test/
Next Build Number
4
Detail by build number
[email protected]
がどのように適切な形式で "ビルド番号によって詳細" を得るのですか?私はのtoString()関数を使用するが、それはerror.Iは、それはまだ私に次のように出力できますJobWithDetails jobdet = jobs.get(name).details();
JobWithDetails jobdet = jobs.get(name).details().toString();
と同じフォーマットエラーを得ていた私を投げた:
[email protected]
を私は(のtoStringを定義しようとした)別途けど私は何を返すべきかわからず、私が外で定義したtoString()はメイン関数内の変数にアクセスできません。これをどうやって解決するのですか?
ありがとうございます。
ジョーありがとうございます。私は、getUrl()が関数getBuildByNumber()にリストされているが、それは私のエラーをスローすることがわかります。そして、私が "jobdet = jobs.get(name).details()。toString();"それは私にそのフォーマットされていない出力を与えます。 – Raji