2-Way Sync with ClickUp and Jira

We create tickets in Jira for customers. I want those tickets as well as any updates (status, due date, description, etc) reflected in ClickUp.

I have the ticket being created in a “create” scenario. I also have another “update” scenario, but I can’t figure out how to create the relationship from Jira to ClickUp for an existing ticket.

I’d like to have it as a single scenario, to create the ticket if it doesn’t exist, else update it, but right now, I can’t figure out the update portion.

Hello @James_Booth and welcome to the Community!

There’s a lot going on here so just need to start breaking it down.

  1. In order to update something in ClickUp when something in Jira changes, you need to have a reference to that ClickUp item stored in Jira, maybe in a Custom Field.
  2. You need to decide what changes to capture in Jira and how to capture them. Are you using a “Watch Issues - Triggers when a ticket event occurs” module?
2 Likes
  1. The Jira tickets does have a custom field, “External Id”. I can’t seem to figure out how to populate it. I need to populate it after I’ve created the task in ClickUp. I tried using another Jira module “Update custom field options” but it doesn’t work. I’m not sure what that does or I’m not using it correct.
  2. I am using “Watch Issues”. Will this handle either Create or Update in the same scenario? The documentation isn’t clear. Does “By created time” or “by updated time” make a difference?

Using “Update an Issue”, I did get it to populate, but I had to choose the “Project ID” and “Issue Type”. That lookup doesn’t seem flexible. How do I update the ticket that just triggered the scenario?

I was able to figure it all out.

  1. Jira “Watch Issues” fetches the changes
  2. An iterator iterates on the created/updated issues
  3. A router checks if the Jira ticket has a ClickUp id.
  4. If it doesn’t have a ClickUp ID, it creates the ClickUp Task and uses the Jira API to update the custom field.
  5. If it does have the ClickUp ID, it gets the ClickUp Task and then edits the ClickUp Task.

Still tweaking it, but it seems to be working so far.

1 Like

Sounds like a solid plan!

There is another option, and that is to set up webhooks on the Jira side for certain events.
Make would receive those and be configured to handle them accordingly.

2 Likes

Thank. I’m looking into seeing if I can reduce the number of operations. Right now it’s 4 operations to create and sync a single Jira Issue to ClickUp and 5 operations to update a single issue in ClickUp. I feel that I could just throw the whole thing on a lambda and bypass Make altogether. I’m already doing half of the flow in a lambda, querying Jira and generating a status page. I would just need to wire up ClickUp. I’ll keep diggin in.

Just to add to this…
I set up Webhooks in my Jira instance and it does allow you select what type of events you want and from which types of fields. For example you can get events only when issues are created, updated, and/or deleted.
Or for when comments are added, modified, deleted.

The payload also includes what change triggered the event, the old and new values of the field that triggered the event, as well as all of the issue’s current field values.

2 Likes