diff --git a/Sources/ForgejoKit/Services/PullRequestService.swift b/Sources/ForgejoKit/Services/PullRequestService.swift index e376ebd..2ad555b 100644 --- a/Sources/ForgejoKit/Services/PullRequestService.swift +++ b/Sources/ForgejoKit/Services/PullRequestService.swift @@ -34,12 +34,14 @@ public final class PullRequestService: Sendable { private struct MergePullRequestPayload: Codable { let method: String let deleteBranchAfterMerge: Bool + let mergeTitleField: String? let mergeMessageField: String? // swiftlint:disable:next nesting enum CodingKeys: String, CodingKey { case method = "Do" case deleteBranchAfterMerge = "delete_branch_after_merge" + case mergeTitleField = "merge_title_field" case mergeMessageField = "merge_message_field" } } @@ -157,13 +159,14 @@ public final class PullRequestService: Sendable { // swiftlint:disable:next function_parameter_count public func mergePullRequest( owner: String, repo: String, index: Int, - method: String, message: String?, + method: String, title: String? = nil, message: String? = nil, deleteBranch: Bool, ) async throws { let url = try client.makeRepoURL(owner: owner, repo: repo, path: "/pulls/\(index)/merge") let payload = MergePullRequestPayload( method: method, deleteBranchAfterMerge: deleteBranch, + mergeTitleField: title.nilIfEmpty, mergeMessageField: message.nilIfEmpty, ) let jsonData = try client.encodeRequestBody(payload)