@@ -32,6 +32,7 @@ type UserFieldListOptions struct {
32
32
33
33
type UserFieldAPI interface {
34
34
GetUserFields (ctx context.Context , opts * UserFieldListOptions ) ([]UserField , Page , error )
35
+ CreateUserField (ctx context.Context , userField UserField ) (UserField , error )
35
36
}
36
37
37
38
// GetUserFields fetch trigger list
@@ -64,3 +65,23 @@ func (z *Client) GetUserFields(ctx context.Context, opts *UserFieldListOptions)
64
65
}
65
66
return data .UserFields , data .Page , nil
66
67
}
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