mirror of https://gitlab.com/gitlab-org/cli.git
feat(pagination): add pagination to release list
This commit is contained in:
parent
98485c174e
commit
7340cf1e57
|
@ -22,12 +22,16 @@ func NewCmdReleaseList(f *cmdutils.Factory) *cobra.Command {
|
||||||
Short: `List releases in a repository`,
|
Short: `List releases in a repository`,
|
||||||
Long: ``,
|
Long: ``,
|
||||||
Aliases: []string{"ls"},
|
Aliases: []string{"ls"},
|
||||||
Args: cobra.MaximumNArgs(3),
|
Args: cobra.ExactArgs(0),
|
||||||
RunE: func(cmd *cobra.Command, args []string) error {
|
RunE: func(cmd *cobra.Command, args []string) error {
|
||||||
factory = f
|
factory = f
|
||||||
return listReleases(cmd, args)
|
return listReleases(cmd, args)
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
|
releaseListCmd.Flags().IntP("page", "p", 1, "Page number.")
|
||||||
|
releaseListCmd.Flags().IntP("per-page", "P", 30, "Number of items to list per page.")
|
||||||
|
|
||||||
releaseListCmd.Flags().StringP("tag", "t", "", "Filter releases by tag <name>")
|
releaseListCmd.Flags().StringP("tag", "t", "", "Filter releases by tag <name>")
|
||||||
// deprecate in favour of the `release view` command
|
// deprecate in favour of the `release view` command
|
||||||
_ = releaseListCmd.Flags().MarkDeprecated("tag", "use `glab release view <tag>` instead")
|
_ = releaseListCmd.Flags().MarkDeprecated("tag", "use `glab release view <tag>` instead")
|
||||||
|
@ -42,6 +46,11 @@ func NewCmdReleaseList(f *cmdutils.Factory) *cobra.Command {
|
||||||
func listReleases(cmd *cobra.Command, args []string) error {
|
func listReleases(cmd *cobra.Command, args []string) error {
|
||||||
l := &gitlab.ListReleasesOptions{}
|
l := &gitlab.ListReleasesOptions{}
|
||||||
|
|
||||||
|
page, _ := cmd.Flags().GetInt("page")
|
||||||
|
l.Page = page
|
||||||
|
perPage, _ := cmd.Flags().GetInt("per-page")
|
||||||
|
l.PerPage = perPage
|
||||||
|
|
||||||
tag, err := cmd.Flags().GetString("tag")
|
tag, err := cmd.Flags().GetString("tag")
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
|
@ -75,7 +84,6 @@ func listReleases(cmd *cobra.Command, args []string) error {
|
||||||
|
|
||||||
fmt.Fprintln(factory.IO.StdOut, releaseutils.DisplayRelease(factory.IO, release, repo))
|
fmt.Fprintln(factory.IO.StdOut, releaseutils.DisplayRelease(factory.IO, release, repo))
|
||||||
} else {
|
} else {
|
||||||
l.PerPage = 30
|
|
||||||
|
|
||||||
releases, err := api.ListReleases(apiClient, repo.FullName(), l)
|
releases, err := api.ListReleases(apiClient, repo.FullName(), l)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
|
|
@ -23,6 +23,13 @@ glab release list [flags]
|
||||||
ls
|
ls
|
||||||
```
|
```
|
||||||
|
|
||||||
|
## Options
|
||||||
|
|
||||||
|
```plaintext
|
||||||
|
-p, --page int Page number. (default 1)
|
||||||
|
-P, --per-page int Number of items to list per page. (default 30)
|
||||||
|
```
|
||||||
|
|
||||||
## Options inherited from parent commands
|
## Options inherited from parent commands
|
||||||
|
|
||||||
```plaintext
|
```plaintext
|
||||||
|
|
Loading…
Reference in New Issue