diff --git a/ee/changelogs/unreleased/9424-return-id-for-newly-created-vulnerability-issue-link.yml b/ee/changelogs/unreleased/9424-return-id-for-newly-created-vulnerability-issue-link.yml new file mode 100644 index 0000000000000000000000000000000000000000..1bf29327d693a5be91e44d11be570f5973396152 --- /dev/null +++ b/ee/changelogs/unreleased/9424-return-id-for-newly-created-vulnerability-issue-link.yml @@ -0,0 +1,5 @@ +--- +title: Return ID of newly created vulnerability issue link in API +merge_request: 35947 +author: +type: added diff --git a/ee/lib/ee/api/entities/vulnerability_issue_link.rb b/ee/lib/ee/api/entities/vulnerability_issue_link.rb index 90449e81d86fe624c81031bc4a7544744d704dfc..ad2eb7385962817259190cad2ffd840ee61b3604 100644 --- a/ee/lib/ee/api/entities/vulnerability_issue_link.rb +++ b/ee/lib/ee/api/entities/vulnerability_issue_link.rb @@ -4,6 +4,7 @@ module EE module API module Entities class VulnerabilityIssueLink < Grape::Entity + expose :id expose :vulnerability, using: ::EE::API::Entities::Vulnerability expose :issue, using: ::API::Entities::IssueBasic expose :link_type diff --git a/ee/spec/fixtures/api/schemas/public_api/v4/vulnerability_issue_link.json b/ee/spec/fixtures/api/schemas/public_api/v4/vulnerability_issue_link.json index 1b7a2cf4d22cc8add2ddb89fca92c3d6a2f60b12..d35ec83535c490cb7702161d2fe579b0704a18a7 100644 --- a/ee/spec/fixtures/api/schemas/public_api/v4/vulnerability_issue_link.json +++ b/ee/spec/fixtures/api/schemas/public_api/v4/vulnerability_issue_link.json @@ -2,11 +2,13 @@ "type": "object", "additionalProperties": false, "required": [ + "id", "issue", "vulnerability", "link_type" ], "properties": { + "id": { "type": "integer" }, "issue": { "oneOf": [ { "$ref": "../../../../../../../spec/fixtures/api/schemas/public_api/v4/issue.json" } diff --git a/ee/spec/requests/api/vulnerability_issue_links_spec.rb b/ee/spec/requests/api/vulnerability_issue_links_spec.rb index 14196c09398ccc27cd4ff34b4866d47938dcda02..728737bdad4778cc734eb582bd0e0966e59f940d 100644 --- a/ee/spec/requests/api/vulnerability_issue_links_spec.rb +++ b/ee/spec/requests/api/vulnerability_issue_links_spec.rb @@ -75,6 +75,7 @@ expect(response).to have_gitlab_http_status(:created) expect(response).to match_response_schema('public_api/v4/vulnerability_issue_link', dir: 'ee') + expect(json_response['id']).to eq Vulnerabilities::IssueLink.last.id expect(json_response['issue']['id']).to eq issue.id expect(json_response['vulnerability']['id']).to eq vulnerability.id end @@ -166,6 +167,7 @@ expect(response).to have_gitlab_http_status(:ok) expect(response).to match_response_schema('public_api/v4/vulnerability_issue_link', dir: 'ee') + expect(json_response['id']).to eq issue_link_id expect(json_response['issue']['id']).to eq vulnerability_issue_link.issue.id expect(json_response['vulnerability']['id']).to eq vulnerability_id end