Add more issue / pr creation params (#331)

adds assignees, labels, deadline, milestone params

- [x] add flags to `tea issue create` (this is BREAKING, `-b` moved to `-d` for consistency with pr create)
- [x] add interactive mode to `tea issue create`
- [x] add flags to `tea pr create`
- [x] add interactive mode to `tea pr create`

fixes #171, fixes #303

Co-authored-by: Norwin Roosen <git@nroo.de>
Co-authored-by: 6543 <6543@obermui.de>
Reviewed-on: https://gitea.com/gitea/tea/pulls/331
Reviewed-by: 6543 <6543@obermui.de>
Reviewed-by: Lunny Xiao <xiaolunwen@gmail.com>
Co-authored-by: Norwin <noerw@noreply.gitea.io>
Co-committed-by: Norwin <noerw@noreply.gitea.io>
This commit is contained in:
Norwin
2021-03-08 19:48:03 +08:00
committed by 6543
parent d22b314701
commit 6f738df4a5
11 changed files with 389 additions and 127 deletions

View File

@ -16,8 +16,7 @@ import (
)
// CreatePull creates a PR in the given repo and prints the result
func CreatePull(login *config.Login, repoOwner, repoName, base, head, title, description string) error {
func CreatePull(login *config.Login, repoOwner, repoName, base, head string, opts *gitea.CreateIssueOption) error {
// open local git repo
localRepo, err := local_git.RepoForWorkdir()
if err != nil {
@ -48,19 +47,23 @@ func CreatePull(login *config.Login, repoOwner, repoName, base, head, title, des
}
// default is head branch name
if len(title) == 0 {
title = GetDefaultPRTitle(head)
if len(opts.Title) == 0 {
opts.Title = GetDefaultPRTitle(head)
}
// title is required
if len(title) == 0 {
if len(opts.Title) == 0 {
return fmt.Errorf("Title is required")
}
pr, _, err := login.Client().CreatePullRequest(repoOwner, repoName, gitea.CreatePullRequestOption{
Head: head,
Base: base,
Title: title,
Body: description,
Head: head,
Base: base,
Title: opts.Title,
Body: opts.Body,
Assignees: opts.Assignees,
Labels: opts.Labels,
Milestone: opts.Milestone,
Deadline: opts.Deadline,
})
if err != nil {