From 1809f6f631c79a6dac8373782c4931393edcc7ff Mon Sep 17 00:00:00 2001 From: Robert Schilling Date: Wed, 13 Feb 2019 21:50:45 +0100 Subject: API: Indicate if label is a project label --- .../56694-mark-group-level-labels-in-label-api-as-such.yml | 5 +++++ lib/api/entities.rb | 3 +++ 2 files changed, 8 insertions(+) create mode 100644 changelogs/unreleased/56694-mark-group-level-labels-in-label-api-as-such.yml diff --git a/changelogs/unreleased/56694-mark-group-level-labels-in-label-api-as-such.yml b/changelogs/unreleased/56694-mark-group-level-labels-in-label-api-as-such.yml new file mode 100644 index 00000000000..ae2d9e18e0b --- /dev/null +++ b/changelogs/unreleased/56694-mark-group-level-labels-in-label-api-as-such.yml @@ -0,0 +1,5 @@ +--- +title: 'API: Indicate if label is a project label' +merge_request: 25219 +author: Robert Schilling +type: added diff --git a/lib/api/entities.rb b/lib/api/entities.rb index beb8ce349b4..4fa501d087f 100644 --- a/lib/api/entities.rb +++ b/lib/api/entities.rb @@ -1031,6 +1031,9 @@ module API expose :priority do |label, options| label.priority(options[:parent]) end + expose :is_project_label do |label, options| + label.is_a?(::ProjectLabel) + end end class List < Grape::Entity -- cgit v1.2.1 From cc8b8ec08f176dfdad71f8efdf92ebd512664c3d Mon Sep 17 00:00:00 2001 From: Robert Schilling Date: Wed, 13 Feb 2019 22:16:40 +0100 Subject: Add docs and specs --- doc/api/labels.md | 24 ++++++++++++++++-------- spec/requests/api/labels_spec.rb | 5 ++++- 2 files changed, 20 insertions(+), 9 deletions(-) diff --git a/doc/api/labels.md b/doc/api/labels.md index aec1a2c7592..fa9a2170fec 100644 --- a/doc/api/labels.md +++ b/doc/api/labels.md @@ -29,7 +29,8 @@ Example response: "closed_issues_count": 0, "open_merge_requests_count": 1, "subscribed": false, - "priority": 10 + "priority": 10, + "is_project_label": true }, { "id" : 4, @@ -40,7 +41,8 @@ Example response: "closed_issues_count": 5, "open_merge_requests_count": 0, "subscribed": false, - "priority": null + "priority": null, + "is_project_label": true }, { "id" : 7, @@ -51,7 +53,8 @@ Example response: "closed_issues_count": 3, "open_merge_requests_count": 1, "subscribed": false, - "priority": null + "priority": null, + "is_project_label": true }, { "id" : 8, @@ -62,7 +65,8 @@ Example response: "closed_issues_count": 0, "open_merge_requests_count": 2, "subscribed": false, - "priority": null + "priority": null, + "is_project_label": false }, { "id" : 9, @@ -73,7 +77,8 @@ Example response: "closed_issues_count": 0, "open_merge_requests_count": 1, "subscribed": true, - "priority": null + "priority": null, + "is_project_label": true } ] ``` @@ -110,7 +115,8 @@ Example response: "closed_issues_count": 0, "open_merge_requests_count": 0, "subscribed": false, - "priority": null + "priority": null, + "is_project_label": true } ``` @@ -166,7 +172,8 @@ Example response: "closed_issues_count": 0, "open_merge_requests_count": 2, "subscribed": false, - "priority": null + "priority": null, + "is_project_label": true } ``` @@ -201,7 +208,8 @@ Example response: "closed_issues_count": 0, "open_merge_requests_count": 1, "subscribed": true, - "priority": null + "priority": null, + "is_project_label": true } ``` diff --git a/spec/requests/api/labels_spec.rb b/spec/requests/api/labels_spec.rb index 49eea2e362b..9e27685e13d 100644 --- a/spec/requests/api/labels_spec.rb +++ b/spec/requests/api/labels_spec.rb @@ -22,7 +22,7 @@ describe API::Labels do expected_keys = %w( id name color description open_issues_count closed_issues_count open_merge_requests_count - subscribed priority + subscribed priority is_project_label ) get api("/projects/#{project.id}/labels", user) @@ -46,6 +46,7 @@ describe API::Labels do expect(label1_response['description']).to be_nil expect(label1_response['priority']).to be_nil expect(label1_response['subscribed']).to be_falsey + expect(label1_response['is_project_label']).to be_truthy expect(group_label_response['open_issues_count']).to eq(1) expect(group_label_response['closed_issues_count']).to eq(0) @@ -55,6 +56,7 @@ describe API::Labels do expect(group_label_response['description']).to be_nil expect(group_label_response['priority']).to be_nil expect(group_label_response['subscribed']).to be_falsey + expect(group_label_response['is_project_label']).to be_falsey expect(priority_label_response['open_issues_count']).to eq(0) expect(priority_label_response['closed_issues_count']).to eq(0) @@ -64,6 +66,7 @@ describe API::Labels do expect(priority_label_response['description']).to be_nil expect(priority_label_response['priority']).to eq(3) expect(priority_label_response['subscribed']).to be_falsey + expect(priority_label_response['is_project_label']).to be_truthy end end -- cgit v1.2.1