2016-11-24 10 views
0

私はci用のジェンキンを使用するプロジェクトに取り組んでいます。私はGithub PRを検証し、複数の小切手を更新する必要があります。 Github Pull Request Builder Pluginを使用しています。 1.コードlintingコード 2.ランニングユニットテスト 3.コードカバレッジジェンキンスを使用してGithubプルリクエストを複数回取得する

私は3つのステータスチェックを別々に表示したいですか? 3つのビルドがgithubにステータスを報告しているにもかかわらず、githubは「1つの保留チェック」または「1つのステータスチェックが正常に完了しました」と表示します。 enter image description here

機能の開発やスクリプトを作成することができないため、適切な解決策が見つかりませんでした。これを達成するためのプラグインまたは方法はありますか?私はこれが唯一のジェンキンスジョブ

を使用して起こるたい

私はgithubの に成功メッセージとそのREPONSEをチェックを更新するためにシェルスクリプトを書いて試してみましたが、PRはステータスで更新されていません。

curl -XPOST -H "Authorization: token XXXXXXXXXXXXXXXXXXXXXXXXXXXX" https://api.github.com/repos/org/reponame/statuses/$(git rev-parse HEAD) -d '{ 
    "state": "success", 
    "target_url": "${BUILD_URL}", 
    "description": "All tests were passed!", 
    "context": "jenkins-ci-unit-test" 
    }' 

応答

% Total % Received % Xferd Average Speed Time Time  Time Current 
05:15:26         Dload Upload Total Spent Left Speed 
05:15:26 
    0  0 0  0 0  0  0  0 --:--:-- --:--:-- --:--:--  0 
100 1528 100 1350 100 178 8318 1096 --:--:-- --:--:-- --:--:-- 8333 
05:15:26 { 
05:15:26 "url": "https://api.github.com/repos/org/reponame/statuses/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", 
05:15:26 "id": 333333333, 
05:15:26 "state": "success", 
05:15:26 "description": "All tests were passed!", 
05:15:26 "target_url": "http://xxx.xxxxx.com/job/job1", 
05:15:26 "context": "jenkins-ci-unit-test", 
05:15:26 "created_at": "2016-11-29T10:15:26Z", 
05:15:26 "updated_at": "2016-11-29T10:15:26Z", 
05:15:26 "creator": { 
05:15:26 ....... 
05:15:26 } 
05:15:26 } 

Current check in PR

+0

ここで達成しようとしていることは私にはっきりしません。おそらく、あなたの現在のプルリクエストステータスチェックのようなもののスクリーンショットを提供できますか? – kfb

+0

3つのジョブがワークスペースを共有する方が簡単です。 cURLを介して各チェックの後に3つのステータスチェックを返すスクリプトを書くことができます。コンテキストを違うものにするだけです。 https://developer.github.com/v3/repos/statuses/#create-a-status – osowskit

答えて

1

チェックを更新するために使用するコミットハッシュが間違っています。これは、PRの最後の現在のコミットでなければなりません。次のgithub APIエンドポイントを呼び出すことによって正しいコミットハッシュを取得する必要があります。 https://api.github.com/repos/orgname/reponame/pulls/prno

1

git rev-list --max-count=2 HEAD | tail -n 1 

代わりの

git rev-parse HEAD 
を使用してみてください

これは前のコミット値をとります

関連する問題