Skip to content

Commit bd144e4

Browse files
committed
Add CreateUserField
1 parent b3a7d08 commit bd144e4

File tree

2 files changed

+36
-0
lines changed

2 files changed

+36
-0
lines changed

zendesk/mock/client.go

Lines changed: 15 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

zendesk/user_field.go

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@ type UserFieldListOptions struct {
3232

3333
type UserFieldAPI interface {
3434
GetUserFields(ctx context.Context, opts *UserFieldListOptions) ([]UserField, Page, error)
35+
CreateUserField(ctx context.Context, userField UserField) (UserField, error)
3536
}
3637

3738
// GetUserFields fetch trigger list
@@ -64,3 +65,23 @@ func (z *Client) GetUserFields(ctx context.Context, opts *UserFieldListOptions)
6465
}
6566
return data.UserFields, data.Page, nil
6667
}
68+
69+
// CreateUserField creates new user field
70+
// ref: https://developer.zendesk.com/api-reference/ticketing/users/user_fields/#create-user-field
71+
func (z *Client) CreateUserField(ctx context.Context, userField UserField) (UserField, error) {
72+
var data, result struct {
73+
UserField UserField `json:"user_field"`
74+
}
75+
data.UserField = userField
76+
77+
body, err := z.post(ctx, "/user_fields.json", data)
78+
if err != nil {
79+
return UserField{}, err
80+
}
81+
82+
err = json.Unmarshal(body, &result)
83+
if err != nil {
84+
return UserField{}, err
85+
}
86+
return result.UserField, nil
87+
}

0 commit comments

Comments
 (0)