diff --git a/features.md b/features.md index f01edb6..fd13d5e 100644 --- a/features.md +++ b/features.md @@ -275,10 +275,10 @@ API 文档:https://open.tapd.cn/document/api-doc/API%E6%96%87%E6%A1%A3/ ### webhook -- [ ] 需求/任务/缺陷类 - - [ ] `story::create` - - [ ] `story::update` - - [ ] `story::delete` +- [x] 需求/任务/缺陷类 + - [x] `story::create` + - [x] `story::update` + - [x] `story::delete` - [x] `task::create` - [x] `task::update` - [x] `task::delete` @@ -286,9 +286,9 @@ API 文档:https://open.tapd.cn/document/api-doc/API%E6%96%87%E6%A1%A3/ - [x] `bug::update` - [x] `bug::delete` - [ ] 评论类:需求/任务/缺陷 - - [ ] `story_comment::add` - - [ ] `story_comment::update` - - [ ] `story_comment::delete` + - [x] `story_comment::add` + - [x] `story_comment::update` + - [x] `story_comment::delete` - [ ] `task_comment::add` - [ ] `task_comment::update` - [ ] `task_comment::delete` diff --git a/webhook/event_bug.go b/webhook/event_bug.go index 0994b53..967647c 100644 --- a/webhook/event_bug.go +++ b/webhook/event_bug.go @@ -352,297 +352,297 @@ type BugUpdateEvent struct { OldCustomField198 string `json:"old_custom_field_198,omitempty"` OldCustomField199 string `json:"old_custom_field_199,omitempty"` OldCustomField200 string `json:"old_custom_field_200,omitempty"` - NewID *string `json:"new_id,omitempty"` - NewSecretRootID *string `json:"new_secret_root_id,omitempty"` - NewSid *string `json:"new_sid,omitempty"` - NewProjectID *string `json:"new_project_id,omitempty"` - NewParentID *string `json:"new_parent_id,omitempty"` - NewTitle *string `json:"new_title,omitempty"` - NewDescription *string `json:"new_description,omitempty"` - NewMarkdownDescription *string `json:"new_markdown_description,omitempty"` - NewDescriptionType *string `json:"new_description_type,omitempty"` - NewModule *string `json:"new_module,omitempty"` - NewMilestone *string `json:"new_milestone,omitempty"` - NewReporter *string `json:"new_reporter,omitempty"` - NewDeadline *string `json:"new_deadline,omitempty"` - NewCreated *string `json:"new_created,omitempty"` - NewResolved *string `json:"new_resolved,omitempty"` - NewClosed *string `json:"new_closed,omitempty"` - NewModified *string `json:"new_modified,omitempty"` - NewLastModify *string `json:"new_lastmodify,omitempty"` - NewAuditer *string `json:"new_auditer,omitempty"` - NewDe *string `json:"new_de,omitempty"` - NewTe *string `json:"new_te,omitempty"` - NewConfirmer *string `json:"new_confirmer,omitempty"` - NewCurrentOwner *string `json:"new_current_owner,omitempty"` - NewParticipator *string `json:"new_participator,omitempty"` - NewCloser *string `json:"new_closer,omitempty"` - NewStatus *string `json:"new_status,omitempty"` - NewResolution *string `json:"new_resolution,omitempty"` - NewPriority *string `json:"new_priority,omitempty"` - NewSeverity *string `json:"new_severity,omitempty"` - NewPlatform *string `json:"new_platform,omitempty"` - NewOs *string `json:"new_os,omitempty"` - NewTestMode *string `json:"new_testmode,omitempty"` - NewTestType *string `json:"new_testtype,omitempty"` - NewTestPhase *string `json:"new_testphase,omitempty"` - NewSource *string `json:"new_source,omitempty"` - NewFrequency *string `json:"new_frequency,omitempty"` - NewCc *string `json:"new_cc,omitempty"` - NewEstimate *string `json:"new_estimate,omitempty"` - NewFlows *string `json:"new_flows,omitempty"` - NewVersionReport *string `json:"new_version_report,omitempty"` - NewVersionTest *string `json:"new_version_test,omitempty"` - NewVersionFix *string `json:"new_version_fix,omitempty"` - NewVersionClose *string `json:"new_version_close,omitempty"` - NewDelayed *string `json:"new_delayed,omitempty"` - NewCustomFieldOne *string `json:"new_custom_field_one,omitempty"` - NewCustomFieldTwo *string `json:"new_custom_field_two,omitempty"` - NewCustomFieldThree *string `json:"new_custom_field_three,omitempty"` - NewCustomFieldFour *string `json:"new_custom_field_four,omitempty"` - NewCustomFieldFive *string `json:"new_custom_field_five,omitempty"` - NewRegressionNumber *string `json:"new_regression_number,omitempty"` - NewIssueID *string `json:"new_issue_id,omitempty"` - NewSupportID *string `json:"new_support_id,omitempty"` - NewSupportForumID *string `json:"new_support_forum_id,omitempty"` - NewCreatedFrom *string `json:"new_created_from,omitempty"` - NewBaselineFind *string `json:"new_baseline_find,omitempty"` - NewBaselineJoin *string `json:"new_baseline_join,omitempty"` - NewBaselineClose *string `json:"new_baseline_close,omitempty"` - NewTicketID *string `json:"new_ticket_id,omitempty"` - NewStoryID *string `json:"new_story_id,omitempty"` - NewBaselineTest *string `json:"new_baseline_test,omitempty"` - NewOriginPhase *string `json:"new_originphase,omitempty"` - NewSourcePhase *string `json:"new_sourcephase,omitempty"` - NewBugType *string `json:"new_bugtype,omitempty"` - NewFeature *string `json:"new_feature,omitempty"` - NewInProgressTime *string `json:"new_in_progress_time,omitempty"` - NewVerifyTime *string `json:"new_verify_time,omitempty"` - NewRejectTime *string `json:"new_reject_time,omitempty"` - NewReopenTime *string `json:"new_reopen_time,omitempty"` - NewAuditTime *string `json:"new_audit_time,omitempty"` - NewSuspendTime *string `json:"new_suspend_time,omitempty"` - NewAssignedTime *string `json:"new_assigned_time,omitempty"` - NewIterationID *string `json:"new_iteration_id,omitempty"` - NewCustomField6 *string `json:"new_custom_field_6,omitempty"` - NewCustomField7 *string `json:"new_custom_field_7,omitempty"` - NewCustomField8 *string `json:"new_custom_field_8,omitempty"` - NewCustomField9 *string `json:"new_custom_field_9,omitempty"` - NewCustomField10 *string `json:"new_custom_field_10,omitempty"` - NewCustomField11 *string `json:"new_custom_field_11,omitempty"` - NewCustomField12 *string `json:"new_custom_field_12,omitempty"` - NewCustomField13 *string `json:"new_custom_field_13,omitempty"` - NewCustomField14 *string `json:"new_custom_field_14,omitempty"` - NewCustomField15 *string `json:"new_custom_field_15,omitempty"` - NewCustomField16 *string `json:"new_custom_field_16,omitempty"` - NewCustomField17 *string `json:"new_custom_field_17,omitempty"` - NewCustomField18 *string `json:"new_custom_field_18,omitempty"` - NewCustomField19 *string `json:"new_custom_field_19,omitempty"` - NewCustomField20 *string `json:"new_custom_field_20,omitempty"` - NewCustomField21 *string `json:"new_custom_field_21,omitempty"` - NewCustomField22 *string `json:"new_custom_field_22,omitempty"` - NewCustomField23 *string `json:"new_custom_field_23,omitempty"` - NewCustomField24 *string `json:"new_custom_field_24,omitempty"` - NewCustomField25 *string `json:"new_custom_field_25,omitempty"` - NewCustomField26 *string `json:"new_custom_field_26,omitempty"` - NewCustomField27 *string `json:"new_custom_field_27,omitempty"` - NewCustomField28 *string `json:"new_custom_field_28,omitempty"` - NewCustomField29 *string `json:"new_custom_field_29,omitempty"` - NewCustomField30 *string `json:"new_custom_field_30,omitempty"` - NewCustomField31 *string `json:"new_custom_field_31,omitempty"` - NewCustomField32 *string `json:"new_custom_field_32,omitempty"` - NewCustomField33 *string `json:"new_custom_field_33,omitempty"` - NewCustomField34 *string `json:"new_custom_field_34,omitempty"` - NewCustomField35 *string `json:"new_custom_field_35,omitempty"` - NewCustomField36 *string `json:"new_custom_field_36,omitempty"` - NewCustomField37 *string `json:"new_custom_field_37,omitempty"` - NewCustomField38 *string `json:"new_custom_field_38,omitempty"` - NewCustomField39 *string `json:"new_custom_field_39,omitempty"` - NewCustomField40 *string `json:"new_custom_field_40,omitempty"` - NewCustomField41 *string `json:"new_custom_field_41,omitempty"` - NewCustomField42 *string `json:"new_custom_field_42,omitempty"` - NewCustomField43 *string `json:"new_custom_field_43,omitempty"` - NewCustomField44 *string `json:"new_custom_field_44,omitempty"` - NewCustomField45 *string `json:"new_custom_field_45,omitempty"` - NewCustomField46 *string `json:"new_custom_field_46,omitempty"` - NewCustomField47 *string `json:"new_custom_field_47,omitempty"` - NewCustomField48 *string `json:"new_custom_field_48,omitempty"` - NewCustomField49 *string `json:"new_custom_field_49,omitempty"` - NewCustomField50 *string `json:"new_custom_field_50,omitempty"` - NewCustomField51 *string `json:"new_custom_field_51,omitempty"` - NewCustomField52 *string `json:"new_custom_field_52,omitempty"` - NewCustomField53 *string `json:"new_custom_field_53,omitempty"` - NewCustomField54 *string `json:"new_custom_field_54,omitempty"` - NewCustomField55 *string `json:"new_custom_field_55,omitempty"` - NewCustomField56 *string `json:"new_custom_field_56,omitempty"` - NewCustomField57 *string `json:"new_custom_field_57,omitempty"` - NewCustomField58 *string `json:"new_custom_field_58,omitempty"` - NewCustomField59 *string `json:"new_custom_field_59,omitempty"` - NewCustomField60 *string `json:"new_custom_field_60,omitempty"` - NewCustomField61 *string `json:"new_custom_field_61,omitempty"` - NewCustomField62 *string `json:"new_custom_field_62,omitempty"` - NewCustomField63 *string `json:"new_custom_field_63,omitempty"` - NewCustomField64 *string `json:"new_custom_field_64,omitempty"` - NewCustomField65 *string `json:"new_custom_field_65,omitempty"` - NewCustomField66 *string `json:"new_custom_field_66,omitempty"` - NewCustomField67 *string `json:"new_custom_field_67,omitempty"` - NewCustomField68 *string `json:"new_custom_field_68,omitempty"` - NewCustomField69 *string `json:"new_custom_field_69,omitempty"` - NewCustomField70 *string `json:"new_custom_field_70,omitempty"` - NewCustomField71 *string `json:"new_custom_field_71,omitempty"` - NewCustomField72 *string `json:"new_custom_field_72,omitempty"` - NewCustomField73 *string `json:"new_custom_field_73,omitempty"` - NewCustomField74 *string `json:"new_custom_field_74,omitempty"` - NewCustomField75 *string `json:"new_custom_field_75,omitempty"` - NewCustomField76 *string `json:"new_custom_field_76,omitempty"` - NewCustomField77 *string `json:"new_custom_field_77,omitempty"` - NewCustomField78 *string `json:"new_custom_field_78,omitempty"` - NewCustomField79 *string `json:"new_custom_field_79,omitempty"` - NewCustomField80 *string `json:"new_custom_field_80,omitempty"` - NewCustomField81 *string `json:"new_custom_field_81,omitempty"` - NewCustomField82 *string `json:"new_custom_field_82,omitempty"` - NewCustomField83 *string `json:"new_custom_field_83,omitempty"` - NewCustomField84 *string `json:"new_custom_field_84,omitempty"` - NewCustomField85 *string `json:"new_custom_field_85,omitempty"` - NewCustomField86 *string `json:"new_custom_field_86,omitempty"` - NewCustomField87 *string `json:"new_custom_field_87,omitempty"` - NewCustomField88 *string `json:"new_custom_field_88,omitempty"` - NewCustomField89 *string `json:"new_custom_field_89,omitempty"` - NewCustomField90 *string `json:"new_custom_field_90,omitempty"` - NewCustomField91 *string `json:"new_custom_field_91,omitempty"` - NewCustomField92 *string `json:"new_custom_field_92,omitempty"` - NewCustomField93 *string `json:"new_custom_field_93,omitempty"` - NewCustomField94 *string `json:"new_custom_field_94,omitempty"` - NewCustomField95 *string `json:"new_custom_field_95,omitempty"` - NewCustomField96 *string `json:"new_custom_field_96,omitempty"` - NewCustomField97 *string `json:"new_custom_field_97,omitempty"` - NewCustomField98 *string `json:"new_custom_field_98,omitempty"` - NewCustomField99 *string `json:"new_custom_field_99,omitempty"` - NewCustomField100 *string `json:"new_custom_field_100,omitempty"` - NewCustomPlanField1 *string `json:"new_custom_plan_field_1,omitempty"` - NewCustomPlanField2 *string `json:"new_custom_plan_field_2,omitempty"` - NewCustomPlanField3 *string `json:"new_custom_plan_field_3,omitempty"` - NewCustomPlanField4 *string `json:"new_custom_plan_field_4,omitempty"` - NewCustomPlanField5 *string `json:"new_custom_plan_field_5,omitempty"` - NewCustomPlanField6 *string `json:"new_custom_plan_field_6,omitempty"` - NewCustomPlanField7 *string `json:"new_custom_plan_field_7,omitempty"` - NewCustomPlanField8 *string `json:"new_custom_plan_field_8,omitempty"` - NewCustomPlanField9 *string `json:"new_custom_plan_field_9,omitempty"` - NewCustomPlanField10 *string `json:"new_custom_plan_field_10,omitempty"` - NewTemplateID *string `json:"new_template_id,omitempty"` - NewBegin *string `json:"new_begin,omitempty"` - NewDue *string `json:"new_due,omitempty"` - NewReleaseID *string `json:"new_release_id,omitempty"` - NewFixer *string `json:"new_fixer,omitempty"` - NewFollower *string `json:"new_follower,omitempty"` - NewSyncType *string `json:"new_sync_type,omitempty"` - NewLabel *string `json:"new_label,omitempty"` - NewEffort *string `json:"new_effort,omitempty"` - NewEffortCompleted *string `json:"new_effort_completed,omitempty"` - NewExceed *string `json:"new_exceed,omitempty"` - NewRemain *string `json:"new_remain,omitempty"` - NewProgress *string `json:"new_progress,omitempty"` - NewSize *string `json:"new_size,omitempty"` - NewCustomField101 *string `json:"new_custom_field_101,omitempty"` - NewCustomField102 *string `json:"new_custom_field_102,omitempty"` - NewCustomField103 *string `json:"new_custom_field_103,omitempty"` - NewCustomField104 *string `json:"new_custom_field_104,omitempty"` - NewCustomField105 *string `json:"new_custom_field_105,omitempty"` - NewCustomField106 *string `json:"new_custom_field_106,omitempty"` - NewCustomField107 *string `json:"new_custom_field_107,omitempty"` - NewCustomField108 *string `json:"new_custom_field_108,omitempty"` - NewCustomField109 *string `json:"new_custom_field_109,omitempty"` - NewCustomField110 *string `json:"new_custom_field_110,omitempty"` - NewCustomField111 *string `json:"new_custom_field_111,omitempty"` - NewCustomField112 *string `json:"new_custom_field_112,omitempty"` - NewCustomField113 *string `json:"new_custom_field_113,omitempty"` - NewCustomField114 *string `json:"new_custom_field_114,omitempty"` - NewCustomField115 *string `json:"new_custom_field_115,omitempty"` - NewCustomField116 *string `json:"new_custom_field_116,omitempty"` - NewCustomField117 *string `json:"new_custom_field_117,omitempty"` - NewCustomField118 *string `json:"new_custom_field_118,omitempty"` - NewCustomField119 *string `json:"new_custom_field_119,omitempty"` - NewCustomField120 *string `json:"new_custom_field_120,omitempty"` - NewCustomField121 *string `json:"new_custom_field_121,omitempty"` - NewCustomField122 *string `json:"new_custom_field_122,omitempty"` - NewCustomField123 *string `json:"new_custom_field_123,omitempty"` - NewCustomField124 *string `json:"new_custom_field_124,omitempty"` - NewCustomField125 *string `json:"new_custom_field_125,omitempty"` - NewCustomField126 *string `json:"new_custom_field_126,omitempty"` - NewCustomField127 *string `json:"new_custom_field_127,omitempty"` - NewCustomField128 *string `json:"new_custom_field_128,omitempty"` - NewCustomField129 *string `json:"new_custom_field_129,omitempty"` - NewCustomField130 *string `json:"new_custom_field_130,omitempty"` - NewCustomField131 *string `json:"new_custom_field_131,omitempty"` - NewCustomField132 *string `json:"new_custom_field_132,omitempty"` - NewCustomField133 *string `json:"new_custom_field_133,omitempty"` - NewCustomField134 *string `json:"new_custom_field_134,omitempty"` - NewCustomField135 *string `json:"new_custom_field_135,omitempty"` - NewCustomField136 *string `json:"new_custom_field_136,omitempty"` - NewCustomField137 *string `json:"new_custom_field_137,omitempty"` - NewCustomField138 *string `json:"new_custom_field_138,omitempty"` - NewCustomField139 *string `json:"new_custom_field_139,omitempty"` - NewCustomField140 *string `json:"new_custom_field_140,omitempty"` - NewCustomField141 *string `json:"new_custom_field_141,omitempty"` - NewCustomField142 *string `json:"new_custom_field_142,omitempty"` - NewCustomField143 *string `json:"new_custom_field_143,omitempty"` - NewCustomField144 *string `json:"new_custom_field_144,omitempty"` - NewCustomField145 *string `json:"new_custom_field_145,omitempty"` - NewCustomField146 *string `json:"new_custom_field_146,omitempty"` - NewCustomField147 *string `json:"new_custom_field_147,omitempty"` - NewCustomField148 *string `json:"new_custom_field_148,omitempty"` - NewCustomField149 *string `json:"new_custom_field_149,omitempty"` - NewCustomField150 *string `json:"new_custom_field_150,omitempty"` - NewCustomField151 *string `json:"new_custom_field_151,omitempty"` - NewCustomField152 *string `json:"new_custom_field_152,omitempty"` - NewCustomField153 *string `json:"new_custom_field_153,omitempty"` - NewCustomField154 *string `json:"new_custom_field_154,omitempty"` - NewCustomField155 *string `json:"new_custom_field_155,omitempty"` - NewCustomField156 *string `json:"new_custom_field_156,omitempty"` - NewCustomField157 *string `json:"new_custom_field_157,omitempty"` - NewCustomField158 *string `json:"new_custom_field_158,omitempty"` - NewCustomField159 *string `json:"new_custom_field_159,omitempty"` - NewCustomField160 *string `json:"new_custom_field_160,omitempty"` - NewCustomField161 *string `json:"new_custom_field_161,omitempty"` - NewCustomField162 *string `json:"new_custom_field_162,omitempty"` - NewCustomField163 *string `json:"new_custom_field_163,omitempty"` - NewCustomField164 *string `json:"new_custom_field_164,omitempty"` - NewCustomField165 *string `json:"new_custom_field_165,omitempty"` - NewCustomField166 *string `json:"new_custom_field_166,omitempty"` - NewCustomField167 *string `json:"new_custom_field_167,omitempty"` - NewCustomField168 *string `json:"new_custom_field_168,omitempty"` - NewCustomField169 *string `json:"new_custom_field_169,omitempty"` - NewCustomField170 *string `json:"new_custom_field_170,omitempty"` - NewCustomField171 *string `json:"new_custom_field_171,omitempty"` - NewCustomField172 *string `json:"new_custom_field_172,omitempty"` - NewCustomField173 *string `json:"new_custom_field_173,omitempty"` - NewCustomField174 *string `json:"new_custom_field_174,omitempty"` - NewCustomField175 *string `json:"new_custom_field_175,omitempty"` - NewCustomField176 *string `json:"new_custom_field_176,omitempty"` - NewCustomField177 *string `json:"new_custom_field_177,omitempty"` - NewCustomField178 *string `json:"new_custom_field_178,omitempty"` - NewCustomField179 *string `json:"new_custom_field_179,omitempty"` - NewCustomField180 *string `json:"new_custom_field_180,omitempty"` - NewCustomField181 *string `json:"new_custom_field_181,omitempty"` - NewCustomField182 *string `json:"new_custom_field_182,omitempty"` - NewCustomField183 *string `json:"new_custom_field_183,omitempty"` - NewCustomField184 *string `json:"new_custom_field_184,omitempty"` - NewCustomField185 *string `json:"new_custom_field_185,omitempty"` - NewCustomField186 *string `json:"new_custom_field_186,omitempty"` - NewCustomField187 *string `json:"new_custom_field_187,omitempty"` - NewCustomField188 *string `json:"new_custom_field_188,omitempty"` - NewCustomField189 *string `json:"new_custom_field_189,omitempty"` - NewCustomField190 *string `json:"new_custom_field_190,omitempty"` - NewCustomField191 *string `json:"new_custom_field_191,omitempty"` - NewCustomField192 *string `json:"new_custom_field_192,omitempty"` - NewCustomField193 *string `json:"new_custom_field_193,omitempty"` - NewCustomField194 *string `json:"new_custom_field_194,omitempty"` - NewCustomField195 *string `json:"new_custom_field_195,omitempty"` - NewCustomField196 *string `json:"new_custom_field_196,omitempty"` - NewCustomField197 *string `json:"new_custom_field_197,omitempty"` - NewCustomField198 *string `json:"new_custom_field_198,omitempty"` - NewCustomField199 *string `json:"new_custom_field_199,omitempty"` - NewCustomField200 *string `json:"new_custom_field_200,omitempty"` + NewID string `json:"new_id,omitempty"` + NewSecretRootID string `json:"new_secret_root_id,omitempty"` + NewSid string `json:"new_sid,omitempty"` + NewProjectID string `json:"new_project_id,omitempty"` + NewParentID string `json:"new_parent_id,omitempty"` + NewTitle string `json:"new_title,omitempty"` + NewDescription string `json:"new_description,omitempty"` + NewMarkdownDescription string `json:"new_markdown_description,omitempty"` + NewDescriptionType string `json:"new_description_type,omitempty"` + NewModule string `json:"new_module,omitempty"` + NewMilestone string `json:"new_milestone,omitempty"` + NewReporter string `json:"new_reporter,omitempty"` + NewDeadline string `json:"new_deadline,omitempty"` + NewCreated string `json:"new_created,omitempty"` + NewResolved string `json:"new_resolved,omitempty"` + NewClosed string `json:"new_closed,omitempty"` + NewModified string `json:"new_modified,omitempty"` + NewLastModify string `json:"new_lastmodify,omitempty"` + NewAuditer string `json:"new_auditer,omitempty"` + NewDe string `json:"new_de,omitempty"` + NewTe string `json:"new_te,omitempty"` + NewConfirmer string `json:"new_confirmer,omitempty"` + NewCurrentOwner string `json:"new_current_owner,omitempty"` + NewParticipator string `json:"new_participator,omitempty"` + NewCloser string `json:"new_closer,omitempty"` + NewStatus string `json:"new_status,omitempty"` + NewResolution string `json:"new_resolution,omitempty"` + NewPriority string `json:"new_priority,omitempty"` + NewSeverity string `json:"new_severity,omitempty"` + NewPlatform string `json:"new_platform,omitempty"` + NewOs string `json:"new_os,omitempty"` + NewTestMode string `json:"new_testmode,omitempty"` + NewTestType string `json:"new_testtype,omitempty"` + NewTestPhase string `json:"new_testphase,omitempty"` + NewSource string `json:"new_source,omitempty"` + NewFrequency string `json:"new_frequency,omitempty"` + NewCc string `json:"new_cc,omitempty"` + NewEstimate string `json:"new_estimate,omitempty"` + NewFlows string `json:"new_flows,omitempty"` + NewVersionReport string `json:"new_version_report,omitempty"` + NewVersionTest string `json:"new_version_test,omitempty"` + NewVersionFix string `json:"new_version_fix,omitempty"` + NewVersionClose string `json:"new_version_close,omitempty"` + NewDelayed string `json:"new_delayed,omitempty"` + NewCustomFieldOne string `json:"new_custom_field_one,omitempty"` + NewCustomFieldTwo string `json:"new_custom_field_two,omitempty"` + NewCustomFieldThree string `json:"new_custom_field_three,omitempty"` + NewCustomFieldFour string `json:"new_custom_field_four,omitempty"` + NewCustomFieldFive string `json:"new_custom_field_five,omitempty"` + NewRegressionNumber string `json:"new_regression_number,omitempty"` + NewIssueID string `json:"new_issue_id,omitempty"` + NewSupportID string `json:"new_support_id,omitempty"` + NewSupportForumID string `json:"new_support_forum_id,omitempty"` + NewCreatedFrom string `json:"new_created_from,omitempty"` + NewBaselineFind string `json:"new_baseline_find,omitempty"` + NewBaselineJoin string `json:"new_baseline_join,omitempty"` + NewBaselineClose string `json:"new_baseline_close,omitempty"` + NewTicketID string `json:"new_ticket_id,omitempty"` + NewStoryID string `json:"new_story_id,omitempty"` + NewBaselineTest string `json:"new_baseline_test,omitempty"` + NewOriginPhase string `json:"new_originphase,omitempty"` + NewSourcePhase string `json:"new_sourcephase,omitempty"` + NewBugType string `json:"new_bugtype,omitempty"` + NewFeature string `json:"new_feature,omitempty"` + NewInProgressTime string `json:"new_in_progress_time,omitempty"` + NewVerifyTime string `json:"new_verify_time,omitempty"` + NewRejectTime string `json:"new_reject_time,omitempty"` + NewReopenTime string `json:"new_reopen_time,omitempty"` + NewAuditTime string `json:"new_audit_time,omitempty"` + NewSuspendTime string `json:"new_suspend_time,omitempty"` + NewAssignedTime string `json:"new_assigned_time,omitempty"` + NewIterationID string `json:"new_iteration_id,omitempty"` + NewCustomField6 string `json:"new_custom_field_6,omitempty"` + NewCustomField7 string `json:"new_custom_field_7,omitempty"` + NewCustomField8 string `json:"new_custom_field_8,omitempty"` + NewCustomField9 string `json:"new_custom_field_9,omitempty"` + NewCustomField10 string `json:"new_custom_field_10,omitempty"` + NewCustomField11 string `json:"new_custom_field_11,omitempty"` + NewCustomField12 string `json:"new_custom_field_12,omitempty"` + NewCustomField13 string `json:"new_custom_field_13,omitempty"` + NewCustomField14 string `json:"new_custom_field_14,omitempty"` + NewCustomField15 string `json:"new_custom_field_15,omitempty"` + NewCustomField16 string `json:"new_custom_field_16,omitempty"` + NewCustomField17 string `json:"new_custom_field_17,omitempty"` + NewCustomField18 string `json:"new_custom_field_18,omitempty"` + NewCustomField19 string `json:"new_custom_field_19,omitempty"` + NewCustomField20 string `json:"new_custom_field_20,omitempty"` + NewCustomField21 string `json:"new_custom_field_21,omitempty"` + NewCustomField22 string `json:"new_custom_field_22,omitempty"` + NewCustomField23 string `json:"new_custom_field_23,omitempty"` + NewCustomField24 string `json:"new_custom_field_24,omitempty"` + NewCustomField25 string `json:"new_custom_field_25,omitempty"` + NewCustomField26 string `json:"new_custom_field_26,omitempty"` + NewCustomField27 string `json:"new_custom_field_27,omitempty"` + NewCustomField28 string `json:"new_custom_field_28,omitempty"` + NewCustomField29 string `json:"new_custom_field_29,omitempty"` + NewCustomField30 string `json:"new_custom_field_30,omitempty"` + NewCustomField31 string `json:"new_custom_field_31,omitempty"` + NewCustomField32 string `json:"new_custom_field_32,omitempty"` + NewCustomField33 string `json:"new_custom_field_33,omitempty"` + NewCustomField34 string `json:"new_custom_field_34,omitempty"` + NewCustomField35 string `json:"new_custom_field_35,omitempty"` + NewCustomField36 string `json:"new_custom_field_36,omitempty"` + NewCustomField37 string `json:"new_custom_field_37,omitempty"` + NewCustomField38 string `json:"new_custom_field_38,omitempty"` + NewCustomField39 string `json:"new_custom_field_39,omitempty"` + NewCustomField40 string `json:"new_custom_field_40,omitempty"` + NewCustomField41 string `json:"new_custom_field_41,omitempty"` + NewCustomField42 string `json:"new_custom_field_42,omitempty"` + NewCustomField43 string `json:"new_custom_field_43,omitempty"` + NewCustomField44 string `json:"new_custom_field_44,omitempty"` + NewCustomField45 string `json:"new_custom_field_45,omitempty"` + NewCustomField46 string `json:"new_custom_field_46,omitempty"` + NewCustomField47 string `json:"new_custom_field_47,omitempty"` + NewCustomField48 string `json:"new_custom_field_48,omitempty"` + NewCustomField49 string `json:"new_custom_field_49,omitempty"` + NewCustomField50 string `json:"new_custom_field_50,omitempty"` + NewCustomField51 string `json:"new_custom_field_51,omitempty"` + NewCustomField52 string `json:"new_custom_field_52,omitempty"` + NewCustomField53 string `json:"new_custom_field_53,omitempty"` + NewCustomField54 string `json:"new_custom_field_54,omitempty"` + NewCustomField55 string `json:"new_custom_field_55,omitempty"` + NewCustomField56 string `json:"new_custom_field_56,omitempty"` + NewCustomField57 string `json:"new_custom_field_57,omitempty"` + NewCustomField58 string `json:"new_custom_field_58,omitempty"` + NewCustomField59 string `json:"new_custom_field_59,omitempty"` + NewCustomField60 string `json:"new_custom_field_60,omitempty"` + NewCustomField61 string `json:"new_custom_field_61,omitempty"` + NewCustomField62 string `json:"new_custom_field_62,omitempty"` + NewCustomField63 string `json:"new_custom_field_63,omitempty"` + NewCustomField64 string `json:"new_custom_field_64,omitempty"` + NewCustomField65 string `json:"new_custom_field_65,omitempty"` + NewCustomField66 string `json:"new_custom_field_66,omitempty"` + NewCustomField67 string `json:"new_custom_field_67,omitempty"` + NewCustomField68 string `json:"new_custom_field_68,omitempty"` + NewCustomField69 string `json:"new_custom_field_69,omitempty"` + NewCustomField70 string `json:"new_custom_field_70,omitempty"` + NewCustomField71 string `json:"new_custom_field_71,omitempty"` + NewCustomField72 string `json:"new_custom_field_72,omitempty"` + NewCustomField73 string `json:"new_custom_field_73,omitempty"` + NewCustomField74 string `json:"new_custom_field_74,omitempty"` + NewCustomField75 string `json:"new_custom_field_75,omitempty"` + NewCustomField76 string `json:"new_custom_field_76,omitempty"` + NewCustomField77 string `json:"new_custom_field_77,omitempty"` + NewCustomField78 string `json:"new_custom_field_78,omitempty"` + NewCustomField79 string `json:"new_custom_field_79,omitempty"` + NewCustomField80 string `json:"new_custom_field_80,omitempty"` + NewCustomField81 string `json:"new_custom_field_81,omitempty"` + NewCustomField82 string `json:"new_custom_field_82,omitempty"` + NewCustomField83 string `json:"new_custom_field_83,omitempty"` + NewCustomField84 string `json:"new_custom_field_84,omitempty"` + NewCustomField85 string `json:"new_custom_field_85,omitempty"` + NewCustomField86 string `json:"new_custom_field_86,omitempty"` + NewCustomField87 string `json:"new_custom_field_87,omitempty"` + NewCustomField88 string `json:"new_custom_field_88,omitempty"` + NewCustomField89 string `json:"new_custom_field_89,omitempty"` + NewCustomField90 string `json:"new_custom_field_90,omitempty"` + NewCustomField91 string `json:"new_custom_field_91,omitempty"` + NewCustomField92 string `json:"new_custom_field_92,omitempty"` + NewCustomField93 string `json:"new_custom_field_93,omitempty"` + NewCustomField94 string `json:"new_custom_field_94,omitempty"` + NewCustomField95 string `json:"new_custom_field_95,omitempty"` + NewCustomField96 string `json:"new_custom_field_96,omitempty"` + NewCustomField97 string `json:"new_custom_field_97,omitempty"` + NewCustomField98 string `json:"new_custom_field_98,omitempty"` + NewCustomField99 string `json:"new_custom_field_99,omitempty"` + NewCustomField100 string `json:"new_custom_field_100,omitempty"` + NewCustomPlanField1 string `json:"new_custom_plan_field_1,omitempty"` + NewCustomPlanField2 string `json:"new_custom_plan_field_2,omitempty"` + NewCustomPlanField3 string `json:"new_custom_plan_field_3,omitempty"` + NewCustomPlanField4 string `json:"new_custom_plan_field_4,omitempty"` + NewCustomPlanField5 string `json:"new_custom_plan_field_5,omitempty"` + NewCustomPlanField6 string `json:"new_custom_plan_field_6,omitempty"` + NewCustomPlanField7 string `json:"new_custom_plan_field_7,omitempty"` + NewCustomPlanField8 string `json:"new_custom_plan_field_8,omitempty"` + NewCustomPlanField9 string `json:"new_custom_plan_field_9,omitempty"` + NewCustomPlanField10 string `json:"new_custom_plan_field_10,omitempty"` + NewTemplateID string `json:"new_template_id,omitempty"` + NewBegin string `json:"new_begin,omitempty"` + NewDue string `json:"new_due,omitempty"` + NewReleaseID string `json:"new_release_id,omitempty"` + NewFixer string `json:"new_fixer,omitempty"` + NewFollower string `json:"new_follower,omitempty"` + NewSyncType string `json:"new_sync_type,omitempty"` + NewLabel string `json:"new_label,omitempty"` + NewEffort string `json:"new_effort,omitempty"` + NewEffortCompleted string `json:"new_effort_completed,omitempty"` + NewExceed string `json:"new_exceed,omitempty"` + NewRemain string `json:"new_remain,omitempty"` + NewProgress string `json:"new_progress,omitempty"` + NewSize string `json:"new_size,omitempty"` + NewCustomField101 string `json:"new_custom_field_101,omitempty"` + NewCustomField102 string `json:"new_custom_field_102,omitempty"` + NewCustomField103 string `json:"new_custom_field_103,omitempty"` + NewCustomField104 string `json:"new_custom_field_104,omitempty"` + NewCustomField105 string `json:"new_custom_field_105,omitempty"` + NewCustomField106 string `json:"new_custom_field_106,omitempty"` + NewCustomField107 string `json:"new_custom_field_107,omitempty"` + NewCustomField108 string `json:"new_custom_field_108,omitempty"` + NewCustomField109 string `json:"new_custom_field_109,omitempty"` + NewCustomField110 string `json:"new_custom_field_110,omitempty"` + NewCustomField111 string `json:"new_custom_field_111,omitempty"` + NewCustomField112 string `json:"new_custom_field_112,omitempty"` + NewCustomField113 string `json:"new_custom_field_113,omitempty"` + NewCustomField114 string `json:"new_custom_field_114,omitempty"` + NewCustomField115 string `json:"new_custom_field_115,omitempty"` + NewCustomField116 string `json:"new_custom_field_116,omitempty"` + NewCustomField117 string `json:"new_custom_field_117,omitempty"` + NewCustomField118 string `json:"new_custom_field_118,omitempty"` + NewCustomField119 string `json:"new_custom_field_119,omitempty"` + NewCustomField120 string `json:"new_custom_field_120,omitempty"` + NewCustomField121 string `json:"new_custom_field_121,omitempty"` + NewCustomField122 string `json:"new_custom_field_122,omitempty"` + NewCustomField123 string `json:"new_custom_field_123,omitempty"` + NewCustomField124 string `json:"new_custom_field_124,omitempty"` + NewCustomField125 string `json:"new_custom_field_125,omitempty"` + NewCustomField126 string `json:"new_custom_field_126,omitempty"` + NewCustomField127 string `json:"new_custom_field_127,omitempty"` + NewCustomField128 string `json:"new_custom_field_128,omitempty"` + NewCustomField129 string `json:"new_custom_field_129,omitempty"` + NewCustomField130 string `json:"new_custom_field_130,omitempty"` + NewCustomField131 string `json:"new_custom_field_131,omitempty"` + NewCustomField132 string `json:"new_custom_field_132,omitempty"` + NewCustomField133 string `json:"new_custom_field_133,omitempty"` + NewCustomField134 string `json:"new_custom_field_134,omitempty"` + NewCustomField135 string `json:"new_custom_field_135,omitempty"` + NewCustomField136 string `json:"new_custom_field_136,omitempty"` + NewCustomField137 string `json:"new_custom_field_137,omitempty"` + NewCustomField138 string `json:"new_custom_field_138,omitempty"` + NewCustomField139 string `json:"new_custom_field_139,omitempty"` + NewCustomField140 string `json:"new_custom_field_140,omitempty"` + NewCustomField141 string `json:"new_custom_field_141,omitempty"` + NewCustomField142 string `json:"new_custom_field_142,omitempty"` + NewCustomField143 string `json:"new_custom_field_143,omitempty"` + NewCustomField144 string `json:"new_custom_field_144,omitempty"` + NewCustomField145 string `json:"new_custom_field_145,omitempty"` + NewCustomField146 string `json:"new_custom_field_146,omitempty"` + NewCustomField147 string `json:"new_custom_field_147,omitempty"` + NewCustomField148 string `json:"new_custom_field_148,omitempty"` + NewCustomField149 string `json:"new_custom_field_149,omitempty"` + NewCustomField150 string `json:"new_custom_field_150,omitempty"` + NewCustomField151 string `json:"new_custom_field_151,omitempty"` + NewCustomField152 string `json:"new_custom_field_152,omitempty"` + NewCustomField153 string `json:"new_custom_field_153,omitempty"` + NewCustomField154 string `json:"new_custom_field_154,omitempty"` + NewCustomField155 string `json:"new_custom_field_155,omitempty"` + NewCustomField156 string `json:"new_custom_field_156,omitempty"` + NewCustomField157 string `json:"new_custom_field_157,omitempty"` + NewCustomField158 string `json:"new_custom_field_158,omitempty"` + NewCustomField159 string `json:"new_custom_field_159,omitempty"` + NewCustomField160 string `json:"new_custom_field_160,omitempty"` + NewCustomField161 string `json:"new_custom_field_161,omitempty"` + NewCustomField162 string `json:"new_custom_field_162,omitempty"` + NewCustomField163 string `json:"new_custom_field_163,omitempty"` + NewCustomField164 string `json:"new_custom_field_164,omitempty"` + NewCustomField165 string `json:"new_custom_field_165,omitempty"` + NewCustomField166 string `json:"new_custom_field_166,omitempty"` + NewCustomField167 string `json:"new_custom_field_167,omitempty"` + NewCustomField168 string `json:"new_custom_field_168,omitempty"` + NewCustomField169 string `json:"new_custom_field_169,omitempty"` + NewCustomField170 string `json:"new_custom_field_170,omitempty"` + NewCustomField171 string `json:"new_custom_field_171,omitempty"` + NewCustomField172 string `json:"new_custom_field_172,omitempty"` + NewCustomField173 string `json:"new_custom_field_173,omitempty"` + NewCustomField174 string `json:"new_custom_field_174,omitempty"` + NewCustomField175 string `json:"new_custom_field_175,omitempty"` + NewCustomField176 string `json:"new_custom_field_176,omitempty"` + NewCustomField177 string `json:"new_custom_field_177,omitempty"` + NewCustomField178 string `json:"new_custom_field_178,omitempty"` + NewCustomField179 string `json:"new_custom_field_179,omitempty"` + NewCustomField180 string `json:"new_custom_field_180,omitempty"` + NewCustomField181 string `json:"new_custom_field_181,omitempty"` + NewCustomField182 string `json:"new_custom_field_182,omitempty"` + NewCustomField183 string `json:"new_custom_field_183,omitempty"` + NewCustomField184 string `json:"new_custom_field_184,omitempty"` + NewCustomField185 string `json:"new_custom_field_185,omitempty"` + NewCustomField186 string `json:"new_custom_field_186,omitempty"` + NewCustomField187 string `json:"new_custom_field_187,omitempty"` + NewCustomField188 string `json:"new_custom_field_188,omitempty"` + NewCustomField189 string `json:"new_custom_field_189,omitempty"` + NewCustomField190 string `json:"new_custom_field_190,omitempty"` + NewCustomField191 string `json:"new_custom_field_191,omitempty"` + NewCustomField192 string `json:"new_custom_field_192,omitempty"` + NewCustomField193 string `json:"new_custom_field_193,omitempty"` + NewCustomField194 string `json:"new_custom_field_194,omitempty"` + NewCustomField195 string `json:"new_custom_field_195,omitempty"` + NewCustomField196 string `json:"new_custom_field_196,omitempty"` + NewCustomField197 string `json:"new_custom_field_197,omitempty"` + NewCustomField198 string `json:"new_custom_field_198,omitempty"` + NewCustomField199 string `json:"new_custom_field_199,omitempty"` + NewCustomField200 string `json:"new_custom_field_200,omitempty"` ChangeFields string `json:"change_fields,omitempty"` Secret string `json:"secret,omitempty"` RioToken string `json:"rio_token,omitempty"` diff --git a/webhook/event_bug_test.go b/webhook/event_bug_test.go index 4e73c5a..20ed524 100644 --- a/webhook/event_bug_test.go +++ b/webhook/event_bug_test.go @@ -143,19 +143,19 @@ func TestBugEvent_BugUpdateEvent(t *testing.T) { assert.Equal(t, "", event.OldFixer) assert.Equal(t, "", event.OldCustomField199) assert.Equal(t, "", event.OldCustomField200) - assert.Nil(t, event.NewID) - assert.Nil(t, event.NewSecretRootID) - assert.Nil(t, event.NewSid) - assert.Nil(t, event.NewProjectID) - assert.Nil(t, event.NewParentID) - assert.Equal(t, "123222", *event.NewTitle) - assert.Nil(t, event.NewDescription) - assert.Nil(t, event.NewClosed) - assert.Equal(t, "2024-12-30 18:25:09", *event.NewModified) - assert.Nil(t, event.NewLastModify) - assert.Nil(t, event.NewAuditer) - assert.Nil(t, event.NewDe) - assert.Nil(t, event.NewCustomFieldFive) + assert.Empty(t, event.NewID) + assert.Empty(t, event.NewSecretRootID) + assert.Empty(t, event.NewSid) + assert.Empty(t, event.NewProjectID) + assert.Empty(t, event.NewParentID) + assert.Equal(t, "123222", event.NewTitle) + assert.Empty(t, event.NewDescription) + assert.Empty(t, event.NewClosed) + assert.Equal(t, "2024-12-30 18:25:09", event.NewModified) + assert.Empty(t, event.NewLastModify) + assert.Empty(t, event.NewAuditer) + assert.Empty(t, event.NewDe) + assert.Empty(t, event.NewCustomFieldFive) assert.Equal(t, "title,modified", event.ChangeFields) } diff --git a/webhook/event_iteration.go b/webhook/event_iteration.go index 7830ad7..2b8a173 100644 --- a/webhook/event_iteration.go +++ b/webhook/event_iteration.go @@ -130,102 +130,102 @@ type IterationUpdateEvent struct { OldCustomField48 string `json:"old_custom_field_48,omitempty"` OldCustomField49 string `json:"old_custom_field_49,omitempty"` OldCustomField50 string `json:"old_custom_field_50,omitempty"` - NewID *string `json:"new_id,omitempty"` - NewSort *string `json:"new_sort,omitempty"` - NewWorkitemTypeID *string `json:"new_workitem_type_id,omitempty"` - NewEntityType *string `json:"new_entity_type,omitempty"` - NewReleaseID *string `json:"new_release_id,omitempty"` - NewWorkspaceID *string `json:"new_workspace_id,omitempty"` - NewPlanAppID *string `json:"new_plan_app_id,omitempty"` - NewName *string `json:"new_name,omitempty"` - NewDescription *string `json:"new_description,omitempty"` - NewMarkdownDescription *string `json:"new_markdown_description,omitempty"` - NewDescriptionType *string `json:"new_description_type,omitempty"` - NewStartDate *string `json:"new_startdate,omitempty"` - NewStories *string `json:"new_stories,omitempty"` - NewEndDate *string `json:"new_enddate,omitempty"` - NewBugs *string `json:"new_bugs,omitempty"` - NewEffortTotalCompleted *string `json:"new_effort_total_completed,omitempty"` - NewEffortTotal *string `json:"new_effort_total,omitempty"` - NewDuration *string `json:"new_duration,omitempty"` - NewVelocity *string `json:"new_velocity,omitempty"` - NewCreator *string `json:"new_creator,omitempty"` - NewModifier *string `json:"new_modifier,omitempty"` - NewColor *string `json:"new_color,omitempty"` - NewIcon *string `json:"new_icon,omitempty"` - NewLine *string `json:"new_line,omitempty"` - NewCreated *string `json:"new_created,omitempty"` - NewModified *string `json:"new_modified,omitempty"` - NewParentID *string `json:"new_parent_id,omitempty"` - NewAncestorID *string `json:"new_ancestor_id,omitempty"` - NewPath *string `json:"new_path,omitempty"` - NewCompleted *string `json:"new_completed,omitempty"` - NewReleaseOwner *string `json:"new_releaseowner,omitempty"` - NewLaunchDate *string `json:"new_launchdate,omitempty"` - NewNotice *string `json:"new_notice,omitempty"` - NewStatus *string `json:"new_status,omitempty"` - NewIsDelay *string `json:"new_isdelay,omitempty"` - NewReleaseName *string `json:"new_releasename,omitempty"` - NewEstimatedPoints *string `json:"new_estimated_points,omitempty"` - NewTemplatedID *string `json:"new_templated_id,omitempty"` - NewIsTop *string `json:"new_is_top,omitempty"` - NewTopTime *string `json:"new_top_time,omitempty"` - NewDashboardSetting *string `json:"new_dashboard_setting,omitempty"` - NewCreatedFrom *string `json:"new_created_from,omitempty"` - NewLockInfo *string `json:"new_lock_info,omitempty"` - NewLocker *string `json:"new_locker,omitempty"` - NewCrucialMoment *string `json:"new_crucial_moment,omitempty"` - NewLabel *string `json:"new_label,omitempty"` - NewCustomField1 *string `json:"new_custom_field_1,omitempty"` - NewCustomField2 *string `json:"new_custom_field_2,omitempty"` - NewCustomField3 *string `json:"new_custom_field_3,omitempty"` - NewCustomField4 *string `json:"new_custom_field_4,omitempty"` - NewCustomField5 *string `json:"new_custom_field_5,omitempty"` - NewCustomField6 *string `json:"new_custom_field_6,omitempty"` - NewCustomField7 *string `json:"new_custom_field_7,omitempty"` - NewCustomField8 *string `json:"new_custom_field_8,omitempty"` - NewCustomField9 *string `json:"new_custom_field_9,omitempty"` - NewCustomField10 *string `json:"new_custom_field_10,omitempty"` - NewCustomField11 *string `json:"new_custom_field_11,omitempty"` - NewCustomField12 *string `json:"new_custom_field_12,omitempty"` - NewCustomField13 *string `json:"new_custom_field_13,omitempty"` - NewCustomField14 *string `json:"new_custom_field_14,omitempty"` - NewCustomField15 *string `json:"new_custom_field_15,omitempty"` - NewCustomField16 *string `json:"new_custom_field_16,omitempty"` - NewCustomField17 *string `json:"new_custom_field_17,omitempty"` - NewCustomField18 *string `json:"new_custom_field_18,omitempty"` - NewCustomField19 *string `json:"new_custom_field_19,omitempty"` - NewCustomField20 *string `json:"new_custom_field_20,omitempty"` - NewCustomField21 *string `json:"new_custom_field_21,omitempty"` - NewCustomField22 *string `json:"new_custom_field_22,omitempty"` - NewCustomField23 *string `json:"new_custom_field_23,omitempty"` - NewCustomField24 *string `json:"new_custom_field_24,omitempty"` - NewCustomField25 *string `json:"new_custom_field_25,omitempty"` - NewCustomField26 *string `json:"new_custom_field_26,omitempty"` - NewCustomField27 *string `json:"new_custom_field_27,omitempty"` - NewCustomField28 *string `json:"new_custom_field_28,omitempty"` - NewCustomField29 *string `json:"new_custom_field_29,omitempty"` - NewCustomField30 *string `json:"new_custom_field_30,omitempty"` - NewCustomField31 *string `json:"new_custom_field_31,omitempty"` - NewCustomField32 *string `json:"new_custom_field_32,omitempty"` - NewCustomField33 *string `json:"new_custom_field_33,omitempty"` - NewCustomField34 *string `json:"new_custom_field_34,omitempty"` - NewCustomField35 *string `json:"new_custom_field_35,omitempty"` - NewCustomField36 *string `json:"new_custom_field_36,omitempty"` - NewCustomField37 *string `json:"new_custom_field_37,omitempty"` - NewCustomField38 *string `json:"new_custom_field_38,omitempty"` - NewCustomField39 *string `json:"new_custom_field_39,omitempty"` - NewCustomField40 *string `json:"new_custom_field_40,omitempty"` - NewCustomField41 *string `json:"new_custom_field_41,omitempty"` - NewCustomField42 *string `json:"new_custom_field_42,omitempty"` - NewCustomField43 *string `json:"new_custom_field_43,omitempty"` - NewCustomField44 *string `json:"new_custom_field_44,omitempty"` - NewCustomField45 *string `json:"new_custom_field_45,omitempty"` - NewCustomField46 *string `json:"new_custom_field_46,omitempty"` - NewCustomField47 *string `json:"new_custom_field_47,omitempty"` - NewCustomField48 *string `json:"new_custom_field_48,omitempty"` - NewCustomField49 *string `json:"new_custom_field_49,omitempty"` - NewCustomField50 *string `json:"new_custom_field_50,omitempty"` + NewID string `json:"new_id,omitempty"` + NewSort string `json:"new_sort,omitempty"` + NewWorkitemTypeID string `json:"new_workitem_type_id,omitempty"` + NewEntityType string `json:"new_entity_type,omitempty"` + NewReleaseID string `json:"new_release_id,omitempty"` + NewWorkspaceID string `json:"new_workspace_id,omitempty"` + NewPlanAppID string `json:"new_plan_app_id,omitempty"` + NewName string `json:"new_name,omitempty"` + NewDescription string `json:"new_description,omitempty"` + NewMarkdownDescription string `json:"new_markdown_description,omitempty"` + NewDescriptionType string `json:"new_description_type,omitempty"` + NewStartDate string `json:"new_startdate,omitempty"` + NewStories string `json:"new_stories,omitempty"` + NewEndDate string `json:"new_enddate,omitempty"` + NewBugs string `json:"new_bugs,omitempty"` + NewEffortTotalCompleted string `json:"new_effort_total_completed,omitempty"` + NewEffortTotal string `json:"new_effort_total,omitempty"` + NewDuration string `json:"new_duration,omitempty"` + NewVelocity string `json:"new_velocity,omitempty"` + NewCreator string `json:"new_creator,omitempty"` + NewModifier string `json:"new_modifier,omitempty"` + NewColor string `json:"new_color,omitempty"` + NewIcon string `json:"new_icon,omitempty"` + NewLine string `json:"new_line,omitempty"` + NewCreated string `json:"new_created,omitempty"` + NewModified string `json:"new_modified,omitempty"` + NewParentID string `json:"new_parent_id,omitempty"` + NewAncestorID string `json:"new_ancestor_id,omitempty"` + NewPath string `json:"new_path,omitempty"` + NewCompleted string `json:"new_completed,omitempty"` + NewReleaseOwner string `json:"new_releaseowner,omitempty"` + NewLaunchDate string `json:"new_launchdate,omitempty"` + NewNotice string `json:"new_notice,omitempty"` + NewStatus string `json:"new_status,omitempty"` + NewIsDelay string `json:"new_isdelay,omitempty"` + NewReleaseName string `json:"new_releasename,omitempty"` + NewEstimatedPoints string `json:"new_estimated_points,omitempty"` + NewTemplatedID string `json:"new_templated_id,omitempty"` + NewIsTop string `json:"new_is_top,omitempty"` + NewTopTime string `json:"new_top_time,omitempty"` + NewDashboardSetting string `json:"new_dashboard_setting,omitempty"` + NewCreatedFrom string `json:"new_created_from,omitempty"` + NewLockInfo string `json:"new_lock_info,omitempty"` + NewLocker string `json:"new_locker,omitempty"` + NewCrucialMoment string `json:"new_crucial_moment,omitempty"` + NewLabel string `json:"new_label,omitempty"` + NewCustomField1 string `json:"new_custom_field_1,omitempty"` + NewCustomField2 string `json:"new_custom_field_2,omitempty"` + NewCustomField3 string `json:"new_custom_field_3,omitempty"` + NewCustomField4 string `json:"new_custom_field_4,omitempty"` + NewCustomField5 string `json:"new_custom_field_5,omitempty"` + NewCustomField6 string `json:"new_custom_field_6,omitempty"` + NewCustomField7 string `json:"new_custom_field_7,omitempty"` + NewCustomField8 string `json:"new_custom_field_8,omitempty"` + NewCustomField9 string `json:"new_custom_field_9,omitempty"` + NewCustomField10 string `json:"new_custom_field_10,omitempty"` + NewCustomField11 string `json:"new_custom_field_11,omitempty"` + NewCustomField12 string `json:"new_custom_field_12,omitempty"` + NewCustomField13 string `json:"new_custom_field_13,omitempty"` + NewCustomField14 string `json:"new_custom_field_14,omitempty"` + NewCustomField15 string `json:"new_custom_field_15,omitempty"` + NewCustomField16 string `json:"new_custom_field_16,omitempty"` + NewCustomField17 string `json:"new_custom_field_17,omitempty"` + NewCustomField18 string `json:"new_custom_field_18,omitempty"` + NewCustomField19 string `json:"new_custom_field_19,omitempty"` + NewCustomField20 string `json:"new_custom_field_20,omitempty"` + NewCustomField21 string `json:"new_custom_field_21,omitempty"` + NewCustomField22 string `json:"new_custom_field_22,omitempty"` + NewCustomField23 string `json:"new_custom_field_23,omitempty"` + NewCustomField24 string `json:"new_custom_field_24,omitempty"` + NewCustomField25 string `json:"new_custom_field_25,omitempty"` + NewCustomField26 string `json:"new_custom_field_26,omitempty"` + NewCustomField27 string `json:"new_custom_field_27,omitempty"` + NewCustomField28 string `json:"new_custom_field_28,omitempty"` + NewCustomField29 string `json:"new_custom_field_29,omitempty"` + NewCustomField30 string `json:"new_custom_field_30,omitempty"` + NewCustomField31 string `json:"new_custom_field_31,omitempty"` + NewCustomField32 string `json:"new_custom_field_32,omitempty"` + NewCustomField33 string `json:"new_custom_field_33,omitempty"` + NewCustomField34 string `json:"new_custom_field_34,omitempty"` + NewCustomField35 string `json:"new_custom_field_35,omitempty"` + NewCustomField36 string `json:"new_custom_field_36,omitempty"` + NewCustomField37 string `json:"new_custom_field_37,omitempty"` + NewCustomField38 string `json:"new_custom_field_38,omitempty"` + NewCustomField39 string `json:"new_custom_field_39,omitempty"` + NewCustomField40 string `json:"new_custom_field_40,omitempty"` + NewCustomField41 string `json:"new_custom_field_41,omitempty"` + NewCustomField42 string `json:"new_custom_field_42,omitempty"` + NewCustomField43 string `json:"new_custom_field_43,omitempty"` + NewCustomField44 string `json:"new_custom_field_44,omitempty"` + NewCustomField45 string `json:"new_custom_field_45,omitempty"` + NewCustomField46 string `json:"new_custom_field_46,omitempty"` + NewCustomField47 string `json:"new_custom_field_47,omitempty"` + NewCustomField48 string `json:"new_custom_field_48,omitempty"` + NewCustomField49 string `json:"new_custom_field_49,omitempty"` + NewCustomField50 string `json:"new_custom_field_50,omitempty"` ChangeFields string `json:"change_fields,omitempty"` Secret string `json:"secret,omitempty"` RioToken string `json:"rio_token,omitempty"` diff --git a/webhook/event_iteration_test.go b/webhook/event_iteration_test.go index 901960b..d96a4af 100644 --- a/webhook/event_iteration_test.go +++ b/webhook/event_iteration_test.go @@ -49,7 +49,7 @@ func TestIterationEvent_IterationUpdateEvent(t *testing.T) { assert.Equal(t, "0", event.OldSort) assert.Equal(t, "111112223001000128", event.OldWorkitemTypeID) assert.Equal(t, "iteration", event.OldEntityType) - assert.Nil(t, event.NewCustomField47) + assert.Empty(t, event.NewCustomField47) assert.Equal(t, "sort,ancestor_id,path,modified", event.ChangeFields) assert.Equal(t, "318950437", event.QueueID) } diff --git a/webhook/event_story.go b/webhook/event_story.go index 7db1329..e61f3aa 100644 --- a/webhook/event_story.go +++ b/webhook/event_story.go @@ -2,266 +2,667 @@ package webhook // StoryCreateEvent represents the story create event. type StoryCreateEvent struct { - Event EventType `json:"event,omitempty"` - EventFrom string `json:"event_from,omitempty"` - Referer string `json:"referer,omitempty"` - WorkspaceID string `json:"workspace_id,omitempty"` - CurrentUser string `json:"current_user,omitempty"` - ID string `json:"id,omitempty"` - Name string `json:"name,omitempty"` - Description string `json:"description,omitempty"` - DescriptionType string `json:"description_type,omitempty"` - Owner string `json:"owner,omitempty"` - Begin string `json:"begin,omitempty"` - Due string `json:"due,omitempty"` - Creator string `json:"creator,omitempty"` - Priority string `json:"priority,omitempty"` - WorkitemTypeID string `json:"workitem_type_id,omitempty"` - Status string `json:"status,omitempty"` - TemplatedID string `json:"templated_id,omitempty"` - EntityType string `json:"entity_type,omitempty"` - Remain string `json:"remain,omitempty"` - ParentID string `json:"parent_id,omitempty"` - AncestorID string `json:"ancestor_id,omitempty"` - ChildrenID string `json:"children_id,omitempty"` - Secret string `json:"secret,omitempty"` - RioToken string `json:"rio_token,omitempty"` - DevProxyHost string `json:"devproxy_host,omitempty"` - QueueID string `json:"queue_id,omitempty"` - EventID string `json:"event_id,omitempty"` - Created string `json:"created,omitempty"` + Event EventType `json:"event,omitempty"` + EventFrom string `json:"event_from,omitempty"` + Referer string `json:"referer,omitempty"` + WorkspaceID string `json:"workspace_id,omitempty"` + CurrentUser string `json:"current_user,omitempty"` + ID string `json:"id,omitempty"` + Name string `json:"name,omitempty"` + Description string `json:"description,omitempty"` + DescriptionType string `json:"description_type,omitempty"` + Owner string `json:"owner,omitempty"` + Begin string `json:"begin,omitempty"` + Due string `json:"due,omitempty"` + Creator string `json:"creator,omitempty"` + Priority string `json:"priority,omitempty"` + WorkitemTypeID string `json:"workitem_type_id,omitempty"` + Status string `json:"status,omitempty"` + TemplatedID string `json:"templated_id,omitempty"` + EntityType string `json:"entity_type,omitempty"` + Remain string `json:"remain,omitempty"` + ParentID string `json:"parent_id,omitempty"` + AncestorID string `json:"ancestor_id,omitempty"` + ChildrenID string `json:"children_id,omitempty"` + Secret string `json:"secret,omitempty"` + RioToken string `json:"rio_token,omitempty"` + CustomFieldOne string `json:"custom_field_one,omitempty"` + CustomFieldTwo string `json:"custom_field_two,omitempty"` + CustomFieldThree string `json:"custom_field_three,omitempty"` + CustomFieldFour string `json:"custom_field_four,omitempty"` + CustomFieldFive string `json:"custom_field_five,omitempty"` + CustomFieldSix string `json:"custom_field_six,omitempty"` + CustomFieldSeven string `json:"custom_field_seven,omitempty"` + CustomFieldEight string `json:"custom_field_eight,omitempty"` + CustomField9 string `json:"custom_field_9,omitempty"` + CustomField10 string `json:"custom_field_10,omitempty"` + CustomField11 string `json:"custom_field_11,omitempty"` + CustomField12 string `json:"custom_field_12,omitempty"` + CustomField13 string `json:"custom_field_13,omitempty"` + CustomField14 string `json:"custom_field_14,omitempty"` + CustomField15 string `json:"custom_field_15,omitempty"` + CustomField16 string `json:"custom_field_16,omitempty"` + CustomField17 string `json:"custom_field_17,omitempty"` + CustomField18 string `json:"custom_field_18,omitempty"` + CustomField19 string `json:"custom_field_19,omitempty"` + CustomField20 string `json:"custom_field_20,omitempty"` + CustomField21 string `json:"custom_field_21,omitempty"` + CustomField22 string `json:"custom_field_22,omitempty"` + CustomField23 string `json:"custom_field_23,omitempty"` + CustomField24 string `json:"custom_field_24,omitempty"` + CustomField25 string `json:"custom_field_25,omitempty"` + CustomField26 string `json:"custom_field_26,omitempty"` + CustomField27 string `json:"custom_field_27,omitempty"` + CustomField28 string `json:"custom_field_28,omitempty"` + CustomField29 string `json:"custom_field_29,omitempty"` + CustomField30 string `json:"custom_field_30,omitempty"` + CustomField31 string `json:"custom_field_31,omitempty"` + CustomField32 string `json:"custom_field_32,omitempty"` + CustomField33 string `json:"custom_field_33,omitempty"` + CustomField34 string `json:"custom_field_34,omitempty"` + CustomField35 string `json:"custom_field_35,omitempty"` + CustomField36 string `json:"custom_field_36,omitempty"` + CustomField37 string `json:"custom_field_37,omitempty"` + CustomField38 string `json:"custom_field_38,omitempty"` + CustomField39 string `json:"custom_field_39,omitempty"` + CustomField40 string `json:"custom_field_40,omitempty"` + CustomField41 string `json:"custom_field_41,omitempty"` + CustomField42 string `json:"custom_field_42,omitempty"` + CustomField43 string `json:"custom_field_43,omitempty"` + CustomField44 string `json:"custom_field_44,omitempty"` + CustomField45 string `json:"custom_field_45,omitempty"` + CustomField46 string `json:"custom_field_46,omitempty"` + CustomField47 string `json:"custom_field_47,omitempty"` + CustomField48 string `json:"custom_field_48,omitempty"` + CustomField49 string `json:"custom_field_49,omitempty"` + CustomField50 string `json:"custom_field_50,omitempty"` + CustomPlanField1 string `json:"custom_plan_field_1,omitempty"` + CustomPlanField2 string `json:"custom_plan_field_2,omitempty"` + CustomPlanField3 string `json:"custom_plan_field_3,omitempty"` + CustomPlanField4 string `json:"custom_plan_field_4,omitempty"` + CustomPlanField5 string `json:"custom_plan_field_5,omitempty"` + CustomPlanField6 string `json:"custom_plan_field_6,omitempty"` + CustomPlanField7 string `json:"custom_plan_field_7,omitempty"` + CustomPlanField8 string `json:"custom_plan_field_8,omitempty"` + CustomPlanField9 string `json:"custom_plan_field_9,omitempty"` + CustomPlanField10 string `json:"custom_plan_field_10,omitempty"` + DevProxyHost string `json:"devproxy_host,omitempty"` + QueueID string `json:"queue_id,omitempty"` + EventID string `json:"event_id,omitempty"` + Created string `json:"created,omitempty"` } // StoryUpdateEvent represents the story update event. type StoryUpdateEvent struct { - Event EventType `json:"event,omitempty"` - EventFrom string `json:"event_from,omitempty"` - Referer string `json:"referer,omitempty"` - WorkspaceID string `json:"workspace_id,omitempty"` - CurrentUser string `json:"current_user,omitempty"` - ID string `json:"id,omitempty"` - ChangeFields ChangeFields `json:"change_fields,omitempty"` - Secret string `json:"secret,omitempty"` - RioToken string `json:"rio_token,omitempty"` - DevProxyHost string `json:"devproxy_host,omitempty"` - QueueID string `json:"queue_id,omitempty"` - EventID string `json:"event_id,omitempty"` - Created string `json:"created,omitempty"` - - StoryUpdateEventOldFields - StoryUpdateEventNewFields -} - -type StoryUpdateEventOldFields struct { - ID *string `json:"old_id,omitempty"` - Name *string `json:"old_name,omitempty"` - Description *string `json:"old_description,omitempty"` - MarkdownDescription *string `json:"old_markdown_description,omitempty"` - DescriptionType *string `json:"old_description_type,omitempty"` - Creator *string `json:"old_creator,omitempty"` - Created *string `json:"old_created,omitempty"` - Modified *string `json:"old_modified,omitempty"` - ParentID *string `json:"old_parent_id,omitempty"` - ChildrenID *string `json:"old_children_id,omitempty"` - AncestorID *string `json:"old_ancestor_id,omitempty"` - Path *string `json:"old_path,omitempty"` - Level *string `json:"old_level,omitempty"` - WorkspaceID *string `json:"old_workspace_id,omitempty"` - Status *string `json:"old_status,omitempty"` - Flows *string `json:"old_flows,omitempty"` - Priority *string `json:"old_priority,omitempty"` - Owner *string `json:"old_owner,omitempty"` - Cc *string `json:"old_cc,omitempty"` - Begin *string `json:"old_begin,omitempty"` - Due *string `json:"old_due,omitempty"` - Source *string `json:"old_source,omitempty"` - WorkitemID *string `json:"old_workitem_id,omitempty"` - StoryID *string `json:"old_story_id,omitempty"` - IterationID *string `json:"old_iteration_id,omitempty"` - SubStrace *string `json:"old_substrace,omitempty"` - Completed *string `json:"old_completed,omitempty"` - Effort *string `json:"old_effort,omitempty"` - EffortCompleted *string `json:"old_effort_completed,omitempty"` - EffortTotal *string `json:"old_effort_total,omitempty"` - Exceed *string `json:"old_exceed,omitempty"` - Remain *string `json:"old_remain,omitempty"` - Progress *string `json:"old_progress,omitempty"` - EntityType *string `json:"old_entity_type,omitempty"` - CustomFieldOne *string `json:"old_custom_field_one,omitempty"` - CustomFieldTwo *string `json:"old_custom_field_two,omitempty"` - CustomFieldThree *string `json:"old_custom_field_three,omitempty"` - CustomFieldFour *string `json:"old_custom_field_four,omitempty"` - CustomFieldFive *string `json:"old_custom_field_five,omitempty"` - CustomFieldSix *string `json:"old_custom_field_six,omitempty"` - CustomFieldSeven *string `json:"old_custom_field_seven,omitempty"` - CustomFieldEight *string `json:"old_custom_field_eight,omitempty"` - CustomField9 *string `json:"old_custom_field_9,omitempty"` - CustomField10 *string `json:"old_custom_field_10,omitempty"` - CustomField11 *string `json:"old_custom_field_11,omitempty"` - CustomField12 *string `json:"old_custom_field_12,omitempty"` - CustomField13 *string `json:"old_custom_field_13,omitempty"` - CustomField14 *string `json:"old_custom_field_14,omitempty"` - CustomField15 *string `json:"old_custom_field_15,omitempty"` - CustomField16 *string `json:"old_custom_field_16,omitempty"` - CustomField17 *string `json:"old_custom_field_17,omitempty"` - CustomField18 *string `json:"old_custom_field_18,omitempty"` - CustomField19 *string `json:"old_custom_field_19,omitempty"` - CustomField20 *string `json:"old_custom_field_20,omitempty"` - CustomField21 *string `json:"old_custom_field_21,omitempty"` - CustomField22 *string `json:"old_custom_field_22,omitempty"` - CustomField23 *string `json:"old_custom_field_23,omitempty"` - CustomField24 *string `json:"old_custom_field_24,omitempty"` - CustomField25 *string `json:"old_custom_field_25,omitempty"` - CustomField26 *string `json:"old_custom_field_26,omitempty"` - CustomField27 *string `json:"old_custom_field_27,omitempty"` - CustomField28 *string `json:"old_custom_field_28,omitempty"` - CustomField29 *string `json:"old_custom_field_29,omitempty"` - CustomField30 *string `json:"old_custom_field_30,omitempty"` - CustomField31 *string `json:"old_custom_field_31,omitempty"` - CustomField32 *string `json:"old_custom_field_32,omitempty"` - CustomField33 *string `json:"old_custom_field_33,omitempty"` - CustomField34 *string `json:"old_custom_field_34,omitempty"` - CustomField35 *string `json:"old_custom_field_35,omitempty"` - CustomField36 *string `json:"old_custom_field_36,omitempty"` - CustomField37 *string `json:"old_custom_field_37,omitempty"` - CustomField38 *string `json:"old_custom_field_38,omitempty"` - CustomField39 *string `json:"old_custom_field_39,omitempty"` - CustomField40 *string `json:"old_custom_field_40,omitempty"` - CustomField41 *string `json:"old_custom_field_41,omitempty"` - CustomField42 *string `json:"old_custom_field_42,omitempty"` - CustomField43 *string `json:"old_custom_field_43,omitempty"` - CustomField44 *string `json:"old_custom_field_44,omitempty"` - CustomField45 *string `json:"old_custom_field_45,omitempty"` - CustomField46 *string `json:"old_custom_field_46,omitempty"` - CustomField47 *string `json:"old_custom_field_47,omitempty"` - CustomField48 *string `json:"old_custom_field_48,omitempty"` - CustomField49 *string `json:"old_custom_field_49,omitempty"` - CustomField50 *string `json:"old_custom_field_50,omitempty"` - CustomPlanField1 *string `json:"old_custom_plan_field_1,omitempty"` - CustomPlanField2 *string `json:"old_custom_plan_field_2,omitempty"` - CustomPlanField3 *string `json:"old_custom_plan_field_3,omitempty"` - CustomPlanField4 *string `json:"old_custom_plan_field_4,omitempty"` - CustomPlanField5 *string `json:"old_custom_plan_field_5,omitempty"` - CustomPlanField6 *string `json:"old_custom_plan_field_6,omitempty"` - CustomPlanField7 *string `json:"old_custom_plan_field_7,omitempty"` - CustomPlanField8 *string `json:"old_custom_plan_field_8,omitempty"` - CustomPlanField9 *string `json:"old_custom_plan_field_9,omitempty"` - CustomPlanField10 *string `json:"old_custom_plan_field_10,omitempty"` - AttachmentCount *string `json:"old_attachment_count,omitempty"` - HasAttachment *string `json:"old_has_attachment,omitempty"` - Follower *string `json:"old_follower,omitempty"` - CreatedFrom *string `json:"old_created_from,omitempty"` - PredecessorCount *string `json:"old_predecessor_count,omitempty"` - SuccessorCount *string `json:"old_successor_count,omitempty"` - ReleaseID *string `json:"old_release_id,omitempty"` - Label *string `json:"old_label,omitempty"` - NewStoryID *string `json:"old_new_story_id,omitempty"` -} - -type StoryUpdateEventNewFields struct { - ID *string `json:"new_id,omitempty"` - Name *string `json:"new_name,omitempty"` - Description *string `json:"new_description,omitempty"` - MarkdownDescription *string `json:"new_markdown_description,omitempty"` - DescriptionType *string `json:"new_description_type,omitempty"` - Creator *string `json:"new_creator,omitempty"` - Created *string `json:"new_created,omitempty"` - Modified *string `json:"new_modified,omitempty"` - ParentID *string `json:"new_parent_id,omitempty"` - ChildrenID *string `json:"new_children_id,omitempty"` - AncestorID *string `json:"new_ancestor_id,omitempty"` - Path *string `json:"new_path,omitempty"` - Level *string `json:"new_level,omitempty"` - WorkspaceID *string `json:"new_workspace_id,omitempty"` - Status *string `json:"new_status,omitempty"` - Flows *string `json:"new_flows,omitempty"` - Priority *string `json:"new_priority,omitempty"` - Owner *string `json:"new_owner,omitempty"` - Cc *string `json:"new_cc,omitempty"` - Begin *string `json:"new_begin,omitempty"` - Due *string `json:"new_due,omitempty"` - Source *string `json:"new_source,omitempty"` - WorkitemID *string `json:"new_workitem_id,omitempty"` - StoryID *string `json:"new_story_id,omitempty"` - IterationID *string `json:"new_iteration_id,omitempty"` - SubStrace *string `json:"new_substrace,omitempty"` - Completed *string `json:"new_completed,omitempty"` - Effort *string `json:"new_effort,omitempty"` - EffortCompleted *string `json:"new_effort_completed,omitempty"` - EffortTotal *string `json:"new_effort_total,omitempty"` - Exceed *string `json:"new_exceed,omitempty"` - Remain *string `json:"new_remain,omitempty"` - Progress *string `json:"new_progress,omitempty"` - EntityType *string `json:"new_entity_type,omitempty"` - CustomFieldOne *string `json:"new_custom_field_one,omitempty"` - CustomFieldTwo *string `json:"new_custom_field_two,omitempty"` - CustomFieldThree *string `json:"new_custom_field_three,omitempty"` - CustomFieldFour *string `json:"new_custom_field_four,omitempty"` - CustomFieldFive *string `json:"new_custom_field_five,omitempty"` - CustomFieldSix *string `json:"new_custom_field_six,omitempty"` - CustomFieldSeven *string `json:"new_custom_field_seven,omitempty"` - CustomFieldEight *string `json:"new_custom_field_eight,omitempty"` - CustomField9 *string `json:"new_custom_field_9,omitempty"` - CustomField10 *string `json:"new_custom_field_10,omitempty"` - CustomField11 *string `json:"new_custom_field_11,omitempty"` - CustomField12 *string `json:"new_custom_field_12,omitempty"` - CustomField13 *string `json:"new_custom_field_13,omitempty"` - CustomField14 *string `json:"new_custom_field_14,omitempty"` - CustomField15 *string `json:"new_custom_field_15,omitempty"` - CustomField16 *string `json:"new_custom_field_16,omitempty"` - CustomField17 *string `json:"new_custom_field_17,omitempty"` - CustomField18 *string `json:"new_custom_field_18,omitempty"` - CustomField19 *string `json:"new_custom_field_19,omitempty"` - CustomField20 *string `json:"new_custom_field_20,omitempty"` - CustomField21 *string `json:"new_custom_field_21,omitempty"` - CustomField22 *string `json:"new_custom_field_22,omitempty"` - CustomField23 *string `json:"new_custom_field_23,omitempty"` - CustomField24 *string `json:"new_custom_field_24,omitempty"` - CustomField25 *string `json:"new_custom_field_25,omitempty"` - CustomField26 *string `json:"new_custom_field_26,omitempty"` - CustomField27 *string `json:"new_custom_field_27,omitempty"` - CustomField28 *string `json:"new_custom_field_28,omitempty"` - CustomField29 *string `json:"new_custom_field_29,omitempty"` - CustomField30 *string `json:"new_custom_field_30,omitempty"` - CustomField31 *string `json:"new_custom_field_31,omitempty"` - CustomField32 *string `json:"new_custom_field_32,omitempty"` - CustomField33 *string `json:"new_custom_field_33,omitempty"` - CustomField34 *string `json:"new_custom_field_34,omitempty"` - CustomField35 *string `json:"new_custom_field_35,omitempty"` - CustomField36 *string `json:"new_custom_field_36,omitempty"` - CustomField37 *string `json:"new_custom_field_37,omitempty"` - CustomField38 *string `json:"new_custom_field_38,omitempty"` - CustomField39 *string `json:"new_custom_field_39,omitempty"` - CustomField40 *string `json:"new_custom_field_40,omitempty"` - CustomField41 *string `json:"new_custom_field_41,omitempty"` - CustomField42 *string `json:"new_custom_field_42,omitempty"` - CustomField43 *string `json:"new_custom_field_43,omitempty"` - CustomField44 *string `json:"new_custom_field_44,omitempty"` - CustomField45 *string `json:"new_custom_field_45,omitempty"` - CustomField46 *string `json:"new_custom_field_46,omitempty"` - CustomField47 *string `json:"new_custom_field_47,omitempty"` - CustomField48 *string `json:"new_custom_field_48,omitempty"` - CustomField49 *string `json:"new_custom_field_49,omitempty"` - CustomField50 *string `json:"new_custom_field_50,omitempty"` - CustomPlanField1 *string `json:"new_custom_plan_field_1,omitempty"` - CustomPlanField2 *string `json:"new_custom_plan_field_2,omitempty"` - CustomPlanField3 *string `json:"new_custom_plan_field_3,omitempty"` - CustomPlanField4 *string `json:"new_custom_plan_field_4,omitempty"` - CustomPlanField5 *string `json:"new_custom_plan_field_5,omitempty"` - CustomPlanField6 *string `json:"new_custom_plan_field_6,omitempty"` - CustomPlanField7 *string `json:"new_custom_plan_field_7,omitempty"` - CustomPlanField8 *string `json:"new_custom_plan_field_8,omitempty"` - CustomPlanField9 *string `json:"new_custom_plan_field_9,omitempty"` - CustomPlanField10 *string `json:"new_custom_plan_field_10,omitempty"` - AttachmentCount *string `json:"new_attachment_count,omitempty"` - HasAttachment *string `json:"new_has_attachment,omitempty"` - Follower *string `json:"new_follower,omitempty"` - CreatedFrom *string `json:"new_created_from,omitempty"` - PredecessorCount *string `json:"new_predecessor_count,omitempty"` - SuccessorCount *string `json:"new_successor_count,omitempty"` - ReleaseID *string `json:"new_release_id,omitempty"` - Label *string `json:"new_label,omitempty"` - NewStoryID *string `json:"new_new_story_id,omitempty"` + Event EventType `json:"event,omitempty"` + EventFrom string `json:"event_from,omitempty"` + Referer string `json:"referer,omitempty"` + WorkspaceID string `json:"workspace_id,omitempty"` + CurrentUser string `json:"current_user,omitempty"` + ID string `json:"id,omitempty"` + ChangeFields string `json:"change_fields,omitempty"` + Secret string `json:"secret,omitempty"` + RioToken string `json:"rio_token,omitempty"` + DevProxyHost string `json:"devproxy_host,omitempty"` + QueueID string `json:"queue_id,omitempty"` + EventID string `json:"event_id,omitempty"` + Created string `json:"created,omitempty"` + OldID string `json:"old_id,omitempty"` + OldSecretRootID string `json:"old_secret_root_id,omitempty"` + OldSort string `json:"old_sort,omitempty"` + OldWorkitemTypeID string `json:"old_workitem_type_id,omitempty"` + OldName string `json:"old_name,omitempty"` + OldDescription string `json:"old_description,omitempty"` + OldMarkdownDescription string `json:"old_markdown_description,omitempty"` + OldDescriptionType string `json:"old_description_type,omitempty"` + OldCreator string `json:"old_creator,omitempty"` + OldCreated string `json:"old_created,omitempty"` + OldModified string `json:"old_modified,omitempty"` + OldParentID string `json:"old_parent_id,omitempty"` + OldChildrenID string `json:"old_children_id,omitempty"` + OldAncestorID string `json:"old_ancestor_id,omitempty"` + OldPath string `json:"old_path,omitempty"` + OldLevel string `json:"old_level,omitempty"` + OldWorkspaceID string `json:"old_workspace_id,omitempty"` + OldStatus string `json:"old_status,omitempty"` + OldAppID string `json:"old_app_id,omitempty"` + OldFlows string `json:"old_flows,omitempty"` + OldPriority string `json:"old_priority,omitempty"` + OldOwner string `json:"old_owner,omitempty"` + OldParticipator string `json:"old_participator,omitempty"` + OldCC string `json:"old_cc,omitempty"` + OldBegin string `json:"old_begin,omitempty"` + OldDue string `json:"old_due,omitempty"` + OldSource string `json:"old_source,omitempty"` + OldWorkitemID string `json:"old_workitem_id,omitempty"` + OldIterationID string `json:"old_iteration_id,omitempty"` + OldIssueID string `json:"old_issue_id,omitempty"` + OldSupportID string `json:"old_support_id,omitempty"` + OldSupportForumID string `json:"old_support_forum_id,omitempty"` + OldModule string `json:"old_module,omitempty"` + OldCompleted string `json:"old_completed,omitempty"` + OldTemplatedID string `json:"old_templated_id,omitempty"` + OldDelayCount string `json:"old_delay_count,omitempty"` + OldType string `json:"old_type,omitempty"` + OldStatusAppend string `json:"old_status_append,omitempty"` + OldBusinessValue string `json:"old_business_value,omitempty"` + OldTechRisk string `json:"old_tech_risk,omitempty"` + OldSize string `json:"old_size,omitempty"` + OldImportFlag string `json:"old_import_flag,omitempty"` + OldEffort string `json:"old_effort,omitempty"` + OldEffortCompleted string `json:"old_effort_completed,omitempty"` + OldExceed string `json:"old_exceed,omitempty"` + OldRemain string `json:"old_remain,omitempty"` + OldProgress string `json:"old_progress,omitempty"` + OldReleaseID string `json:"old_release_id,omitempty"` + OldFeature string `json:"old_feature,omitempty"` + OldEntityType string `json:"old_entity_type,omitempty"` + OldCustomFieldOne string `json:"old_custom_field_one,omitempty"` + OldCustomFieldTwo string `json:"old_custom_field_two,omitempty"` + OldCustomFieldThree string `json:"old_custom_field_three,omitempty"` + OldCustomFieldFour string `json:"old_custom_field_four,omitempty"` + OldCustomFieldFive string `json:"old_custom_field_five,omitempty"` + OldCustomFieldSix string `json:"old_custom_field_six,omitempty"` + OldCustomFieldSeven string `json:"old_custom_field_seven,omitempty"` + OldCustomFieldEight string `json:"old_custom_field_eight,omitempty"` + OldAttachmentCount string `json:"old_attachment_count,omitempty"` + OldHasAttachment string `json:"old_has_attachment,omitempty"` + OldDeveloper string `json:"old_developer,omitempty"` + OldBugID string `json:"old_bug_id,omitempty"` + OldTestFocus string `json:"old_test_focus,omitempty"` + OldCategoryID string `json:"old_category_id,omitempty"` + OldVersion string `json:"old_version,omitempty"` + OldConfidential string `json:"old_confidential,omitempty"` + OldCreatedFrom string `json:"old_created_from,omitempty"` + OldFollower string `json:"old_follower,omitempty"` + OldSyncType string `json:"old_sync_type,omitempty"` + OldPredecessorCount string `json:"old_predecessor_count,omitempty"` + OldIsArchived string `json:"old_is_archived,omitempty"` + OldModifier string `json:"old_modifier,omitempty"` + OldProgressManual string `json:"old_progress_manual,omitempty"` + OldSuccessorCount string `json:"old_successor_count,omitempty"` + OldLabel string `json:"old_label,omitempty"` + OldStep string `json:"old_step,omitempty"` + OldCustomField9 string `json:"old_custom_field_9,omitempty"` + OldCustomField10 string `json:"old_custom_field_10,omitempty"` + OldCustomField11 string `json:"old_custom_field_11,omitempty"` + OldCustomField12 string `json:"old_custom_field_12,omitempty"` + OldCustomField13 string `json:"old_custom_field_13,omitempty"` + OldCustomField14 string `json:"old_custom_field_14,omitempty"` + OldCustomField15 string `json:"old_custom_field_15,omitempty"` + OldCustomField16 string `json:"old_custom_field_16,omitempty"` + OldCustomField17 string `json:"old_custom_field_17,omitempty"` + OldCustomField18 string `json:"old_custom_field_18,omitempty"` + OldCustomField19 string `json:"old_custom_field_19,omitempty"` + OldCustomField20 string `json:"old_custom_field_20,omitempty"` + OldCustomField21 string `json:"old_custom_field_21,omitempty"` + OldCustomField22 string `json:"old_custom_field_22,omitempty"` + OldCustomField23 string `json:"old_custom_field_23,omitempty"` + OldCustomField24 string `json:"old_custom_field_24,omitempty"` + OldCustomField25 string `json:"old_custom_field_25,omitempty"` + OldCustomField26 string `json:"old_custom_field_26,omitempty"` + OldCustomField27 string `json:"old_custom_field_27,omitempty"` + OldCustomField28 string `json:"old_custom_field_28,omitempty"` + OldCustomField29 string `json:"old_custom_field_29,omitempty"` + OldCustomField30 string `json:"old_custom_field_30,omitempty"` + OldCustomField31 string `json:"old_custom_field_31,omitempty"` + OldCustomField32 string `json:"old_custom_field_32,omitempty"` + OldCustomField33 string `json:"old_custom_field_33,omitempty"` + OldCustomField34 string `json:"old_custom_field_34,omitempty"` + OldCustomField35 string `json:"old_custom_field_35,omitempty"` + OldCustomField36 string `json:"old_custom_field_36,omitempty"` + OldCustomField37 string `json:"old_custom_field_37,omitempty"` + OldCustomField38 string `json:"old_custom_field_38,omitempty"` + OldCustomField39 string `json:"old_custom_field_39,omitempty"` + OldCustomField40 string `json:"old_custom_field_40,omitempty"` + OldCustomField41 string `json:"old_custom_field_41,omitempty"` + OldCustomField42 string `json:"old_custom_field_42,omitempty"` + OldCustomField43 string `json:"old_custom_field_43,omitempty"` + OldCustomField44 string `json:"old_custom_field_44,omitempty"` + OldCustomField45 string `json:"old_custom_field_45,omitempty"` + OldCustomField46 string `json:"old_custom_field_46,omitempty"` + OldCustomField47 string `json:"old_custom_field_47,omitempty"` + OldCustomField48 string `json:"old_custom_field_48,omitempty"` + OldCustomField49 string `json:"old_custom_field_49,omitempty"` + OldCustomField50 string `json:"old_custom_field_50,omitempty"` + OldCustomField51 string `json:"old_custom_field_51,omitempty"` + OldCustomField52 string `json:"old_custom_field_52,omitempty"` + OldCustomField53 string `json:"old_custom_field_53,omitempty"` + OldCustomField54 string `json:"old_custom_field_54,omitempty"` + OldCustomField55 string `json:"old_custom_field_55,omitempty"` + OldCustomField56 string `json:"old_custom_field_56,omitempty"` + OldCustomField57 string `json:"old_custom_field_57,omitempty"` + OldCustomField58 string `json:"old_custom_field_58,omitempty"` + OldCustomField59 string `json:"old_custom_field_59,omitempty"` + OldCustomField60 string `json:"old_custom_field_60,omitempty"` + OldCustomField61 string `json:"old_custom_field_61,omitempty"` + OldCustomField62 string `json:"old_custom_field_62,omitempty"` + OldCustomField63 string `json:"old_custom_field_63,omitempty"` + OldCustomField64 string `json:"old_custom_field_64,omitempty"` + OldCustomField65 string `json:"old_custom_field_65,omitempty"` + OldCustomField66 string `json:"old_custom_field_66,omitempty"` + OldCustomField67 string `json:"old_custom_field_67,omitempty"` + OldCustomField68 string `json:"old_custom_field_68,omitempty"` + OldCustomField69 string `json:"old_custom_field_69,omitempty"` + OldCustomField70 string `json:"old_custom_field_70,omitempty"` + OldCustomField71 string `json:"old_custom_field_71,omitempty"` + OldCustomField72 string `json:"old_custom_field_72,omitempty"` + OldCustomField73 string `json:"old_custom_field_73,omitempty"` + OldCustomField74 string `json:"old_custom_field_74,omitempty"` + OldCustomField75 string `json:"old_custom_field_75,omitempty"` + OldCustomField76 string `json:"old_custom_field_76,omitempty"` + OldCustomField77 string `json:"old_custom_field_77,omitempty"` + OldCustomField78 string `json:"old_custom_field_78,omitempty"` + OldCustomField79 string `json:"old_custom_field_79,omitempty"` + OldCustomField80 string `json:"old_custom_field_80,omitempty"` + OldCustomField81 string `json:"old_custom_field_81,omitempty"` + OldCustomField82 string `json:"old_custom_field_82,omitempty"` + OldCustomField83 string `json:"old_custom_field_83,omitempty"` + OldCustomField84 string `json:"old_custom_field_84,omitempty"` + OldCustomField85 string `json:"old_custom_field_85,omitempty"` + OldCustomField86 string `json:"old_custom_field_86,omitempty"` + OldCustomField87 string `json:"old_custom_field_87,omitempty"` + OldCustomField88 string `json:"old_custom_field_88,omitempty"` + OldCustomField89 string `json:"old_custom_field_89,omitempty"` + OldCustomField90 string `json:"old_custom_field_90,omitempty"` + OldCustomField91 string `json:"old_custom_field_91,omitempty"` + OldCustomField92 string `json:"old_custom_field_92,omitempty"` + OldCustomField93 string `json:"old_custom_field_93,omitempty"` + OldCustomField94 string `json:"old_custom_field_94,omitempty"` + OldCustomField95 string `json:"old_custom_field_95,omitempty"` + OldCustomField96 string `json:"old_custom_field_96,omitempty"` + OldCustomField97 string `json:"old_custom_field_97,omitempty"` + OldCustomField98 string `json:"old_custom_field_98,omitempty"` + OldCustomField99 string `json:"old_custom_field_99,omitempty"` + OldCustomField100 string `json:"old_custom_field_100,omitempty"` + OldCustomField101 string `json:"old_custom_field_101,omitempty"` + OldCustomField102 string `json:"old_custom_field_102,omitempty"` + OldCustomField103 string `json:"old_custom_field_103,omitempty"` + OldCustomField104 string `json:"old_custom_field_104,omitempty"` + OldCustomField105 string `json:"old_custom_field_105,omitempty"` + OldCustomField106 string `json:"old_custom_field_106,omitempty"` + OldCustomField107 string `json:"old_custom_field_107,omitempty"` + OldCustomField108 string `json:"old_custom_field_108,omitempty"` + OldCustomField109 string `json:"old_custom_field_109,omitempty"` + OldCustomField110 string `json:"old_custom_field_110,omitempty"` + OldCustomField111 string `json:"old_custom_field_111,omitempty"` + OldCustomField112 string `json:"old_custom_field_112,omitempty"` + OldCustomField113 string `json:"old_custom_field_113,omitempty"` + OldCustomField114 string `json:"old_custom_field_114,omitempty"` + OldCustomField115 string `json:"old_custom_field_115,omitempty"` + OldCustomField116 string `json:"old_custom_field_116,omitempty"` + OldCustomField117 string `json:"old_custom_field_117,omitempty"` + OldCustomField118 string `json:"old_custom_field_118,omitempty"` + OldCustomField119 string `json:"old_custom_field_119,omitempty"` + OldCustomField120 string `json:"old_custom_field_120,omitempty"` + OldCustomField121 string `json:"old_custom_field_121,omitempty"` + OldCustomField122 string `json:"old_custom_field_122,omitempty"` + OldCustomField123 string `json:"old_custom_field_123,omitempty"` + OldCustomField124 string `json:"old_custom_field_124,omitempty"` + OldCustomField125 string `json:"old_custom_field_125,omitempty"` + OldCustomField126 string `json:"old_custom_field_126,omitempty"` + OldCustomField127 string `json:"old_custom_field_127,omitempty"` + OldCustomField128 string `json:"old_custom_field_128,omitempty"` + OldCustomField129 string `json:"old_custom_field_129,omitempty"` + OldCustomField130 string `json:"old_custom_field_130,omitempty"` + OldCustomField131 string `json:"old_custom_field_131,omitempty"` + OldCustomField132 string `json:"old_custom_field_132,omitempty"` + OldCustomField133 string `json:"old_custom_field_133,omitempty"` + OldCustomField134 string `json:"old_custom_field_134,omitempty"` + OldCustomField135 string `json:"old_custom_field_135,omitempty"` + OldCustomField136 string `json:"old_custom_field_136,omitempty"` + OldCustomField137 string `json:"old_custom_field_137,omitempty"` + OldCustomField138 string `json:"old_custom_field_138,omitempty"` + OldCustomField139 string `json:"old_custom_field_139,omitempty"` + OldCustomField140 string `json:"old_custom_field_140,omitempty"` + OldCustomField141 string `json:"old_custom_field_141,omitempty"` + OldCustomField142 string `json:"old_custom_field_142,omitempty"` + OldCustomField143 string `json:"old_custom_field_143,omitempty"` + OldCustomField144 string `json:"old_custom_field_144,omitempty"` + OldCustomField145 string `json:"old_custom_field_145,omitempty"` + OldCustomField146 string `json:"old_custom_field_146,omitempty"` + OldCustomField147 string `json:"old_custom_field_147,omitempty"` + OldCustomField148 string `json:"old_custom_field_148,omitempty"` + OldCustomField149 string `json:"old_custom_field_149,omitempty"` + OldCustomField150 string `json:"old_custom_field_150,omitempty"` + OldCustomField151 string `json:"old_custom_field_151,omitempty"` + OldCustomField152 string `json:"old_custom_field_152,omitempty"` + OldCustomField153 string `json:"old_custom_field_153,omitempty"` + OldCustomField154 string `json:"old_custom_field_154,omitempty"` + OldCustomField155 string `json:"old_custom_field_155,omitempty"` + OldCustomField156 string `json:"old_custom_field_156,omitempty"` + OldCustomField157 string `json:"old_custom_field_157,omitempty"` + OldCustomField158 string `json:"old_custom_field_158,omitempty"` + OldCustomField159 string `json:"old_custom_field_159,omitempty"` + OldCustomField160 string `json:"old_custom_field_160,omitempty"` + OldCustomField161 string `json:"old_custom_field_161,omitempty"` + OldCustomField162 string `json:"old_custom_field_162,omitempty"` + OldCustomField163 string `json:"old_custom_field_163,omitempty"` + OldCustomField164 string `json:"old_custom_field_164,omitempty"` + OldCustomField165 string `json:"old_custom_field_165,omitempty"` + OldCustomField166 string `json:"old_custom_field_166,omitempty"` + OldCustomField167 string `json:"old_custom_field_167,omitempty"` + OldCustomField168 string `json:"old_custom_field_168,omitempty"` + OldCustomField169 string `json:"old_custom_field_169,omitempty"` + OldCustomField170 string `json:"old_custom_field_170,omitempty"` + OldCustomField171 string `json:"old_custom_field_171,omitempty"` + OldCustomField172 string `json:"old_custom_field_172,omitempty"` + OldCustomField173 string `json:"old_custom_field_173,omitempty"` + OldCustomField174 string `json:"old_custom_field_174,omitempty"` + OldCustomField175 string `json:"old_custom_field_175,omitempty"` + OldCustomField176 string `json:"old_custom_field_176,omitempty"` + OldCustomField177 string `json:"old_custom_field_177,omitempty"` + OldCustomField178 string `json:"old_custom_field_178,omitempty"` + OldCustomField179 string `json:"old_custom_field_179,omitempty"` + OldCustomField180 string `json:"old_custom_field_180,omitempty"` + OldCustomField181 string `json:"old_custom_field_181,omitempty"` + OldCustomField182 string `json:"old_custom_field_182,omitempty"` + OldCustomField183 string `json:"old_custom_field_183,omitempty"` + OldCustomField184 string `json:"old_custom_field_184,omitempty"` + OldCustomField185 string `json:"old_custom_field_185,omitempty"` + OldCustomField186 string `json:"old_custom_field_186,omitempty"` + OldCustomField187 string `json:"old_custom_field_187,omitempty"` + OldCustomField188 string `json:"old_custom_field_188,omitempty"` + OldCustomField189 string `json:"old_custom_field_189,omitempty"` + OldCustomField190 string `json:"old_custom_field_190,omitempty"` + OldCustomField191 string `json:"old_custom_field_191,omitempty"` + OldCustomField192 string `json:"old_custom_field_192,omitempty"` + OldCustomField193 string `json:"old_custom_field_193,omitempty"` + OldCustomField194 string `json:"old_custom_field_194,omitempty"` + OldCustomField195 string `json:"old_custom_field_195,omitempty"` + OldCustomField196 string `json:"old_custom_field_196,omitempty"` + OldCustomField197 string `json:"old_custom_field_197,omitempty"` + OldCustomField198 string `json:"old_custom_field_198,omitempty"` + OldCustomField199 string `json:"old_custom_field_199,omitempty"` + OldCustomField200 string `json:"old_custom_field_200,omitempty"` + OldCustomPlanField1 string `json:"old_custom_plan_field_1,omitempty"` + OldCustomPlanField2 string `json:"old_custom_plan_field_2,omitempty"` + OldCustomPlanField3 string `json:"old_custom_plan_field_3,omitempty"` + OldCustomPlanField4 string `json:"old_custom_plan_field_4,omitempty"` + OldCustomPlanField5 string `json:"old_custom_plan_field_5,omitempty"` + OldCustomPlanField6 string `json:"old_custom_plan_field_6,omitempty"` + OldCustomPlanField7 string `json:"old_custom_plan_field_7,omitempty"` + OldCustomPlanField8 string `json:"old_custom_plan_field_8,omitempty"` + OldCustomPlanField9 string `json:"old_custom_plan_field_9,omitempty"` + OldCustomPlanField10 string `json:"old_custom_plan_field_10,omitempty"` + NewID string `json:"new_id,omitempty"` + NewSecretRootID string `json:"new_secret_root_id,omitempty"` + NewSort string `json:"new_sort,omitempty"` + NewWorkitemTypeID string `json:"new_workitem_type_id,omitempty"` + NewName string `json:"new_name,omitempty"` + NewDescription string `json:"new_description,omitempty"` + NewMarkdownDescription string `json:"new_markdown_description,omitempty"` + NewDescriptionType string `json:"new_description_type,omitempty"` + NewCreator string `json:"new_creator,omitempty"` + NewCreated string `json:"new_created,omitempty"` + NewModified string `json:"new_modified,omitempty"` + NewParentID string `json:"new_parent_id,omitempty"` + NewChildrenID string `json:"new_children_id,omitempty"` + NewAncestorID string `json:"new_ancestor_id,omitempty"` + NewPath string `json:"new_path,omitempty"` + NewLevel string `json:"new_level,omitempty"` + NewWorkspaceID string `json:"new_workspace_id,omitempty"` + NewStatus string `json:"new_status,omitempty"` + NewAppID string `json:"new_app_id,omitempty"` + NewFlows string `json:"new_flows,omitempty"` + NewPriority string `json:"new_priority,omitempty"` + NewOwner string `json:"new_owner,omitempty"` + NewParticipator string `json:"new_participator,omitempty"` + NewCC string `json:"new_cc,omitempty"` + NewBegin string `json:"new_begin,omitempty"` + NewDue string `json:"new_due,omitempty"` + NewSource string `json:"new_source,omitempty"` + NewWorkitemID string `json:"new_workitem_id,omitempty"` + NewIterationID string `json:"new_iteration_id,omitempty"` + NewIssueID string `json:"new_issue_id,omitempty"` + NewSupportID string `json:"new_support_id,omitempty"` + NewSupportForumID string `json:"new_support_forum_id,omitempty"` + NewModule string `json:"new_module,omitempty"` + NewCompleted string `json:"new_completed,omitempty"` + NewTemplatedID string `json:"new_templated_id,omitempty"` + NewDelayCount string `json:"new_delay_count,omitempty"` + NewType string `json:"new_type,omitempty"` + NewStatusAppend string `json:"new_status_append,omitempty"` + NewBusinessValue string `json:"new_business_value,omitempty"` + NewTechRisk string `json:"new_tech_risk,omitempty"` + NewSize string `json:"new_size,omitempty"` + NewImportFlag string `json:"new_import_flag,omitempty"` + NewEffort string `json:"new_effort,omitempty"` + NewEffortCompleted string `json:"new_effort_completed,omitempty"` + NewExceed string `json:"new_exceed,omitempty"` + NewRemain string `json:"new_remain,omitempty"` + NewProgress string `json:"new_progress,omitempty"` + NewReleaseID string `json:"new_release_id,omitempty"` + NewFeature string `json:"new_feature,omitempty"` + NewEntityType string `json:"new_entity_type,omitempty"` + NewCustomFieldOne string `json:"new_custom_field_one,omitempty"` + NewCustomFieldTwo string `json:"new_custom_field_two,omitempty"` + NewCustomFieldThree string `json:"new_custom_field_three,omitempty"` + NewCustomFieldFour string `json:"new_custom_field_four,omitempty"` + NewCustomFieldFive string `json:"new_custom_field_five,omitempty"` + NewCustomFieldSix string `json:"new_custom_field_six,omitempty"` + NewCustomFieldSeven string `json:"new_custom_field_seven,omitempty"` + NewCustomFieldEight string `json:"new_custom_field_eight,omitempty"` + NewAttachmentCount string `json:"new_attachment_count,omitempty"` + NewHasAttachment string `json:"new_has_attachment,omitempty"` + NewDeveloper string `json:"new_developer,omitempty"` + NewBugID string `json:"new_bug_id,omitempty"` + NewTestFocus string `json:"new_test_focus,omitempty"` + NewCategoryID string `json:"new_category_id,omitempty"` + NewVersion string `json:"new_version,omitempty"` + NewConfidential string `json:"new_confidential,omitempty"` + NewCreatedFrom string `json:"new_created_from,omitempty"` + NewFollower string `json:"new_follower,omitempty"` + NewSyncType string `json:"new_sync_type,omitempty"` + NewPredecessorCount string `json:"new_predecessor_count,omitempty"` + NewIsArchived string `json:"new_is_archived,omitempty"` + NewModifier string `json:"new_modifier,omitempty"` + NewProgressManual string `json:"new_progress_manual,omitempty"` + NewSuccessorCount string `json:"new_successor_count,omitempty"` + NewLabel string `json:"new_label,omitempty"` + NewStep string `json:"new_step,omitempty"` + NewCustomField9 string `json:"new_custom_field_9,omitempty"` + NewCustomField10 string `json:"new_custom_field_10,omitempty"` + NewCustomField11 string `json:"new_custom_field_11,omitempty"` + NewCustomField12 string `json:"new_custom_field_12,omitempty"` + NewCustomField13 string `json:"new_custom_field_13,omitempty"` + NewCustomField14 string `json:"new_custom_field_14,omitempty"` + NewCustomField15 string `json:"new_custom_field_15,omitempty"` + NewCustomField16 string `json:"new_custom_field_16,omitempty"` + NewCustomField17 string `json:"new_custom_field_17,omitempty"` + NewCustomField18 string `json:"new_custom_field_18,omitempty"` + NewCustomField19 string `json:"new_custom_field_19,omitempty"` + NewCustomField20 string `json:"new_custom_field_20,omitempty"` + NewCustomField21 string `json:"new_custom_field_21,omitempty"` + NewCustomField22 string `json:"new_custom_field_22,omitempty"` + NewCustomField23 string `json:"new_custom_field_23,omitempty"` + NewCustomField24 string `json:"new_custom_field_24,omitempty"` + NewCustomField25 string `json:"new_custom_field_25,omitempty"` + NewCustomField26 string `json:"new_custom_field_26,omitempty"` + NewCustomField27 string `json:"new_custom_field_27,omitempty"` + NewCustomField28 string `json:"new_custom_field_28,omitempty"` + NewCustomField29 string `json:"new_custom_field_29,omitempty"` + NewCustomField30 string `json:"new_custom_field_30,omitempty"` + NewCustomField31 string `json:"new_custom_field_31,omitempty"` + NewCustomField32 string `json:"new_custom_field_32,omitempty"` + NewCustomField33 string `json:"new_custom_field_33,omitempty"` + NewCustomField34 string `json:"new_custom_field_34,omitempty"` + NewCustomField35 string `json:"new_custom_field_35,omitempty"` + NewCustomField36 string `json:"new_custom_field_36,omitempty"` + NewCustomField37 string `json:"new_custom_field_37,omitempty"` + NewCustomField38 string `json:"new_custom_field_38,omitempty"` + NewCustomField39 string `json:"new_custom_field_39,omitempty"` + NewCustomField40 string `json:"new_custom_field_40,omitempty"` + NewCustomField41 string `json:"new_custom_field_41,omitempty"` + NewCustomField42 string `json:"new_custom_field_42,omitempty"` + NewCustomField43 string `json:"new_custom_field_43,omitempty"` + NewCustomField44 string `json:"new_custom_field_44,omitempty"` + NewCustomField45 string `json:"new_custom_field_45,omitempty"` + NewCustomField46 string `json:"new_custom_field_46,omitempty"` + NewCustomField47 string `json:"new_custom_field_47,omitempty"` + NewCustomField48 string `json:"new_custom_field_48,omitempty"` + NewCustomField49 string `json:"new_custom_field_49,omitempty"` + NewCustomField50 string `json:"new_custom_field_50,omitempty"` + NewCustomField51 string `json:"new_custom_field_51,omitempty"` + NewCustomField52 string `json:"new_custom_field_52,omitempty"` + NewCustomField53 string `json:"new_custom_field_53,omitempty"` + NewCustomField54 string `json:"new_custom_field_54,omitempty"` + NewCustomField55 string `json:"new_custom_field_55,omitempty"` + NewCustomField56 string `json:"new_custom_field_56,omitempty"` + NewCustomField57 string `json:"new_custom_field_57,omitempty"` + NewCustomField58 string `json:"new_custom_field_58,omitempty"` + NewCustomField59 string `json:"new_custom_field_59,omitempty"` + NewCustomField60 string `json:"new_custom_field_60,omitempty"` + NewCustomField61 string `json:"new_custom_field_61,omitempty"` + NewCustomField62 string `json:"new_custom_field_62,omitempty"` + NewCustomField63 string `json:"new_custom_field_63,omitempty"` + NewCustomField64 string `json:"new_custom_field_64,omitempty"` + NewCustomField65 string `json:"new_custom_field_65,omitempty"` + NewCustomField66 string `json:"new_custom_field_66,omitempty"` + NewCustomField67 string `json:"new_custom_field_67,omitempty"` + NewCustomField68 string `json:"new_custom_field_68,omitempty"` + NewCustomField69 string `json:"new_custom_field_69,omitempty"` + NewCustomField70 string `json:"new_custom_field_70,omitempty"` + NewCustomField71 string `json:"new_custom_field_71,omitempty"` + NewCustomField72 string `json:"new_custom_field_72,omitempty"` + NewCustomField73 string `json:"new_custom_field_73,omitempty"` + NewCustomField74 string `json:"new_custom_field_74,omitempty"` + NewCustomField75 string `json:"new_custom_field_75,omitempty"` + NewCustomField76 string `json:"new_custom_field_76,omitempty"` + NewCustomField77 string `json:"new_custom_field_77,omitempty"` + NewCustomField78 string `json:"new_custom_field_78,omitempty"` + NewCustomField79 string `json:"new_custom_field_79,omitempty"` + NewCustomField80 string `json:"new_custom_field_80,omitempty"` + NewCustomField81 string `json:"new_custom_field_81,omitempty"` + NewCustomField82 string `json:"new_custom_field_82,omitempty"` + NewCustomField83 string `json:"new_custom_field_83,omitempty"` + NewCustomField84 string `json:"new_custom_field_84,omitempty"` + NewCustomField85 string `json:"new_custom_field_85,omitempty"` + NewCustomField86 string `json:"new_custom_field_86,omitempty"` + NewCustomField87 string `json:"new_custom_field_87,omitempty"` + NewCustomField88 string `json:"new_custom_field_88,omitempty"` + NewCustomField89 string `json:"new_custom_field_89,omitempty"` + NewCustomField90 string `json:"new_custom_field_90,omitempty"` + NewCustomField91 string `json:"new_custom_field_91,omitempty"` + NewCustomField92 string `json:"new_custom_field_92,omitempty"` + NewCustomField93 string `json:"new_custom_field_93,omitempty"` + NewCustomField94 string `json:"new_custom_field_94,omitempty"` + NewCustomField95 string `json:"new_custom_field_95,omitempty"` + NewCustomField96 string `json:"new_custom_field_96,omitempty"` + NewCustomField97 string `json:"new_custom_field_97,omitempty"` + NewCustomField98 string `json:"new_custom_field_98,omitempty"` + NewCustomField99 string `json:"new_custom_field_99,omitempty"` + NewCustomField100 string `json:"new_custom_field_100,omitempty"` + NewCustomField101 string `json:"new_custom_field_101,omitempty"` + NewCustomField102 string `json:"new_custom_field_102,omitempty"` + NewCustomField103 string `json:"new_custom_field_103,omitempty"` + NewCustomField104 string `json:"new_custom_field_104,omitempty"` + NewCustomField105 string `json:"new_custom_field_105,omitempty"` + NewCustomField106 string `json:"new_custom_field_106,omitempty"` + NewCustomField107 string `json:"new_custom_field_107,omitempty"` + NewCustomField108 string `json:"new_custom_field_108,omitempty"` + NewCustomField109 string `json:"new_custom_field_109,omitempty"` + NewCustomField110 string `json:"new_custom_field_110,omitempty"` + NewCustomField111 string `json:"new_custom_field_111,omitempty"` + NewCustomField112 string `json:"new_custom_field_112,omitempty"` + NewCustomField113 string `json:"new_custom_field_113,omitempty"` + NewCustomField114 string `json:"new_custom_field_114,omitempty"` + NewCustomField115 string `json:"new_custom_field_115,omitempty"` + NewCustomField116 string `json:"new_custom_field_116,omitempty"` + NewCustomField117 string `json:"new_custom_field_117,omitempty"` + NewCustomField118 string `json:"new_custom_field_118,omitempty"` + NewCustomField119 string `json:"new_custom_field_119,omitempty"` + NewCustomField120 string `json:"new_custom_field_120,omitempty"` + NewCustomField121 string `json:"new_custom_field_121,omitempty"` + NewCustomField122 string `json:"new_custom_field_122,omitempty"` + NewCustomField123 string `json:"new_custom_field_123,omitempty"` + NewCustomField124 string `json:"new_custom_field_124,omitempty"` + NewCustomField125 string `json:"new_custom_field_125,omitempty"` + NewCustomField126 string `json:"new_custom_field_126,omitempty"` + NewCustomField127 string `json:"new_custom_field_127,omitempty"` + NewCustomField128 string `json:"new_custom_field_128,omitempty"` + NewCustomField129 string `json:"new_custom_field_129,omitempty"` + NewCustomField130 string `json:"new_custom_field_130,omitempty"` + NewCustomField131 string `json:"new_custom_field_131,omitempty"` + NewCustomField132 string `json:"new_custom_field_132,omitempty"` + NewCustomField133 string `json:"new_custom_field_133,omitempty"` + NewCustomField134 string `json:"new_custom_field_134,omitempty"` + NewCustomField135 string `json:"new_custom_field_135,omitempty"` + NewCustomField136 string `json:"new_custom_field_136,omitempty"` + NewCustomField137 string `json:"new_custom_field_137,omitempty"` + NewCustomField138 string `json:"new_custom_field_138,omitempty"` + NewCustomField139 string `json:"new_custom_field_139,omitempty"` + NewCustomField140 string `json:"new_custom_field_140,omitempty"` + NewCustomField141 string `json:"new_custom_field_141,omitempty"` + NewCustomField142 string `json:"new_custom_field_142,omitempty"` + NewCustomField143 string `json:"new_custom_field_143,omitempty"` + NewCustomField144 string `json:"new_custom_field_144,omitempty"` + NewCustomField145 string `json:"new_custom_field_145,omitempty"` + NewCustomField146 string `json:"new_custom_field_146,omitempty"` + NewCustomField147 string `json:"new_custom_field_147,omitempty"` + NewCustomField148 string `json:"new_custom_field_148,omitempty"` + NewCustomField149 string `json:"new_custom_field_149,omitempty"` + NewCustomField150 string `json:"new_custom_field_150,omitempty"` + NewCustomField151 string `json:"new_custom_field_151,omitempty"` + NewCustomField152 string `json:"new_custom_field_152,omitempty"` + NewCustomField153 string `json:"new_custom_field_153,omitempty"` + NewCustomField154 string `json:"new_custom_field_154,omitempty"` + NewCustomField155 string `json:"new_custom_field_155,omitempty"` + NewCustomField156 string `json:"new_custom_field_156,omitempty"` + NewCustomField157 string `json:"new_custom_field_157,omitempty"` + NewCustomField158 string `json:"new_custom_field_158,omitempty"` + NewCustomField159 string `json:"new_custom_field_159,omitempty"` + NewCustomField160 string `json:"new_custom_field_160,omitempty"` + NewCustomField161 string `json:"new_custom_field_161,omitempty"` + NewCustomField162 string `json:"new_custom_field_162,omitempty"` + NewCustomField163 string `json:"new_custom_field_163,omitempty"` + NewCustomField164 string `json:"new_custom_field_164,omitempty"` + NewCustomField165 string `json:"new_custom_field_165,omitempty"` + NewCustomField166 string `json:"new_custom_field_166,omitempty"` + NewCustomField167 string `json:"new_custom_field_167,omitempty"` + NewCustomField168 string `json:"new_custom_field_168,omitempty"` + NewCustomField169 string `json:"new_custom_field_169,omitempty"` + NewCustomField170 string `json:"new_custom_field_170,omitempty"` + NewCustomField171 string `json:"new_custom_field_171,omitempty"` + NewCustomField172 string `json:"new_custom_field_172,omitempty"` + NewCustomField173 string `json:"new_custom_field_173,omitempty"` + NewCustomField174 string `json:"new_custom_field_174,omitempty"` + NewCustomField175 string `json:"new_custom_field_175,omitempty"` + NewCustomField176 string `json:"new_custom_field_176,omitempty"` + NewCustomField177 string `json:"new_custom_field_177,omitempty"` + NewCustomField178 string `json:"new_custom_field_178,omitempty"` + NewCustomField179 string `json:"new_custom_field_179,omitempty"` + NewCustomField180 string `json:"new_custom_field_180,omitempty"` + NewCustomField181 string `json:"new_custom_field_181,omitempty"` + NewCustomField182 string `json:"new_custom_field_182,omitempty"` + NewCustomField183 string `json:"new_custom_field_183,omitempty"` + NewCustomField184 string `json:"new_custom_field_184,omitempty"` + NewCustomField185 string `json:"new_custom_field_185,omitempty"` + NewCustomField186 string `json:"new_custom_field_186,omitempty"` + NewCustomField187 string `json:"new_custom_field_187,omitempty"` + NewCustomField188 string `json:"new_custom_field_188,omitempty"` + NewCustomField189 string `json:"new_custom_field_189,omitempty"` + NewCustomField190 string `json:"new_custom_field_190,omitempty"` + NewCustomField191 string `json:"new_custom_field_191,omitempty"` + NewCustomField192 string `json:"new_custom_field_192,omitempty"` + NewCustomField193 string `json:"new_custom_field_193,omitempty"` + NewCustomField194 string `json:"new_custom_field_194,omitempty"` + NewCustomField195 string `json:"new_custom_field_195,omitempty"` + NewCustomField196 string `json:"new_custom_field_196,omitempty"` + NewCustomField197 string `json:"new_custom_field_197,omitempty"` + NewCustomField198 string `json:"new_custom_field_198,omitempty"` + NewCustomField199 string `json:"new_custom_field_199,omitempty"` + NewCustomField200 string `json:"new_custom_field_200,omitempty"` + NewCustomPlanField1 string `json:"new_custom_plan_field_1,omitempty"` + NewCustomPlanField2 string `json:"new_custom_plan_field_2,omitempty"` + NewCustomPlanField3 string `json:"new_custom_plan_field_3,omitempty"` + NewCustomPlanField4 string `json:"new_custom_plan_field_4,omitempty"` + NewCustomPlanField5 string `json:"new_custom_plan_field_5,omitempty"` + NewCustomPlanField6 string `json:"new_custom_plan_field_6,omitempty"` + NewCustomPlanField7 string `json:"new_custom_plan_field_7,omitempty"` + NewCustomPlanField8 string `json:"new_custom_plan_field_8,omitempty"` + NewCustomPlanField9 string `json:"new_custom_plan_field_9,omitempty"` + NewCustomPlanField10 string `json:"new_custom_plan_field_10,omitempty"` } type StoryDeleteEvent struct { diff --git a/webhook/event_story_comment.go b/webhook/event_story_comment.go index dfc836b..a4d2dc1 100644 --- a/webhook/event_story_comment.go +++ b/webhook/event_story_comment.go @@ -20,9 +20,37 @@ type StoryCommentAddEvent struct { } type StoryCommentUpdateEvent struct { - Event EventType `json:"event,omitempty"` + Event EventType `json:"event,omitempty"` + EventFrom string `json:"event_from,omitempty"` + Referer string `json:"referer,omitempty"` + WorkspaceID string `json:"workspace_id,omitempty"` + CurrentUser string `json:"current_user,omitempty"` + ID string `json:"id,omitempty"` + Description string `json:"description,omitempty"` + Author string `json:"author,omitempty"` + EntityID string `json:"entity_id,omitempty"` + Secret string `json:"secret,omitempty"` + RioToken string `json:"rio_token,omitempty"` + DevProxyHost string `json:"devproxy_host,omitempty"` + QueueID string `json:"queue_id,omitempty"` + EventID string `json:"event_id,omitempty"` + Created string `json:"created,omitempty"` } type StoryCommentDeleteEvent struct { - Event EventType `json:"event,omitempty"` + Event EventType `json:"event,omitempty"` + EventFrom string `json:"event_from,omitempty"` + Referer string `json:"referer,omitempty"` + WorkspaceID string `json:"workspace_id,omitempty"` + CurrentUser string `json:"current_user,omitempty"` + ID string `json:"id,omitempty"` + Description string `json:"description,omitempty"` + Author string `json:"author,omitempty"` + EntityID string `json:"entity_id,omitempty"` + Secret string `json:"secret,omitempty"` + RioToken string `json:"rio_token,omitempty"` + DevProxyHost string `json:"devproxy_host,omitempty"` + QueueID string `json:"queue_id,omitempty"` + EventID string `json:"event_id,omitempty"` + Created string `json:"created,omitempty"` } diff --git a/webhook/event_story_comment_test.go b/webhook/event_story_comment_test.go new file mode 100644 index 0000000..e066e48 --- /dev/null +++ b/webhook/event_story_comment_test.go @@ -0,0 +1,71 @@ +package webhook + +import ( + "testing" + + "github.com/stretchr/testify/assert" +) + +func TestStoryCommentEvent_StoryCommentAddEvent(t *testing.T) { + var event StoryCommentAddEvent + loadAndParseWebhookData(t, "story_comment/add.json", &event) + + assert.Equal(t, EventTypeStoryCommentAdd, event.Event) + assert.Equal(t, "web", event.EventFrom) + assert.Equal(t, "https://www.tapd.cn/111222333/prong/stories/view/11111222333001116468?from_iteration_id=11111222333001002079", event.Referer) + assert.Equal(t, "111222333", event.WorkspaceID) + assert.Equal(t, "张三", event.CurrentUser) + assert.Equal(t, "11111222333001036003", event.ID) + assert.Equal(t, "在状态 [规划中] 添加", event.Title) + assert.Equal(t, "
hello world
", event.Description) + assert.Equal(t, "张三", event.Author) + assert.Equal(t, "11111222333001116468", event.EntityID) + assert.Equal(t, "", event.Secret) + assert.Equal(t, "", event.RioToken) + assert.Equal(t, "http://websocket-proxy", event.DevProxyHost) + assert.Equal(t, "318940853", event.QueueID) + assert.Equal(t, "183727896", event.EventID) + assert.Equal(t, "2024-12-30 17:59:31", event.Created) +} + +func TestStoryCommentEvent_StoryCommentUpdateEvent(t *testing.T) { + var event StoryCommentUpdateEvent + loadAndParseWebhookData(t, "story_comment/update.json", &event) + + assert.Equal(t, EventTypeStoryCommentUpdate, event.Event) + assert.Equal(t, "web", event.EventFrom) + assert.Equal(t, "https://www.tapd.cn/tapd_fe/111222/story/list?useScene=storyList&groupType=&conf_id=11111222001035191&dialog_preview_id=story_11111222001112724", event.Referer) + assert.Equal(t, "111222", event.WorkspaceID) + assert.Equal(t, "张三", event.CurrentUser) + assert.Equal(t, "11111222001036005", event.ID) + assert.Equal(t, "123123123123
", event.Description) + assert.Equal(t, "张三", event.Author) + assert.Equal(t, "11111222001112724", event.EntityID) + assert.Equal(t, "", event.Secret) + assert.Equal(t, "", event.RioToken) + assert.Equal(t, "http://websocket-proxy", event.DevProxyHost) + assert.Equal(t, "318946074", event.QueueID) + assert.Equal(t, "183729987", event.EventID) + assert.Equal(t, "2024-12-30 18:07:03", event.Created) +} + +func TestStoryCommentEvent_StoryCommentDeleteEvent(t *testing.T) { + var event StoryCommentDeleteEvent + loadAndParseWebhookData(t, "story_comment/delete.json", &event) + + assert.Equal(t, EventTypeStoryCommentDelete, event.Event) + assert.Equal(t, "web", event.EventFrom) + assert.Equal(t, "https://www.tapd.cn/tapd_fe/111222/story/list?useScene=storyList&groupType=&conf_id=11111222001035191&dialog_preview_id=story_11111222001112724", event.Referer) + assert.Equal(t, "111222", event.WorkspaceID) + assert.Equal(t, "张三", event.CurrentUser) + assert.Equal(t, "11111222001036005", event.ID) + assert.Equal(t, "123123123123
", event.Description) + assert.Equal(t, "张三", event.Author) + assert.Equal(t, "11111222001112724", event.EntityID) + assert.Equal(t, "", event.Secret) + assert.Equal(t, "", event.RioToken) + assert.Equal(t, "http://websocket-proxy", event.DevProxyHost) + assert.Equal(t, "318947018", event.QueueID) + assert.Equal(t, "183730338", event.EventID) + assert.Equal(t, "2024-12-30 18:08:15", event.Created) +} diff --git a/webhook/event_story_test.go b/webhook/event_story_test.go index d327697..dd2f493 100644 --- a/webhook/event_story_test.go +++ b/webhook/event_story_test.go @@ -1,26 +1,83 @@ package webhook import ( - "encoding/json" "testing" "github.com/stretchr/testify/assert" ) +func TestStoryEvent_StoryCreateEvent(t *testing.T) { + var event StoryCreateEvent + loadAndParseWebhookData(t, "story/create.json", &event) + + assert.Equal(t, EventTypeStoryCreate, event.Event) + assert.Equal(t, "web", event.EventFrom) + assert.Equal(t, "https://www.tapd.cn/11112222/prong/stories/add?workitem_type_id=1111112222001000077", event.Referer) + assert.Equal(t, "11112222", event.WorkspaceID) + assert.Equal(t, "current_user", event.CurrentUser) + assert.Equal(t, "1111112222001071295", event.ID) + assert.Equal(t, "asdfasdfasdfasdfasdf", event.Name) + assert.Equal(t, "adafsasdfasdf