BigW Consortium Gitlab
Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
G
gitlab-ce
Project
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Commits
Issue Boards
Open sidebar
Forest Godfrey
gitlab-ce
Commits
c767f35c
Commit
c767f35c
authored
Mar 21, 2016
by
Phil Hughes
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Updated based on feedback
parent
3b6e2a68
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
60 additions
and
46 deletions
+60
-46
merge_request_widget.js.coffee
app/assets/javascripts/merge_request_widget.js.coffee
+26
-26
_heading.html.haml
app/views/projects/merge_requests/widget/_heading.html.haml
+34
-20
No files found.
app/assets/javascripts/merge_request_widget.js.coffee
View file @
c767f35c
...
...
@@ -8,10 +8,11 @@ class @MergeRequestWidget
constructor
:
(
@
opts
)
->
@
firstCICheck
=
true
@
getCIStatus
()
notifyPermissions
()
@
readyForCICheck
=
true
# clear the build poller
clearInterval
@
fetchBuildStatusInterval
@
pollCIStatus
()
notifyPermissions
()
mergeInProgress
:
(
deleteSourceBranch
=
false
)
->
$
.
ajax
...
...
@@ -39,23 +40,32 @@ class @MergeRequestWidget
else
status
getCIStatus
:
->
_this
=
@
pollCIStatus
:
->
@
fetchBuildStatusInterval
=
setInterval
(
=>
return
if
not
@
readyForCICheck
$
.
getJSON
@
opts
.
ci_status_url
,
(
data
)
=>
@
readyForCICheck
=
true
@
getCIStatus
(
true
)
@
readyForCICheck
=
false
),
5000
getCIStatus
:
(
showNotification
)
->
_this
=
@
$
(
'.ci-widget-fetching'
).
show
()
$
.
getJSON
@
opts
.
ci_status_url
,
(
data
)
=>
@
readyForCICheck
=
true
if
@
firstCICheck
@
firstCICheck
=
false
@
opts
.
ci_status
=
data
.
status
if
@
firstCICheck
@
firstCICheck
=
false
@
opts
.
ci_status
=
data
.
status
if
data
.
status
isnt
@
opts
.
ci_status
@
showCIState
data
.
status
if
data
.
coverage
@
showCICoverage
data
.
coverage
if
data
.
status
isnt
@
opts
.
ci_status
@
showCIStatus
data
.
status
if
data
.
coverage
@
showCICoverage
data
.
coverage
if
showNotification
message
=
@
opts
.
ci_message
.
replace
(
'{{status}}'
,
@
ciLabelForStatus
(
data
.
status
))
message
=
message
.
replace
(
'{{sha}}'
,
data
.
sha
)
message
=
message
.
replace
(
'{{title}}'
,
data
.
title
)
...
...
@@ -69,19 +79,9 @@ class @MergeRequestWidget
Turbolinks
.
visit
_this
.
opts
.
builds_path
)
@
opts
.
ci_status
=
data
.
status
@
readyForCICheck
=
false
),
5000
getCIState
:
->
$
(
'.ci-widget-fetching'
).
show
()
$
.
getJSON
@
opts
.
ci_status_url
,
(
data
)
=>
@
showCIState
data
.
status
if
data
.
coverage
@
showCICoverage
data
.
coverage
@
opts
.
ci_status
=
data
.
status
showCIStat
e
:
(
state
)
->
showCIStat
us
:
(
state
)
->
$
(
'.ci_widget'
).
hide
()
allowed_states
=
[
"failed"
,
"canceled"
,
"running"
,
"pending"
,
"success"
,
"skipped"
,
"not_found"
]
if
state
in
allowed_states
...
...
app/views/projects/merge_requests/widget/_heading.html.haml
View file @
c767f35c
-
if
@ci_commit
or
@merge_request
.
has_ci?
-
if
@ci_commit
.mr-widget-heading
-
if
@merge_request
.
has_ci?
.ci_widget
.ci-widget-fetching
=
icon
(
'spinner spin'
)
-
%w[success skipped canceled failed running pending]
.
each
do
|
status
|
.ci_widget
{
class:
"ci-#{status}"
,
style:
(
"display:none"
unless
@ci_commit
.
status
==
status
)
}
=
ci_icon_for_status
(
status
)
%span
Checking CI status for
#{
@merge_request
.
last_commit_short_sha
}
…
CI build
=
ci_label_for_status
(
status
)
for
-
commit
=
@merge_request
.
last_commit
=
succeed
"."
do
=
link_to
@ci_commit
.
short_sha
,
namespace_project_commit_path
(
@merge_request
.
source_project
.
namespace
,
@merge_request
.
source_project
,
@ci_commit
.
sha
),
class:
"monospace"
%span
.ci-coverage
=
link_to
"View details"
,
builds_namespace_project_merge_request_path
(
@project
.
namespace
,
@project
,
@merge_request
),
class:
"js-show-tab"
,
data:
{
action:
'builds'
}
-
elsif
@merge_request
.
has_ci?
-
# Compatibility with old CI integrations (ex jenkins) when you request status from CI server via AJAX
-
# Remove in later versions when services like Jenkins will set CI status via Commit status API
.mr-widget-heading
-
%w[success skipped canceled failed running pending]
.
each
do
|
status
|
.ci_widget
{
class:
"ci-#{status}"
,
style:
(
"display:none"
unless
status
==
@ci_commit
.
status
)
}
.ci_widget
{
class:
"ci-#{status}"
,
style:
"display:none"
}
=
ci_icon_for_status
(
status
)
%span
CI build
...
...
@@ -16,20 +28,22 @@
=
succeed
"."
do
=
link_to
commit
.
short_id
,
namespace_project_commit_path
(
@merge_request
.
source_project
.
namespace
,
@merge_request
.
source_project
,
commit
),
class:
"monospace"
%span
.ci-coverage
-
if
details_path
=
builds_namespace_project_merge_request_path
(
@project
.
namespace
,
@project
,
@merge_request
)
-
if
details_path
=
ci_build_details_path
(
@merge_request
)
=
link_to
"View details"
,
details_path
,
:"data-no-turbolink"
=>
"data-no-turbolink"
-
if
@merge_request
.
has_ci?
-
# Compatibility with old CI integrations (ex jenkins) when you request status from CI server via AJAX
-
# Remove in later versions when services like Jenkins will set CI status via Commit status API
.ci_widget.ci-not_found
{
style:
"display:none"
}
=
icon
(
"times-circle"
)
Could not find CI status for
#{
@merge_request
.
last_commit_short_sha
}
.
.ci_widget.ci-error
{
style:
"display:none"
}
=
icon
(
"times-circle"
)
Could not connect to the CI server. Please check your settings and try again.
.ci_widget
=
icon
(
"spinner spin"
)
Checking CI status for
#{
@merge_request
.
last_commit_short_sha
}
…
.ci_widget.ci-not_found
{
style:
"display:none"
}
=
icon
(
"times-circle"
)
Could not find CI status for
#{
@merge_request
.
last_commit_short_sha
}
.
.ci_widget.ci-error
{
style:
"display:none"
}
=
icon
(
"times-circle"
)
Could not connect to the CI server. Please check your settings and try again.
:javascript
$
(
function
()
{
merge_request_widget
.
getCIState
(
);
});
:javascript
$
(
function
()
{
merge_request_widget
.
getCIStatus
(
false
);
});
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment