Golang으로 Jira 자동화
Jira Software는 모든 유형의 팀이 작업을 관리할 수 있도록 설계된 제품군의 일부입니다. 원래 Jira는 버그 및 문제 추적기로 설계되었습니다. 그러나 오늘날 Jira는 요구 사항 및 테스트 사례 관리에서 민첩한 소프트웨어 개발에 이르기까지 모든 종류의 사용 사례를 위한 강력한 작업 관리 도구로 발전했습니다.
이 기사에서는 go-jira 라이브러리를 사용합니다. 시작하려면 jira atlas으로 이동하여 API 토큰을 생성해야 합니다. 나중에 볼 수 없으므로 생성 후 복사 버튼이 표시되면 토큰을 복사해야 합니다.
인증을 위해서는 다음이 필요합니다.
.env 파일에 다음과 같이 저장됩니다.
JIRA_TOKEN=<jira token can be generated here: https://id.atlassian.com/manage-profile/security/api-tokens>
JIRA_USER=<your email address>
JIRA_URL=<jira url can be gotten from the url (https://username.atlassian.net/jira/software/projects/<projectname>/boards) by extracting this (https://name.atlassian.net) only >
이제 코드를 작성하는 재미있는 부분으로 이동하겠습니다. :)
package main
import (
"fmt"
"os"
"github.com/joho/godotenv"
jira "github.com/andygrunwald/go-jira"
)
func init() {
if envErr := godotenv.Load(".env"); envErr != nil {
fmt.Println(".env file missing")
}
}
func jiraClient() *jira.Client {
jt := jira.BasicAuthTransport{
Username: os.Getenv("JIRA_USER"),
Password: os.Getenv("JIRA_TOKEN"),
}
client, err := jira.NewClient(jt.Client(), os.Getenv("JIRA_URL"))
if err != nil {
fmt.Println(err)
}
me, _, err := client.User.GetSelf()
if err != nil {
fmt.Println(err)
}
fmt.Println(me)
return client
}
jira에서 새 문제를 생성하려면
func CreateNewIssue() {
client := jiraClient()
i := jira.Issue{
Fields: &jira.IssueFields{
Description: "your issue description",
Type: jira.IssueType{
Name: "you issue type e.g Bug, Task e.t.c",
},
Project: jira.Project{
Key: "your project key- this can be found under the project settings",
},
Summary: "your issue summary",
},
}
issue, _, err := client.Issue.Create(&i)
if err != nil {
fmt.Println(err)
}
//update the assignee on the issue just created
_, assignErr := client.Issue.UpdateAssignee(issue.ID, &jira.User{
AccountID: "the assignee Id",
//to get the assignee id, on your dashboard click on people.
//From the dropdown menu click on search people and teams and then click on the user you wish to assign a task to
//and then you should see this in ur url https://name.atlassian.net/jira/people/62e45a423780798663d14427.
//The id <62e45a423780798663d14427> after people endpoint is the assignee id
})
if assignErr != nil {
fmt.Println(assignErr)
}
fmt.Println(issue)
}
Reference
이 문제에 관하여(Golang으로 Jira 자동화), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/hisyntax/automate-jira-with-golang-i6c텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)