2017-09-22 32 views
-2

git pushコマンドの出力を格納したファイルが1つあります。それはgroovyの文字列からURLを取得する方法

https://githhub.com/... 

それはジェンキンスパイプラインのコードですが、私は1つの変数で、この出力を保存し、今私のようなURLのみをその変数に操作を行うと、取得したい

Counting objects: 3, done. 
Delta compression using up to 8 threads. 
Compressing objects: 100% (2/2), done. 
Writing objects: 100% (3/3), 315 bytes | 315.00 KiB/s, done. 
Total 3 (delta 0), reused 0 (delta 0) 
To https://github.com/... 
    99d7..344 <branch> -> <branch> 
Branch newBranch set up to track remote branch newBranch from origin. 

、出力は次のようになります。 ありがとうございます。

答えて

0

私はジェンキンスかのGithubで提供されるいくつかのAPIを使用して、より良い方法があると確信しているが、それは利用できないです場合は、パターンが一貫性を維持することがわかっているならば、私は正規表現を示唆している

String foo = ""; 
    String bar = "Counting objects: 3, done.\nDelta compression using up to 8 threads.\nCompressing objects: 100% (2/2), done.\nWriting objects: 100% (3/3), 315 bytes | 315.00 KiB/s, done.\nTotal 3 (delta 0), reused 0 (delta 0)\nTo https://github.com/...\n 99d7..344 <branch> -> <branch>\nBranch newBranch set up to track remote branch newBranch from origin."; 
    Pattern p = Pattern.compile("^to\\s+(.*$)",Pattern.CASE_INSENSITIVE|Pattern.MULTILINE); 
    Matcher m = p.matcher(bar); 
    if(m.find()) { 
     foo = m.group(1); 
     System.out.println(m.group(1)); 
    } 
    System.out.println(foo); 
    Output: https://github.com/...