1package view
2
3import (
4	"fmt"
5
6	"github.com/cli/cli/v2/api"
7	"github.com/cli/cli/v2/internal/ghrepo"
8	runShared "github.com/cli/cli/v2/pkg/cmd/run/shared"
9	"github.com/cli/cli/v2/pkg/cmd/workflow/shared"
10)
11
12type workflowRuns struct {
13	Total int
14	Runs  []runShared.Run
15}
16
17func getWorkflowRuns(client *api.Client, repo ghrepo.Interface, workflow *shared.Workflow) (workflowRuns, error) {
18	var wr workflowRuns
19	var result runShared.RunsPayload
20	path := fmt.Sprintf("repos/%s/actions/workflows/%d/runs?per_page=%d&page=%d", ghrepo.FullName(repo), workflow.ID, 5, 1)
21
22	err := client.REST(repo.RepoHost(), "GET", path, nil, &result)
23	if err != nil {
24		return wr, err
25	}
26
27	wr.Total = result.TotalCount
28	wr.Runs = append(wr.Runs, result.WorkflowRuns...)
29
30	return wr, nil
31}
32