Skip to content

Commit e114f72

Browse files
authored
Merge pull request #171 from fluxcd/source-branch
add source branch name to pull request info
2 parents ed16645 + 272d609 commit e114f72

File tree

8 files changed

+28
-9
lines changed

8 files changed

+28
-9
lines changed

github/integration_test.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -479,6 +479,7 @@ var _ = Describe("GitHub Provider", func() {
479479
Expect(err).ToNot(HaveOccurred())
480480
Expect(pr.Get().WebURL).ToNot(BeEmpty())
481481
Expect(pr.Get().Merged).To(BeFalse())
482+
Expect(pr.Get().SourceBranch).To(Equal(branchName))
482483

483484
prs, err := userRepo.PullRequests().List(ctx)
484485
Expect(err).NotTo(HaveOccurred())

github/resource_pullrequest.go

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -45,9 +45,17 @@ func (pr *pullrequest) APIObject() interface{} {
4545
}
4646

4747
func pullrequestFromAPI(apiObj *github.PullRequest) gitprovider.PullRequestInfo {
48+
var sourceBranch string
49+
head := apiObj.Head
50+
if head != nil {
51+
if head.Ref != nil {
52+
sourceBranch = *head.Ref
53+
}
54+
}
4855
return gitprovider.PullRequestInfo{
49-
Merged: apiObj.GetMerged(),
50-
Number: apiObj.GetNumber(),
51-
WebURL: apiObj.GetHTMLURL(),
56+
Merged: apiObj.GetMerged(),
57+
Number: apiObj.GetNumber(),
58+
WebURL: apiObj.GetHTMLURL(),
59+
SourceBranch: sourceBranch,
5260
}
5361
}

gitlab/integration_test.go

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -829,9 +829,11 @@ var _ = Describe("GitLab Provider", func() {
829829
Expect(err).ToNot(HaveOccurred())
830830
Expect(len(prs)).To(Equal(1))
831831
Expect(prs[0].Get().WebURL).To(Equal(pr.Get().WebURL))
832+
Expect(prs[0].Get().SourceBranch).To(Equal(branchName))
832833

833834
Expect(pr.Get().WebURL).ToNot(BeEmpty())
834835
Expect(pr.Get().Merged).To(BeFalse())
836+
Expect(pr.Get().SourceBranch).To(Equal(branchName))
835837
err = userRepo.PullRequests().Merge(ctx, pr.Get().Number, gitprovider.MergeMethodSquash, "squash merged")
836838
Expect(err).ToNot(HaveOccurred())
837839

@@ -865,6 +867,7 @@ var _ = Describe("GitLab Provider", func() {
865867
Expect(err).ToNot(HaveOccurred())
866868
Expect(pr.Get().WebURL).ToNot(BeEmpty())
867869
Expect(pr.Get().Merged).To(BeFalse())
870+
Expect(pr.Get().SourceBranch).To(Equal(branchName2))
868871

869872
editedPR, err := userRepo.PullRequests().Edit(ctx, pr.Get().Number, gitprovider.EditOptions{
870873
Title: gitprovider.StringVar("a new title"),

gitlab/resource_pullrequest.go

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -49,8 +49,9 @@ func (pr *pullrequest) APIObject() interface{} {
4949

5050
func pullrequestFromAPI(apiObj *gitlab.MergeRequest) gitprovider.PullRequestInfo {
5151
return gitprovider.PullRequestInfo{
52-
Merged: apiObj.State == mergedState,
53-
Number: apiObj.IID,
54-
WebURL: apiObj.WebURL,
52+
Merged: apiObj.State == mergedState,
53+
Number: apiObj.IID,
54+
WebURL: apiObj.WebURL,
55+
SourceBranch: apiObj.SourceBranch,
5556
}
5657
}

gitprovider/types_repository.go

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -224,6 +224,9 @@ type PullRequestInfo struct {
224224
// WebURL is the URL of the pull request in the git provider web interface.
225225
// +required
226226
WebURL string `json:"web_url"`
227+
228+
// SourceBranch is the branch from which the pull request has been created.
229+
SourceBranch string `json:"source_branch"`
227230
}
228231

229232
// TreeEntry contains info about each tree object's structure in TreeInfo whether it is a file or tree

stash/integration_repositories_org_test.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -428,6 +428,7 @@ var _ = Describe("Stash Provider", func() {
428428
pr, err := orgRepo.PullRequests().Create(ctx, "Added config file", branchName, defaultBranch, "added config file")
429429
Expect(err).ToNot(HaveOccurred())
430430
Expect(pr.Get().WebURL).ToNot(BeEmpty())
431+
Expect(pr.Get().SourceBranch).To(Equal(branchName))
431432
})
432433
})
433434

stash/integration_repositories_user_test.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -220,6 +220,7 @@ var _ = Describe("Stash Provider", func() {
220220
pr, err := userRepo.PullRequests().Create(ctx, "Added config file", branchName, defaultBranch, "added config file")
221221
Expect(err).ToNot(HaveOccurred())
222222
Expect(pr.Get().WebURL).ToNot(BeEmpty())
223+
Expect(pr.Get().SourceBranch).To(Equal(branchName))
223224

224225
editedPR, err := userRepo.PullRequests().Edit(ctx, pr.Get().Number, gitprovider.EditOptions{
225226
Title: gitprovider.StringVar("a new title"),

stash/resource_pullrequest.go

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -45,9 +45,10 @@ func (pr *pullrequest) APIObject() interface{} {
4545

4646
func pullrequestFromAPI(apiObj *PullRequest) gitprovider.PullRequestInfo {
4747
return gitprovider.PullRequestInfo{
48-
WebURL: getSelfref(apiObj.Self),
49-
Number: apiObj.ID,
50-
Merged: apiObj.State == mergedState,
48+
WebURL: getSelfref(apiObj.Self),
49+
Number: apiObj.ID,
50+
Merged: apiObj.State == mergedState,
51+
SourceBranch: apiObj.FromRef.DisplayID,
5152
}
5253
}
5354

0 commit comments

Comments
 (0)