Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
G
gitlab-ce
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
iv
gitlab-ce
Commits
0aefeeb8
Commit
0aefeeb8
authored
Oct 12, 2015
by
Kamil Trzcinski
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Add Commit Status documentation
parent
7ef156a2
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
94 additions
and
12 deletions
+94
-12
app/models/ci/commit.rb
app/models/ci/commit.rb
+1
-1
app/models/commit_status.rb
app/models/commit_status.rb
+1
-1
doc/api/commits.md
doc/api/commits.md
+82
-0
lib/api/commit_statuses.rb
lib/api/commit_statuses.rb
+10
-10
No files found.
app/models/ci/commit.rb
View file @
0aefeeb8
...
@@ -136,7 +136,7 @@ module Ci
...
@@ -136,7 +136,7 @@ module Ci
latest_statuses
=
statuses
.
latest
.
to_a
latest_statuses
=
statuses
.
latest
.
to_a
latest_statuses
.
reject!
{
|
status
|
status
.
try
(
&
:allow_failure?
)
}
latest_statuses
.
reject!
{
|
status
|
status
.
try
(
&
:allow_failure?
)
}
latest_statuses
.
select!
{
|
status
|
status
.
ref
==
nil
||
status
.
ref
==
ref
}
if
ref
latest_statuses
.
select!
{
|
status
|
status
.
ref
.
nil?
||
status
.
ref
==
ref
}
if
ref
if
latest_statuses
.
none?
if
latest_statuses
.
none?
return
'skipped'
return
'skipped'
...
...
app/models/commit_status.rb
View file @
0aefeeb8
...
@@ -5,7 +5,7 @@ class CommitStatus < ActiveRecord::Base
...
@@ -5,7 +5,7 @@ class CommitStatus < ActiveRecord::Base
belongs_to
:user
belongs_to
:user
validates
:commit
,
presence:
true
validates
:commit
,
presence:
true
validates
:status
,
inclusion:
{
in:
%w(pending running failed success canceled)
}
validates
:status
,
inclusion:
{
in:
%w(pending running failed success canceled)
}
validates_presence_of
:name
validates_presence_of
:name
...
...
doc/api/commits.md
View file @
0aefeeb8
...
@@ -157,3 +157,85 @@ Parameters:
...
@@ -157,3 +157,85 @@ Parameters:
"line_type"
:
"new"
"line_type"
:
"new"
}
}
```
```
## Get the status of a commit
Get the statuses of a commit in a project.
```
GET /projects/:id/repository/commits/:sha/statuses
```
Parameters:
-
`id`
(required) - The ID of a project
-
`sha`
(required) - The commit SHA
-
`ref`
(optional) - Filter by ref name, it can be branch or tag
-
`stage`
(optional) - Filter by stage
-
`name`
(optional) - Filer by status name, eg. jenkins
-
`all`
(optional) - The flag to return all statuses, not only latest ones
```
json
[
{
"id"
:
13
,
"sha"
:
"b0b3a907f41409829b307a28b82fdbd552ee5a27"
,
"ref"
:
"test"
,
"status"
:
"success"
,
"name"
:
"ci/jenkins"
,
"target_url"
:
"http://jenkins/project/url"
,
"description"
:
"Jenkins success"
,
"created_at"
:
"2015-10-12T09:47:16.250Z"
,
"started_at"
:
"2015-10-12T09:47:16.250Z"",
"
finished_at
": "
2015-10-12
T
09
:
47
:
16.262
Z
",
"
author
": {
"
id
": 1,
"
username
": "
admin
",
"
email
": "
admin@local.host
",
"
name
": "
Administrator
",
"
blocked
": false,
"
created_at
": "
2012-04-29
T
08
:
46
:
00
Z
"
}
}
]
```
## Post the status to commit
Adds or updates a status of a commit.
Optionally you can post comments on a specific line of a commit. Therefor both
`path`
,
`line_new`
and
`line_old`
are required.
```
POST /projects/:id/statuses/:sha
```
-
`id`
(required) - The ID of a project
-
`sha`
(required) - The commit SHA
-
`state`
(required) - The state of the status. Can be: pending, running, success, failed, canceled
-
`ref`
(optional) - The ref (branch or tag) to which the status refers
-
`name`
or
`context`
(optional) - The label to differentiate this status from the status of other systems. Default: "default"
-
`target_url`
(optional) - The target URL to associate with this status
-
`description`
(optional) - The short description of the status
```
json
{
"id"
:
13
,
"sha"
:
"b0b3a907f41409829b307a28b82fdbd552ee5a27"
,
"ref"
:
"test"
,
"status"
:
"success"
,
"name"
:
"ci/jenkins"
,
"target_url"
:
"http://jenkins/project/url"
,
"description"
:
"Jenkins success"
,
"created_at"
:
"2015-10-12T09:47:16.250Z"
,
"started_at"
:
"2015-10-12T09:47:16.250Z"",
"
finished_at
": "
2015-10-12
T
09
:
47
:
16.262
Z
",
"
author
": {
"
id
": 1,
"
username
": "
admin
",
"
email
": "
admin@local.host
",
"
name
": "
Administrator
",
"
blocked
": false,
"
created_at
": "
2012-04-29
T
08
:
46
:
00
Z
"
}
}
```
lib/api/commit_statuses.rb
View file @
0aefeeb8
...
@@ -56,16 +56,16 @@ module API
...
@@ -56,16 +56,16 @@ module API
status
.
update
(
attrs
)
status
.
update
(
attrs
)
case
params
[
:state
].
to_s
case
params
[
:state
].
to_s
when
'running'
when
'running'
status
.
run
status
.
run
when
'success'
when
'success'
status
.
success
status
.
success
when
'failed'
when
'failed'
status
.
drop
status
.
drop
when
'canceled'
when
'canceled'
status
.
cancel
status
.
cancel
else
else
status
.
status
=
params
[
:state
].
to_s
status
.
status
=
params
[
:state
].
to_s
end
end
if
status
.
save
if
status
.
save
...
...
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