I contacted Plane about the below quirks and confirmed that a complete reworking of the webhooks is on the way.
Link to the Discord thread: https://discord.com/channels/1031547764020084846/1448814959524974662
As such, I'm deploying the super messy MVP in anticipation of having to rework it soon, and I will revisit this project when the Plane team releases the revised webhook implementation.
- When updating assignees for a task, the
assigneesfieldold_valueandnew_valuevalues display only the name for the individual assignee added or removed, whereas theassignee_idsfield includes values for the all of the assignees.- It would be really helpful if the
assigneesvalues showed all assignees, old and new, likeassignee_idsdoes so I don't have to maintain an id to name mapping on my side.
- It would be really helpful if the
- When creating a new task, the issue creation event correctly fires, but then, if there are assignees on this newly created task, the issue updated for
assigneesfield webhook is triggered as well, resulting in extra notifications and a misleadingupdatednotification. - Field changes that trigger double-sending webhooks:
issue_commentcreatedtarget_datestart_datenamepriority
- The only way to retrieve issue title from a comment webhook is to use the ids and make an API call, which is more complicated than I'd like just to see the name of the issue a comment is associated with.
- When you edit an issue's description, both the
descriptionanddescription_htmlfield webhooks trigger; however, theold_valueandnew_valuevalues are HTML for both. And then sometimes, depending on the content, thedescriptionold_valueandnew_valuevalues arenullwhendescription_htmlhas content. - The
descriptionandnamewebhooks trigger on every autosave, causing them to spam if there is any pause in typing the updated description. - Assigning a module triggers the
issuecreatedaction instead ofissueupdated. Similarly, removing a module triggers theissuedeletedaction instead ofissueupdated.- Cycle assignment and removal shows the same behavior.
- Add pipeline to build mbp file
- Add usage instructions
- Explain what it does
- refactor so it is less messy
- explain expansion via integration with the Plane SDK