Update Gitea SDK to v0.13.0 (#49)
adapt new functions update sdk to v0.13.0 Co-authored-by: 6543 <6543@obermui.de> Reviewed-on: https://gitea.com/gitea/changelog/pulls/49 Reviewed-by: Lunny Xiao <xiaolunwen@gmail.com> Reviewed-by: jaqra <jaqra@noreply.gitea.io>
This commit is contained in:
parent
c48910002d
commit
18ff9e6a0d
2
go.mod
2
go.mod
|
@ -3,7 +3,7 @@ module code.gitea.io/changelog
|
||||||
go 1.13
|
go 1.13
|
||||||
|
|
||||||
require (
|
require (
|
||||||
code.gitea.io/sdk/gitea v0.12.1
|
code.gitea.io/sdk/gitea v0.13.0
|
||||||
github.com/cpuguy83/go-md2man/v2 v2.0.0 // indirect
|
github.com/cpuguy83/go-md2man/v2 v2.0.0 // indirect
|
||||||
github.com/google/go-github/v32 v32.1.0
|
github.com/google/go-github/v32 v32.1.0
|
||||||
github.com/hashicorp/go-version v1.2.1 // indirect
|
github.com/hashicorp/go-version v1.2.1 // indirect
|
||||||
|
|
4
go.sum
4
go.sum
|
@ -1,5 +1,5 @@
|
||||||
code.gitea.io/sdk/gitea v0.12.1 h1:bMgjEqPnNX/i6TpVwXwpjJtFOnUSuC9P6yy/jjy8sjY=
|
code.gitea.io/sdk/gitea v0.13.0 h1:iHognp8ZMhMFLooUUNZFpm8IHaC9qoHJDvAE5vTm5aw=
|
||||||
code.gitea.io/sdk/gitea v0.12.1/go.mod h1:z3uwDV/b9Ls47NGukYM9XhnHtqPh/J+t40lsUrR6JDY=
|
code.gitea.io/sdk/gitea v0.13.0/go.mod h1:z3uwDV/b9Ls47NGukYM9XhnHtqPh/J+t40lsUrR6JDY=
|
||||||
github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU=
|
github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU=
|
||||||
github.com/cpuguy83/go-md2man/v2 v2.0.0-20190314233015-f79a8a8ca69d/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU=
|
github.com/cpuguy83/go-md2man/v2 v2.0.0-20190314233015-f79a8a8ca69d/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU=
|
||||||
github.com/cpuguy83/go-md2man/v2 v2.0.0 h1:EoUDS0afbrsXAZ9YQ9jdu/mZ2sXgT1/2yyNng4PGlyM=
|
github.com/cpuguy83/go-md2man/v2 v2.0.0 h1:EoUDS0afbrsXAZ9YQ9jdu/mZ2sXgT1/2yyNng4PGlyM=
|
||||||
|
|
|
@ -23,11 +23,14 @@ type Gitea struct {
|
||||||
|
|
||||||
// Generate returns a Gitea changelog
|
// Generate returns a Gitea changelog
|
||||||
func (ge *Gitea) Generate() (string, []Entry, error) {
|
func (ge *Gitea) Generate() (string, []Entry, error) {
|
||||||
client := gitea.NewClient(ge.BaseURL, ge.Token)
|
client, err := gitea.NewClient(ge.BaseURL, gitea.SetToken(ge.Token))
|
||||||
|
if err != nil {
|
||||||
|
return "", nil, err
|
||||||
|
}
|
||||||
|
|
||||||
entries := make([]Entry, 0)
|
entries := make([]Entry, 0)
|
||||||
|
|
||||||
milestoneID, err := ge.milestoneID(client)
|
milestone, _, err := client.GetMilestoneByName(ge.Owner, ge.Repo, ge.Milestone)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return "", nil, err
|
return "", nil, err
|
||||||
}
|
}
|
||||||
|
@ -37,14 +40,10 @@ func (ge *Gitea) Generate() (string, []Entry, error) {
|
||||||
from = "issues"
|
from = "issues"
|
||||||
}
|
}
|
||||||
|
|
||||||
tagURL := getGiteaTagURL(client, ge.BaseURL, ge.Owner, ge.Repo, ge.Milestone, from, milestoneID)
|
tagURL := getGiteaTagURL(client, ge.BaseURL, ge.Owner, ge.Repo, ge.Milestone, from, milestone.ID)
|
||||||
|
|
||||||
p := 1
|
perPage := ge.perPage(client)
|
||||||
// https://github.com/go-gitea/gitea/blob/d92781bf941972761177ac9e07441f8893758fd3/models/repo.go#L63
|
for p := 1; ; p++ {
|
||||||
// https://github.com/go-gitea/gitea/blob/e3c3b33ea7a5a223e22688c3f0eb2d3dab9f991c/models/pull_list.go#L104
|
|
||||||
// FIXME Gitea has this hard-coded at 40
|
|
||||||
perPage := 40
|
|
||||||
for {
|
|
||||||
options := gitea.ListIssueOption{
|
options := gitea.ListIssueOption{
|
||||||
ListOptions: gitea.ListOptions{
|
ListOptions: gitea.ListOptions{
|
||||||
Page: p,
|
Page: p,
|
||||||
|
@ -58,7 +57,7 @@ func (ge *Gitea) Generate() (string, []Entry, error) {
|
||||||
options.Type = gitea.IssueTypeIssue
|
options.Type = gitea.IssueTypeIssue
|
||||||
}
|
}
|
||||||
|
|
||||||
issues, err := client.ListRepoIssues(ge.Owner, ge.Repo, options)
|
issues, _, err := client.ListRepoIssues(ge.Owner, ge.Repo, options)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return "", nil, err
|
return "", nil, err
|
||||||
}
|
}
|
||||||
|
@ -77,8 +76,6 @@ func (ge *Gitea) Generate() (string, []Entry, error) {
|
||||||
if len(issues) != perPage {
|
if len(issues) != perPage {
|
||||||
break
|
break
|
||||||
}
|
}
|
||||||
|
|
||||||
p++
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return tagURL, entries, nil
|
return tagURL, entries, nil
|
||||||
|
@ -111,30 +108,31 @@ func convertToEntry(issue gitea.Issue) Entry {
|
||||||
|
|
||||||
// Contributors returns a list of contributors from Gitea
|
// Contributors returns a list of contributors from Gitea
|
||||||
func (ge *Gitea) Contributors() (ContributorList, error) {
|
func (ge *Gitea) Contributors() (ContributorList, error) {
|
||||||
client := gitea.NewClient(ge.BaseURL, ge.Token)
|
client, err := gitea.NewClient(ge.BaseURL, gitea.SetToken(ge.Token))
|
||||||
|
|
||||||
contributorsMap := make(map[string]bool)
|
|
||||||
|
|
||||||
milestoneID, err := ge.milestoneID(client)
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
||||||
p := 1
|
contributorsMap := make(map[string]bool)
|
||||||
perPage := 100
|
|
||||||
for {
|
milestone, _, err := client.GetMilestoneByName(ge.Owner, ge.Repo, ge.Milestone)
|
||||||
results, err := client.ListRepoPullRequests(ge.Owner, ge.Repo, gitea.ListPullRequestsOptions{
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
|
||||||
|
perPage := ge.perPage(client)
|
||||||
|
for p := 1; ; p++ {
|
||||||
|
results, _, err := client.ListRepoPullRequests(ge.Owner, ge.Repo, gitea.ListPullRequestsOptions{
|
||||||
ListOptions: gitea.ListOptions{
|
ListOptions: gitea.ListOptions{
|
||||||
Page: p,
|
Page: p,
|
||||||
PageSize: perPage,
|
PageSize: perPage,
|
||||||
},
|
},
|
||||||
State: "closed",
|
State: "closed",
|
||||||
Milestone: milestoneID,
|
Milestone: milestone.ID,
|
||||||
})
|
})
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
p++
|
|
||||||
|
|
||||||
for _, pr := range results {
|
for _, pr := range results {
|
||||||
if pr != nil && pr.HasMerged {
|
if pr != nil && pr.HasMerged {
|
||||||
|
@ -158,17 +156,15 @@ func (ge *Gitea) Contributors() (ContributorList, error) {
|
||||||
return contributors, nil
|
return contributors, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func (ge *Gitea) milestoneID(client *gitea.Client) (int64, error) {
|
func (ge *Gitea) perPage(client *gitea.Client) int {
|
||||||
milestones, err := client.ListRepoMilestones(ge.Owner, ge.Repo, gitea.ListMilestoneOption{State: gitea.StateAll})
|
// set low value so it will work in most cases
|
||||||
if err != nil {
|
perPage := 10
|
||||||
return 0, err
|
if client.CheckServerVersionConstraint(">=1.13.0") == nil {
|
||||||
}
|
conf, _, err := client.GetGlobalAPISettings()
|
||||||
|
if err != nil {
|
||||||
for _, ms := range milestones {
|
return perPage
|
||||||
if ms.Title == ge.Milestone {
|
|
||||||
return ms.ID, nil
|
|
||||||
}
|
}
|
||||||
|
return conf.MaxResponseItems
|
||||||
}
|
}
|
||||||
|
return perPage
|
||||||
return 0, fmt.Errorf("no milestone found for %s", ge.Milestone)
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue