Add commands to manage issue dependencies using the Gitea API: - `tea issues dependencies <index>` - list dependencies - `tea issues dependencies add <index> <dep>` - add a dependency - `tea issues dependencies remove <index> <dep>` - remove a dependency Supports cross-repo dependencies with owner/repo#index syntax. Supports all output formats (table, json, csv, etc.). Closes #4 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
67 lines
2.1 KiB
Go
67 lines
2.1 KiB
Go
// Copyright 2025 The Gitea Authors. All rights reserved.
|
|
// SPDX-License-Identifier: MIT
|
|
|
|
package api
|
|
|
|
import "time"
|
|
|
|
// ActionRun represents a workflow run
|
|
type ActionRun struct {
|
|
ID int64 `json:"id"`
|
|
Title string `json:"display_title"`
|
|
Path string `json:"path"`
|
|
Status string `json:"status"`
|
|
Conclusion string `json:"conclusion"`
|
|
Event string `json:"event"`
|
|
HeadBranch string `json:"head_branch"`
|
|
HeadSHA string `json:"head_sha"`
|
|
RunNumber int64 `json:"run_number"`
|
|
RunAttempt int64 `json:"run_attempt"`
|
|
HTMLURL string `json:"html_url"`
|
|
URL string `json:"url"`
|
|
StartedAt *time.Time `json:"started_at"`
|
|
CompletedAt *time.Time `json:"completed_at"`
|
|
}
|
|
|
|
// ActionRunList is a list of workflow runs
|
|
type ActionRunList struct {
|
|
TotalCount int64 `json:"total_count"`
|
|
WorkflowRuns []*ActionRun `json:"workflow_runs"`
|
|
}
|
|
|
|
// ActionJob represents a job within a workflow run
|
|
type ActionJob struct {
|
|
ID int64 `json:"id"`
|
|
RunID int64 `json:"run_id"`
|
|
Name string `json:"name"`
|
|
Status string `json:"status"`
|
|
Conclusion string `json:"conclusion"`
|
|
HTMLURL string `json:"html_url"`
|
|
StartedAt *time.Time `json:"started_at"`
|
|
CompletedAt *time.Time `json:"completed_at"`
|
|
Steps []*ActionJobStep `json:"steps"`
|
|
}
|
|
|
|
// ActionJobStep represents a step within a job
|
|
type ActionJobStep struct {
|
|
Name string `json:"name"`
|
|
Number int64 `json:"number"`
|
|
Status string `json:"status"`
|
|
Conclusion string `json:"conclusion"`
|
|
StartedAt *time.Time `json:"started_at"`
|
|
CompletedAt *time.Time `json:"completed_at"`
|
|
}
|
|
|
|
// ActionJobList is a list of jobs
|
|
type ActionJobList struct {
|
|
TotalCount int64 `json:"total_count"`
|
|
Jobs []*ActionJob `json:"jobs"`
|
|
}
|
|
|
|
// IssueDependencyRequest is the request body for adding/removing issue dependencies
|
|
type IssueDependencyRequest struct {
|
|
Owner string `json:"owner"`
|
|
Repo string `json:"repo"`
|
|
Index int64 `json:"index"`
|
|
}
|