1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Go 言語で GitLab Bot の作成

Last updated at Posted at 2021-12-21

準備

以下の Github を参考にして、Bot を作成します。

go get github.com/xanzy/go-gitlab

ユーザー名の取得

以下でユーザー名を取得することができます。

package main

import (
	"log"

	"github.com/xanzy/go-gitlab"
)

func main() {
	git, err := gitlab.NewClient("-eo1D7ZVkyczkvTt4G7V",gitlab.WithBaseURL("http://192.168.202.129:9010/api/v4"))
	if err != nil {
		log.Fatalf("Failed to create client: %v", err)
	}

	users,_,err := git.Users.ListUsers(nil)
	for _,i := range users {
		fmt.Println(i.Name)
	}
}

出力結果

 >> go run git-bot-test.go
Golang
Administrator

新しい Issue を作成する

基本的には、option で詳しい内容などを設定してから create してあげる流れとなっています。

	newTask := &gitlab.CreateIssueOptions{
		Title: gitlab.String("CreateTaskTest"),
		Description: gitlab.String("This is test from git-bot-test.go"),
	}
	_, _, err = git.Issues.CreateIssue(34,newTask)
	if err != nil {
		log.Fatal(err)
	}

CreateIssueOptions は以下が指定できます。

type CreateIssueOptions struct {
	IID                                *int       
	Title                              *string   
	Description                        *string    
	Confidential                       *bool      
	AssigneeIDs                        []int      
	MilestoneID                        *int       
	Labels                             Labels     
	CreatedAt                          *time.Time 
	DueDate                            *ISOTime   
	MergeRequestToResolveDiscussionsOf *int       
	DiscussionToResolve                *string    
	Weight                             *int       
	IssueType                          *string    
}

今回は、Title と、Descriptionを編集しました。

また、CreateIssue 関数を用いることで、Issue の作成が行えます。
ここには、前半にプロジェクトの ID である PID と、先ほど設定した CreateIssueOptions を引数に持ちます。

以下のように、Issue が作成されます。

image.png

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?