私はパイプラインを実装し、ロボットフレームワークの結果をJenkinsパイプラインで公開する方法を見つける必要がありました。私はパイプラインへのロボットフレームワークプラグインの実装について 複数の質問 を見つけ、そして この質問 を見つけましたこれは解決策のようです。しかし、私はこのアプローチを試みましたが、結果はまだありません。
回避策や機能例はありますか?
[成功した回避策を反映するように編集]
課題追跡のこのコメントは、機能しているように見える回避策を示しています :
step([
$class : 'RobotPublisher',
outputPath : outputDirectory,
outputFileName : "*.xml",
disableArchiveOutput : false,
passThreshold : 100,
unstableThreshold: 95.0,
otherFiles : "*.png",
])
ただし、Robot Frameworkプラグインは現在、パイプラインと完全に互換性がないようです: https://issues.jenkins-ci.org/browse/JENKINS-34469
これは、現在Jenkinsエコシステムの 多くのプラグイン と共通ですが、新しいJenkins Pipelineとの互換性を保つためにまだ更新されていません。 十分なモチベーションがあれば、完全な互換性を自分で作成できる可能性もあります 。
上記の回答の使用に問題があり、エラーが発生しました。しかし、私はそれを理解してパイプラインに追加することができました。他の誰かが同じ問題に遭遇した場合に備えて、次のように修正しました。
stage('Tests') {
steps {
echo 'Testing...'
script {
step(
[
$class : 'RobotPublisher',
outputPath : '<insert/the/output/path>',
outputFileName : "*.xml",
reportFileName : "report.html",
logFileName : "log.html",
disableArchiveOutput : false,
passThreshold : 100,
unstableThreshold : 95.0,
otherFiles : "*.png"
]
)
}
}
}
他の回答に記載されている回避策を使用しましたが、非piplineジョブのようにジョブで結果が表示されないため、piplineジョブによってトリガーされ、結果ファイルをコピーするだけで分析を実行するフリースタイルプロジェクトを作成しました。これは無造作であり、ノード間での移植性がありません。ジョブ番号は時間の経過とともに混乱する可能性があるため、相関関係は扱いにくい場合があります。この時点で、汎用アーティファクトストレージを使用するか、ロボットを完全に取り除くかを調査します。