Class: Pra::GithubPullSource
Instance Method Summary
collapse
Methods inherited from PullSource
#initialize
Instance Method Details
#get_repo_pull_requests(repository_config) ⇒ Object
20
21
22
23
24
25
26
|
# File 'lib/pra/github_pull_source.rb', line 20
def get_repo_pull_requests(repository_config)
requests = []
JSON.parse(rest_api_pull_request_resource(repository_config)).each do |request|
requests << Pra::PullRequest.new(title: request["title"], from_reference: request["head"]["label"], to_reference: request["base"]["label"], author: request["user"]["login"], assignee: request["assignee"] ? request["assignee"]["login"] : nil, link: request['html_url'], service_id: 'github', repository: repository_config["repository"])
end
return requests
end
|
#pull_requests ⇒ Object
8
9
10
11
12
13
14
|
# File 'lib/pra/github_pull_source.rb', line 8
def pull_requests
requests = []
repositories.each do |repo_config|
requests.concat(get_repo_pull_requests(repo_config))
end
return requests
end
|
#repositories ⇒ Object
16
17
18
|
# File 'lib/pra/github_pull_source.rb', line 16
def repositories
@config["repositories"]
end
|
#rest_api_pull_request_resource(repository_config) ⇒ Object
32
33
34
35
36
37
38
39
40
41
|
# File 'lib/pra/github_pull_source.rb', line 32
def rest_api_pull_request_resource(repository_config)
conn = Faraday.new
conn.basic_auth(@config['username'], @config['password'])
resp = conn.get do |req|
req.url rest_api_pull_request_url(repository_config)
req.['Content-Type'] = 'application/json'
req.['Accept'] = 'application/json'
end
resp.body
end
|
#rest_api_pull_request_url(repository_config) ⇒ Object
28
29
30
|
# File 'lib/pra/github_pull_source.rb', line 28
def rest_api_pull_request_url(repository_config)
"#{@config['protocol']}://#{@config['host']}/repos/#{repository_config["owner"]}/#{repository_config["repository"]}/pulls"
end
|