2017-01-12 4 views
0

ビルドマシンのビルド出力を生成するビルドの出力をビルドマシン上に生成して、ビルドの出力を生成するカスタムビルドエージェント(正確にはUnity3dを使用)を使用してAzureでビルドを実行しています。ビルド中に作成された作業項目内にコンテンツを含める。ビルドの内容をVisual Studio Team Servicesビルドに戻す

例:

  1. ユニティビルドが失敗し、エラーがBuild.logに記録されます。
  2. 新しいバグを構築するための基準と私はSystem.Description = $logContent使用バグをフォーマットするにはPowerShellスクリプト

    $content = [IO.File]::ReadAllText("$(Build.Repository.LocalPath)\BuildProjectPC\Build.log") 
    Write-Host "##vso[task.setvariable variable=logContent;]$content" 
    

    を使用しています今

ログファイルからのエラーメッセージが、コンテンツを使用して作成されましたPSからの変数の何らかの理由でバグ項目に終わることはありません(ただ "$ logContent"を含んでいます)。

これをどのように修正するのか、それぞれ情報をフィードに戻す方法はありますか?ここでは、以下に示すよう$(logContent)

:あなたは以下の表記でビルド/リリース定義変数を参照する必要が追加フィールドで

答えて

1

作品を作成するために使用される変数値ビルドステップを実行する前に項目が初期化されているため、作業項目の作成に使用されたビルドステップ中に動的変数を指定したり、変数値を変更することはできません。失敗>追加フィールドに作業項目をチェックしてください>

  • [オプション]を選択:新しい変数(OLDVALUE例えばlogContent、値)を追加>変数>ビルド定義を開き

    1. : あなたはそれを確認するためにこれらのステップをフォローアップすることができます> System.Title $(logContent)
    2. PowerShellのビルドステップを追加します。書き込みホスト "$(logContent)"
    3. は、PowerShellのビルドステップを追加します。書き込みホスト「## VSO [task.setvariable変数= logContentを;] newValueに"
    4. PowerShellビルドステップを追加:Write-Host" $(logContent) "
    5. は、PowerShellのビルドステップを追加します。[環境] ::終了(1)

    ログ結果:

    1. ステップ3出力OLDVALUE
    2. ステップ5出力newValueに
    3. 作成した作品アイテムタイトルoldValue。

    あなたの条件のための回避策は、(他のステップの終わりにPowerShellのステップを追加し、常に実行オプションをチェック)のREST APIでのPowerShellによるもの、することができますcreate a work itemassociated to buildです。

    構築するための准作業項目:

    要求タイプ:パッチ

    リクエストURL:https://[your VSTSアカウント] .visualstudio.com/DefaultCollection/_apis /ウィット/作業項目/ [作業項目ID] API-?バージョン= 1.0

    のContent-Type:アプリケーション/ JSON-パッチ+ JSON

    ボディ:

    [ 
        { 
        "op": "add", 
        "path": "/relations/-", 
        "value": { 
         "rel": "ArtifactLink", 
         "url": "vstfs:///Build/Build/[build id]", 
         "attributes": { 
         "comment": "Making a new link for the dependency" 
         } 
        } 
        } 
    ] 
    

    このブログでPowerShellスクリプトを参照すると、作業項目を作成して関連付けることができます。

    Build association with work Items in vNext

  • +0

    非常に有望です。私はリンクされたビルド協会の記事を動作させることができましたが、迅速なフォローアップの質問があります:ビルドの失敗に対してこれを実行するだけでどうすればよいでしょうか? (私が理解している限り、 'Options'の方法を使用せずに手動で新しいチケットを作成し、必要なすべての値を関連づけます)。 – floAr

    +1

    @floAr簡単な方法は存在するかどうかをチェックすることですあなたのPowerShellスクリプトのBuild.log(あなたの$ content)にエラーがある場合は、ビルドする作業項目を作成して関連付ける。存在しない場合はスキップする。 –

    +0

    ありがとう、私はあなたの答えを使用して初期の解決策を得ることができたし、これを構築することができます! – floAr

    0

    reference to build variable

    関連する問題