Edited at

DangerでPRのURLなどReferenceに書いてある以外の情報を取得する

More than 1 year has passed since last update.

DangerでPRのURLを取得する方法がリファレンスに見つからず、しばらくハマりました。

titleなどは

github.pr_title

などで取得できますが、PRのURLなどはどうやらメソッドとして定義されていないようです。

そこでコードを見に行くと

https://github.com/danger/danger/blob/master/lib/danger/danger_core/plugins/dangerfile_github_plugin.rb

    def pr_title

@github.pr_json["title"].to_s
end

上記のような実装になっていて、同じクラスの

    # @!group GitHub Misc

# The hash that represents the PR's JSON. For an example of what this looks like
# see the [Danger Fixture'd one](https://raw.githubusercontent.com/danger/danger/master/spec/fixtures/github_api/pr_response.json).
# @return [Hash]
#
def pr_json
@github.pr_json
end

を呼び出している事が分かります。

そこで、コメントにあるように

https://raw.githubusercontent.com/danger/danger/master/spec/fixtures/github_api/pr_response.json

を参照し、以下のように書く事で任意の値を取得する事が出来ました。

github.pr_json["html_url"].to_s