Skip to content

Commit 9727de6

Browse files
Merge pull request #107 from shiftstack/no_team
Simplify team yaml usage
2 parents 5a29481 + 2c0c024 commit 9727de6

File tree

7 files changed

+14
-79
lines changed

7 files changed

+14
-79
lines changed

README.md

Lines changed: 6 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -27,20 +27,14 @@ Required environment variables:
2727
github_handle: ghuser
2828
jira_name: jirauser
2929
slack_id: U012334
30-
- kerberos: user2
31-
github_handle: ghuser2
32-
jira_name: jirauser2
33-
slack_id: U0122345
34-
```
35-
36-
* `TEAM`: an object containing team members, referencing the `kerberos` property of PEOPLE. It is a YAML object in the form:
37-
38-
```yaml
39-
user1:
4030
bug_triage: true
4131
leave:
4232
- start: 2024-11-21
4333
end: 2025-02-28
34+
- kerberos: user2
35+
github_handle: ghuser2
36+
jira_name: jirauser2
37+
slack_id: U0122345
4438
```
4539
4640
### Local testing
@@ -67,7 +61,7 @@ Required environment variables:
6761

6862
* `JIRA_TOKEN`: a [Jira API token](https://issues.redhat.com/secure/ViewProfile.jspa?selectedTab=com.atlassian.pats.pats-plugin:jira-user-personal-access-tokens) of an account that can access the OCPBUGS project
6963
* `SLACK_HOOK`: a [Slack hook](https://api.slack.com/messaging/webhooks) URL
70-
* `PEOPLE` and `TEAM` described [above][pretriage].
64+
* `PEOPLE` described [above][pretriage].
7165

7266
## posttriage
7367

@@ -97,4 +91,4 @@ Required environment variables:
9791

9892
* `JIRA_TOKEN`: a [Jira API token](https://issues.redhat.com/secure/ViewProfile.jspa?selectedTab=com.atlassian.pats.pats-plugin:jira-user-personal-access-tokens) of an account that can access the OCPBUGS project
9993
* `SLACK_HOOK`: a [Slack hook](https://api.slack.com/messaging/webhooks) URL
100-
* `PEOPLE` and `TEAM` described [above][pretriage].
94+
* `PEOPLE` described [above][pretriage].

cmd/check/main.go

Lines changed: 1 addition & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -12,26 +12,15 @@ import (
1212

1313
var (
1414
PEOPLE = os.Getenv("PEOPLE")
15-
TEAM = os.Getenv("TEAM")
1615
)
1716

1817
func main() {
19-
people, err := team.Load(strings.NewReader(PEOPLE), strings.NewReader(TEAM))
18+
people, err := team.Load(strings.NewReader(PEOPLE))
2019
if err != nil {
2120
log.Fatalf("Error loading team members: %v", err)
2221
}
2322

2423
fmt.Printf("Found %d people\n", len(people))
25-
26-
{
27-
var count int
28-
for i := range people {
29-
if people[i].TeamMember {
30-
count++
31-
}
32-
}
33-
fmt.Printf("Found %d team members\n", count)
34-
}
3524
}
3625

3726
func init() {
@@ -43,11 +32,6 @@ func init() {
4332
log.Print("Required environment variable not found: PEOPLE")
4433
}
4534

46-
if TEAM == "" {
47-
ex_usage = true
48-
log.Print("Required environment variable not found: TEAM")
49-
}
50-
5135
if ex_usage {
5236
log.Print("Exiting.")
5337
os.Exit(64)

cmd/doctext/main.go

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,6 @@ var (
2020
SLACK_HOOK = os.Getenv("SLACK_HOOK")
2121
JIRA_TOKEN = os.Getenv("JIRA_TOKEN")
2222
PEOPLE = os.Getenv("PEOPLE")
23-
TEAM = os.Getenv("TEAM")
2423
)
2524

2625
func main() {
@@ -29,7 +28,7 @@ func main() {
2928
var people []team.Person
3029
{
3130
var err error
32-
people, err = team.Load(strings.NewReader(PEOPLE), strings.NewReader(TEAM))
31+
people, err = team.Load(strings.NewReader(PEOPLE))
3332
if err != nil {
3433
log.Fatalf("error fetching team information: %v", err)
3534
}
@@ -123,11 +122,6 @@ func init() {
123122
log.Print("Required environment variable not found: PEOPLE")
124123
}
125124

126-
if TEAM == "" {
127-
ex_usage = true
128-
log.Print("Required environment variable not found: TEAM")
129-
}
130-
131125
if ex_usage {
132126
log.Print("Exiting.")
133127
os.Exit(64)

cmd/pretriage/main.go

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,6 @@ var (
2929
SLACK_HOOK = os.Getenv("SLACK_HOOK")
3030
JIRA_TOKEN = os.Getenv("JIRA_TOKEN")
3131
PEOPLE = os.Getenv("PEOPLE")
32-
TEAM = os.Getenv("TEAM")
3332
)
3433

3534
func main() {
@@ -38,7 +37,7 @@ func main() {
3837
var people, triagers []team.Person
3938
{
4039
var err error
41-
people, err = team.Load(strings.NewReader(PEOPLE), strings.NewReader(TEAM))
40+
people, err = team.Load(strings.NewReader(PEOPLE))
4241
if err != nil {
4342
log.Fatalf("error fetching team information: %v", err)
4443
}
@@ -170,11 +169,6 @@ func init() {
170169
log.Print("Required environment variable not found: PEOPLE")
171170
}
172171

173-
if TEAM == "" {
174-
ex_usage = true
175-
log.Print("Required environment variable not found: TEAM")
176-
}
177-
178172
if ex_usage {
179173
log.Print("Exiting.")
180174
os.Exit(64)

cmd/triage/main.go

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,6 @@ var (
2121
SLACK_HOOK = os.Getenv("SLACK_HOOK")
2222
JIRA_TOKEN = os.Getenv("JIRA_TOKEN")
2323
PEOPLE = os.Getenv("PEOPLE")
24-
TEAM = os.Getenv("TEAM")
2524
)
2625

2726
func main() {
@@ -30,7 +29,7 @@ func main() {
3029
var people []team.Person
3130
{
3231
var err error
33-
people, err = team.Load(strings.NewReader(PEOPLE), strings.NewReader(TEAM))
32+
people, err = team.Load(strings.NewReader(PEOPLE))
3433
if err != nil {
3534
log.Fatalf("error fetching team information: %v", err)
3635
}
@@ -109,11 +108,6 @@ func init() {
109108
log.Print("Required environment variable not found: PEOPLE")
110109
}
111110

112-
if TEAM == "" {
113-
ex_usage = true
114-
log.Print("Required environment variable not found: TEAM")
115-
}
116-
117111
if ex_usage {
118112
log.Print("Exiting.")
119113
os.Exit(64)

hack/run_with_env.sh

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,5 @@ check_or_fetch() {
5656
check_or_fetch SLACK_HOOK slack forum-shiftstack
5757
check_or_fetch JIRA_TOKEN bugwatcher jira-token
5858
check_or_fetch PEOPLE team people.yaml
59-
check_or_fetch TEAM team team.yaml
6059

6160
exec "$@"

pkg/team/team.go

Lines changed: 4 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -23,9 +23,8 @@ type Person struct {
2323
Jira string `yaml:"jira_name"`
2424
Slack string `yaml:"slack_id"`
2525

26-
TeamMember bool
27-
BugTriage bool
28-
leave []Leave
26+
BugTriage bool `yaml:"bug_triage,omitempty"`
27+
leave []Leave `yaml:"leave,omitempty"`
2928
}
3029

3130
func (p Person) IsAvailable(t time.Time) bool {
@@ -37,40 +36,17 @@ func (p Person) IsAvailable(t time.Time) bool {
3736
return true
3837
}
3938

40-
func Load(peopleYAML, teamYAML io.Reader) ([]Person, error) {
39+
func Load(peopleYAML io.Reader) ([]Person, error) {
4140
var people []Person
4241
if err := yaml.NewDecoder(peopleYAML).Decode(&people); err != nil {
4342
return nil, fmt.Errorf("error decoding people: %w", err)
4443
}
4544

46-
var team map[string]struct {
47-
BugTriage bool `yaml:"bug_triage"`
48-
Leave []struct {
49-
Start time.Time `yaml:"start"`
50-
End time.Time `yaml:"end"`
51-
} `yaml:"leave"`
52-
}
53-
54-
if err := yaml.NewDecoder(teamYAML).Decode(&team); err != nil {
55-
return nil, fmt.Errorf("error decoding team: %w", err)
56-
}
57-
5845
for i := range people {
5946
// user handles need a prepended `@` when mentioned in the chat
6047
people[i].Slack = "@" + people[i].Slack
61-
62-
if teamMember, ok := team[people[i].Kerberos]; ok {
63-
people[i].TeamMember = true
64-
people[i].BugTriage = teamMember.BugTriage
65-
if len(teamMember.Leave) > 0 {
66-
people[i].leave = make([]Leave, len(teamMember.Leave))
67-
for j := range teamMember.Leave {
68-
people[i].leave[j].Start = teamMember.Leave[j].Start
69-
people[i].leave[j].End = teamMember.Leave[j].End
70-
}
71-
}
72-
}
7348
}
49+
7450
return people, nil
7551
}
7652

0 commit comments

Comments
 (0)