Skip to content

Commit 2a5ca84

Browse files
committed
API: Expose text_color for project and group labels
1 parent 7a8f871 commit 2a5ca84

File tree

6 files changed

+25
-2
lines changed

6 files changed

+25
-2
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
title: 'API: Expose text_color for project and group labels'
3+
merge_request: 25172
4+
author: Robert Schilling
5+
type: added

doc/api/group_labels.md

+6
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ Example response:
2828
"id": 7,
2929
"name": "bug",
3030
"color": "#FF0000",
31+
"text_color" : "#FFFFFF",
3132
"description": null,
3233
"open_issues_count": 0,
3334
"closed_issues_count": 0,
@@ -38,6 +39,7 @@ Example response:
3839
"id": 4,
3940
"name": "feature",
4041
"color": "#228B22",
42+
"text_color" : "#FFFFFF",
4143
"description": null,
4244
"open_issues_count": 0,
4345
"closed_issues_count": 0,
@@ -73,6 +75,7 @@ Example response:
7375
"id": 9,
7476
"name": "Feature Proposal",
7577
"color": "#FFA500",
78+
"text_color" : "#FFFFFF",
7679
"description": "Describes new ideas",
7780
"open_issues_count": 0,
7881
"closed_issues_count": 0,
@@ -108,6 +111,7 @@ Example response:
108111
"id": 9,
109112
"name": "Feature Idea",
110113
"color": "#FFA500",
114+
"text_color" : "#FFFFFF",
111115
"description": "Describes new ideas",
112116
"open_issues_count": 0,
113117
"closed_issues_count": 0,
@@ -158,6 +162,7 @@ Example response:
158162
"id": 9,
159163
"name": "Feature Idea",
160164
"color": "#FFA500",
165+
"text_color" : "#FFFFFF",
161166
"description": "Describes new ideas",
162167
"open_issues_count": 0,
163168
"closed_issues_count": 0,
@@ -192,6 +197,7 @@ Example response:
192197
"id": 9,
193198
"name": "Feature Idea",
194199
"color": "#FFA500",
200+
"text_color" : "#FFFFFF",
195201
"description": "Describes new ideas",
196202
"open_issues_count": 0,
197203
"closed_issues_count": 0,

doc/api/labels.md

+8
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ Example response:
2424
"id" : 1,
2525
"name" : "bug",
2626
"color" : "#d9534f",
27+
"text_color" : "#FFFFFF",
2728
"description": "Bug reported by user",
2829
"open_issues_count": 1,
2930
"closed_issues_count": 0,
@@ -34,6 +35,7 @@ Example response:
3435
{
3536
"id" : 4,
3637
"color" : "#d9534f",
38+
"text_color" : "#FFFFFF",
3739
"name" : "confirmed",
3840
"description": "Confirmed issue",
3941
"open_issues_count": 2,
@@ -46,6 +48,7 @@ Example response:
4648
"id" : 7,
4749
"name" : "critical",
4850
"color" : "#d9534f",
51+
"text_color" : "#FFFFFF",
4952
"description": "Critical issue. Need fix ASAP",
5053
"open_issues_count": 1,
5154
"closed_issues_count": 3,
@@ -57,6 +60,7 @@ Example response:
5760
"id" : 8,
5861
"name" : "documentation",
5962
"color" : "#f0ad4e",
63+
"text_color" : "#FFFFFF",
6064
"description": "Issue about documentation",
6165
"open_issues_count": 1,
6266
"closed_issues_count": 0,
@@ -67,6 +71,7 @@ Example response:
6771
{
6872
"id" : 9,
6973
"color" : "#5cb85c",
74+
"text_color" : "#FFFFFF",
7075
"name" : "enhancement",
7176
"description": "Enhancement proposal",
7277
"open_issues_count": 1,
@@ -105,6 +110,7 @@ Example response:
105110
"id" : 10,
106111
"name" : "feature",
107112
"color" : "#5843AD",
113+
"text_color" : "#FFFFFF",
108114
"description":null,
109115
"open_issues_count": 0,
110116
"closed_issues_count": 0,
@@ -161,6 +167,7 @@ Example response:
161167
"id" : 8,
162168
"name" : "docs",
163169
"color" : "#8E44AD",
170+
"text_color" : "#FFFFFF",
164171
"description": "Documentation",
165172
"open_issues_count": 1,
166173
"closed_issues_count": 0,
@@ -196,6 +203,7 @@ Example response:
196203
"id" : 1,
197204
"name" : "bug",
198205
"color" : "#d9534f",
206+
"text_color" : "#FFFFFF",
199207
"description": "Bug reported by user",
200208
"open_issues_count": 1,
201209
"closed_issues_count": 0,

lib/api/entities.rb

+1-1
Original file line numberDiff line numberDiff line change
@@ -1003,7 +1003,7 @@ def self.preload_relation(projects_relation, options = {})
10031003
end
10041004

10051005
class LabelBasic < Grape::Entity
1006-
expose :id, :name, :color, :description
1006+
expose :id, :name, :color, :description, :text_color
10071007
end
10081008

10091009
class Label < LabelBasic

spec/fixtures/api/schemas/public_api/v4/group_labels.json

+1
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
"id" : { "type": "integer" },
77
"name" : { "type": "string "},
88
"color" : { "type": "string "},
9+
"text_color" : { "type": "string "},
910
"description" : { "type": "string "},
1011
"open_issues_count" : { "type": "integer "},
1112
"closed_issues_count" : { "type": "integer "},

spec/requests/api/labels_spec.rb

+4-1
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
create(:labeled_merge_request, labels: [priority_label], author: user, source_project: project )
2121

2222
expected_keys = %w(
23-
id name color description
23+
id name color text_color description
2424
open_issues_count closed_issues_count open_merge_requests_count
2525
subscribed priority
2626
)
@@ -43,6 +43,7 @@
4343
expect(label1_response['open_merge_requests_count']).to eq(0)
4444
expect(label1_response['name']).to eq(label1.name)
4545
expect(label1_response['color']).to be_present
46+
expect(label1_response['text_color']).to be_present
4647
expect(label1_response['description']).to be_nil
4748
expect(label1_response['priority']).to be_nil
4849
expect(label1_response['subscribed']).to be_falsey
@@ -52,6 +53,7 @@
5253
expect(group_label_response['open_merge_requests_count']).to eq(0)
5354
expect(group_label_response['name']).to eq(group_label.name)
5455
expect(group_label_response['color']).to be_present
56+
expect(group_label_response['text_color']).to be_present
5557
expect(group_label_response['description']).to be_nil
5658
expect(group_label_response['priority']).to be_nil
5759
expect(group_label_response['subscribed']).to be_falsey
@@ -61,6 +63,7 @@
6163
expect(priority_label_response['open_merge_requests_count']).to eq(1)
6264
expect(priority_label_response['name']).to eq(priority_label.name)
6365
expect(priority_label_response['color']).to be_present
66+
expect(priority_label_response['text_color']).to be_present
6467
expect(priority_label_response['description']).to be_nil
6568
expect(priority_label_response['priority']).to eq(3)
6669
expect(priority_label_response['subscribed']).to be_falsey

0 commit comments

Comments
 (0)