Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Enable the interaction with the Field Operations on the Jira issue edit method #17

Merged
merged 7 commits into from
Apr 8, 2021
92 changes: 92 additions & 0 deletions jira/auth_test.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,92 @@
package jira

import "testing"

func TestAuthenticationService_SetBasicAuth(t *testing.T) {

mockedClient, err := startMockClient("")
if err != nil {
t.Log(err)
}

type fields struct {
client *Client
token, mail string
agent string
}
type args struct {
mail, token string
}
tests := []struct {
name string
fields fields
args args
}{
{
name: "SetAccessTokenWhenTheParamsAreCorrect",
fields: fields{
client: mockedClient,
},
args: args{
token: "$TOKEN_ID",
mail: "$MAIL_ID",
},
},
}

for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
a := &AuthenticationService{
client: tt.fields.client,
mail: tt.fields.mail,
token: tt.fields.token,
agent: tt.fields.agent,
}

a.SetBasicAuth(tt.args.mail, tt.args.token)
})
}
}

func TestAuthenticationService_SetUserAgent(t *testing.T) {

mockedClient, err := startMockClient("")
if err != nil {
t.Log(err)
}

type fields struct {
client *Client
agent string
}
type args struct {
userAgent string
}
tests := []struct {
name string
fields fields
args args
}{
{
name: "SetUserAgentWhenTheParamsAreCorrect",
fields: fields{
client: mockedClient,
},
args: args{
userAgent: "$USER_AGENT_SAMPLE",
},
},
}

for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
a := &AuthenticationService{
client: tt.fields.client,
agent: tt.fields.agent,
}

a.SetUserAgent(tt.args.userAgent)
})
}

}
24 changes: 13 additions & 11 deletions jira/examples/advanced/time-in-status/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -130,15 +130,16 @@ func main() {

csvRows = append(csvRows, csvRow{
Key: issue,
From: record.FromString,
To: record.ToString,
Status: record.FromString,
Pretty: durafmt.ParseShort(diff).LimitFirstN(4).String(),
Days: diff.Hours() / 24,
Hours: diff.Hours(),
Minutes: diff.Minutes(),
Seconds: diff.Seconds(),
})

log.Println(index, durafmt.ParseShort(diff).LimitFirstN(4).String())

}

if index == len(records)-1 {
Expand All @@ -148,15 +149,16 @@ func main() {

csvRows = append(csvRows, csvRow{
Key: issue,
From: record.FromString,
To: record.ToString,
Status: record.ToString,
Pretty: durafmt.ParseShort(diff).LimitFirstN(4).String(),
Days: diff.Hours() / 24,
Hours: diff.Hours(),
Minutes: diff.Minutes(),
Seconds: diff.Seconds(),
})

log.Println(index == len(records)-1, durafmt.ParseShort(diff).LimitFirstN(4).String())

break
}

Expand All @@ -165,14 +167,16 @@ func main() {

csvRows = append(csvRows, csvRow{
Key: issue,
From: record.FromString,
To: record.ToString,
Status: record.ToString,
Pretty: durafmt.ParseShort(diff).LimitFirstN(4).String(),
Days: diff.Hours() / 24,
Hours: diff.Hours(),
Minutes: diff.Minutes(),
Seconds: diff.Seconds(),
})

log.Println(index, durafmt.ParseShort(diff).LimitFirstN(4).String())

}

}
Expand All @@ -191,16 +195,15 @@ func main() {
defer writer.Flush()

//Write the csv headers
if err = writer.Write([]string{"issue-key", "status-from", "status-to", "pretty", "days", "hours", "minutes", "seconds"}); err != nil {
if err = writer.Write([]string{"issue-key", "status", "pretty", "days", "hours", "minutes", "seconds"}); err != nil {
log.Fatal(err)
}

for _, row := range csvRows {

if err = writer.Write([]string{
row.Key,
row.From,
row.To,
row.Status,
row.Pretty,
fmt.Sprintf("%.2f", row.Days),
fmt.Sprintf("%.2f", row.Hours),
Expand Down Expand Up @@ -234,8 +237,7 @@ type changelogRecord struct {

type csvRow struct {
Key string
From string
To string
Status string
Pretty string
Days float64
Hours float64
Expand Down
18 changes: 4 additions & 14 deletions jira/examples/advanced/time-in-status/time-in-status.csv
Original file line number Diff line number Diff line change
@@ -1,14 +1,4 @@
issue-key,status-from,status-to,pretty,days,hours,minutes,seconds
DESK-12,Needs Approval,Waiting for support,9 minutes 43 seconds 216 milliseconds,0.01,0.16,9.72,583.22
DESK-12,Needs Approval,Waiting for support,1 week 1 day 19 hours 56 minutes,8.83,211.94,12716.66,762999.59
DESK-12,Waiting for support,Resolved,2 weeks 1 day 19 hours 10 minutes,15.80,379.17,22750.06,1365003.41
DESK-11,Waiting for support,Resolved,2 hours 35 minutes 16 seconds 106 milliseconds,0.11,2.59,155.27,9316.11
DESK-11,Waiting for support,Resolved,3 weeks 3 days 15 hours 25 minutes,24.64,591.43,35485.79,2129147.33
KP-2,Backlog,Backlog,3 weeks 4 days 12 hours 54 minutes,25.54,612.90,36774.18,2206450.56
KP-2,Backlog,Backlog,4 weeks 5 days 51 minutes 37 seconds,33.04,792.86,47571.63,2854297.91
KP-1,Backlog,Done,10 seconds 616 milliseconds,0.00,0.00,0.18,10.62
KP-1,Backlog,Done,11 weeks 5 days 16 hours 14 minutes,82.68,1984.25,119054.94,7143296.42
DESK-5,Waiting for support,Resolved,856 milliseconds,0.00,0.00,0.01,0.86
DESK-5,Waiting for support,Resolved,12 weeks 5 days 19 hours 1 minute,89.79,2155.02,129301.16,7758069.46
DESK-3,Waiting for support,Escalated,10 weeks 3 days 2 hours 14 minutes,73.09,1754.24,105254.13,6315248.07
DESK-3,Waiting for support,Escalated,2 weeks 2 days 16 hours 47 minutes,16.70,400.78,24047.05,1442823.25
issue-key,status,pretty,days,hours,minutes,seconds
DESK-12,Needs Approval,9 minutes 43 seconds 216 milliseconds,0.01,0.16,9.72,583.22
DESK-12,Waiting for support,1 week 1 day 19 hours 56 minutes,8.83,211.94,12716.66,762999.59
DESK-12,Resolved,3 weeks 18 hours 10 minutes 32 seconds,21.76,522.18,31330.55,1879832.99
21 changes: 20 additions & 1 deletion jira/examples/issue/edit/edit.go
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,26 @@ func main() {
log.Fatal(err)
}

response, err := atlassian.Issue.Update(context.Background(), "KP-2", false, &payload, &customFields)
//Issue Update Operations
var operations = &jira.UpdateOperations{}

err = operations.AddArrayOperation("labels", map[string]string{
"triaged": "remove",
"triaged-2": "remove",
"triaged-1": "remove",
"blocker": "remove",
})

if err != nil {
log.Fatal(err)
}

err = operations.AddStringOperation("summary", "set", "new summary using operation")
if err != nil {
log.Fatal(err)
}

response, err := atlassian.Issue.Update(context.Background(), "KP-2", false, &payload, &customFields, operations)
if err != nil {
if response != nil {
log.Println("Response HTTP Response", string(response.BodyAsBytes))
Expand Down
Loading