Class: Danger::RequestSources::VSTS
Constant Summary
RequestSource::DANGER_REPO_NAME
Instance Attribute Summary collapse
#ci_source, #environment, #ignored_violations
Class Method Summary
collapse
Instance Method Summary
collapse
#apply_template, #generate_comment, #generate_description, #generate_inline_comment_body, #generate_inline_markdown_body, #markdown_link_to_message, #markdown_parser, #messages_are_equivalent, #process_markdown, #random_compliment, #table
#parse_comment, #parse_message_from_row, #parse_tables_from_comment, #table_kind_from_title, #violations_from_table
available_request_sources, available_source_names_and_envs, #file_url, inherited, source_name, #update_build_status
Constructor Details
#initialize(ci_source, environment) ⇒ VSTS
Returns a new instance of VSTS.
25
26
27
28
29
30
31
32
33
|
# File 'lib/danger/request_sources/vsts.rb', line 25
def initialize(ci_source, environment)
self.ci_source = ci_source
self.environment = environment
@is_vsts_git = environment["BUILD_REPOSITORY_PROVIDER"] == "TfsGit"
project, slug = ci_source.repo_slug.split("/")
@api = VSTSAPI.new(project, slug, ci_source.pull_request_id, environment)
end
|
Instance Attribute Details
#pr_json ⇒ Object
Returns the value of attribute pr_json.
10
11
12
|
# File 'lib/danger/request_sources/vsts.rb', line 10
def pr_json
@pr_json
end
|
Class Method Details
.env_vars ⇒ Object
12
13
14
15
16
17
|
# File 'lib/danger/request_sources/vsts.rb', line 12
def self.env_vars
[
"DANGER_VSTS_API_TOKEN",
"DANGER_VSTS_HOST"
]
end
|
.optional_env_vars ⇒ Object
19
20
21
22
23
|
# File 'lib/danger/request_sources/vsts.rb', line 19
def self.optional_env_vars
[
"DANGER_VSTS_API_VERSION"
]
end
|
Instance Method Details
#fetch_details ⇒ Object
51
52
53
|
# File 'lib/danger/request_sources/vsts.rb', line 51
def fetch_details
self.pr_json = @api.fetch_pr_json
end
|
#host ⇒ Object
47
48
49
|
# File 'lib/danger/request_sources/vsts.rb', line 47
def host
@host ||= @api.host
end
|
#organisation ⇒ Object
71
72
73
|
# File 'lib/danger/request_sources/vsts.rb', line 71
def organisation
nil
end
|
96
97
98
|
# File 'lib/danger/request_sources/vsts.rb', line 96
def ()
@api.()
end
|
#scm ⇒ Object
43
44
45
|
# File 'lib/danger/request_sources/vsts.rb', line 43
def scm
@scm ||= GitRepo.new
end
|
#setup_danger_branches ⇒ Object
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
|
# File 'lib/danger/request_sources/vsts.rb', line 55
def setup_danger_branches
base_branch = self.pr_json[:targetRefName].sub("refs/heads/", "")
base_commit = self.pr_json[:lastMergeTargetCommit][:commitId]
head_branch = self.pr_json[:sourceRefName].sub("refs/heads/", "")
head_commit = self.pr_json[:lastMergeSourceCommit][:commitId]
scm.ensure_commitish_exists_on_branch! base_branch, base_commit
self.scm.exec "branch #{EnvironmentManager.danger_base_branch} #{base_commit}"
scm.ensure_commitish_exists_on_branch! head_branch, head_commit
self.scm.exec "branch #{EnvironmentManager.danger_head_branch} #{head_commit}"
end
|
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
|
# File 'lib/danger/request_sources/vsts.rb', line 100
def (, danger_id: "danger")
= false
@api..each do |c|
thread_id = c[:id]
= c[:comments].first
= [:id]
= [:content].nil? ? "" : [:content]
next unless .include?("generated_by_#{danger_id}")
@api.(thread_id, , )
= true
end
() unless
end
|
#update_pull_request!(warnings: [], errors: [], messages: [], markdowns: [], danger_id: "danger", new_comment: false, remove_previous_comments: false) ⇒ Object
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
|
# File 'lib/danger/request_sources/vsts.rb', line 75
def update_pull_request!(warnings: [], errors: [], messages: [], markdowns: [], danger_id: "danger", new_comment: false, remove_previous_comments: false)
unless @api.
return
end
= generate_description(warnings: warnings, errors: errors)
+= "\n\n"
+= (warnings: warnings,
errors: errors,
messages: messages,
markdowns: markdowns,
previous_violations: {},
danger_id: danger_id,
template: "vsts")
if ||
()
else
(, danger_id: danger_id)
end
end
|
#validates_as_api_source? ⇒ Boolean
39
40
41
|
# File 'lib/danger/request_sources/vsts.rb', line 39
def validates_as_api_source?
@api.credentials_given?
end
|
#validates_as_ci? ⇒ Boolean
35
36
37
|
# File 'lib/danger/request_sources/vsts.rb', line 35
def validates_as_ci?
@is_vsts_git
end
|