Document toolboxDocument toolbox

Outgoing webhooks

What is the meaning of outgoing webhooks?

Outgoing webhooks in Projectrak refer to the mechanism through which the application communicates with external systems when specific events or actions occur within the application. It allows Projectrak to send data or trigger actions in other systems, facilitating seamless integration and interaction between different software platforms.

At present, the only supported event for outgoing webhooks in Projectrak is the update of project field values. This means that when any changes are made to the field values of a project within the application, Projectrak can trigger an outgoing webhook to notify and transmit relevant information to external systems.

How it works

Whenever there is a change in the value of one or multiple fields in a project, Projectrak will send a notification to the configured external system. This notification contains the relevant data about the changes that occurred.

The webhooks in Projectrak are designed to respond to changes made in both system project fields and custom fields added by Projectrak. However, calculated fields of Formula type are excluded and do not trigger webhooks notifications.

To integrate with Projectrak's webhooks, the external system you want to communicate with must have a URL that accepts POST requests. This URL acts as the endpoint where Projectrak will send the webhook notifications containing the change data.

 

What specific information does the POST request sent by Projectrak's webhook contain?

When a webhook is triggered in Projectrak, it will initiate a POST request to the URL that has been configured by the Jira administrator. This POST request will contain the following data:

  • Type of event: The specific event that triggered the webhook, such as a field value change.

  • User information: The user who made the change in the fields, providing details about the author of the modification.

  • Timestamp: The exact moment when the change was made, allowing you to track the timing of the event.

  • Project details: The project that has been updated, including its relevant information and identifiers.

  • Field changes: A list of fields that have been modified, along with the specific modifications made to each field.

Example of request body

{ data: { event: "updated", user: "DUMMY-ACCOUNT-ID-4c44-b436-73155f48d985", timestamp: 1675182117615, project: { id: 13647, key: "DEMO", name: "Demo project" }, fields: [ { id: 12345, name: "Budget", type: "number", value: { current: "23.000", previous: "25.000" } }, { id: 54321, name: "Status", type: "status", value: { current: "Done", previous: "On track" } } ] } }

 

Configure an outgoing webhooks

1. Go to Projectrak Administration and then to Outgoing webhooks

 

2. Click on Create webhook

 

3. Provide a name to identify the webhook and specify the URL where you want the requests to be made.

The webhook functionality only supports secure requests under the HTTPS protocol.

 4. Save the webhook

Check the outgoing webhook status

In the webhook administration section, you will be able to see all the created webhooks, their last execution, and their latest returned status.

Two types of statuses will be displayed:

  • OK for all status codes in the 2xx range.

  • ERROR for the rest of the status codes.

Field value formats

Fields without a value will be represented as "null" for single values or as an empty array for fields with multiple selections.

All field values are strings except the null object. The list below indicates the information that will be send in each field type:

  • Text: The text.

  • Text multiple line: The text with the markup.

  • Number: The number.

  • Date: The date in format yyyy-mm-dd.

  • Duration: The duration in milliseconds.

  • Priority: The name of the priority.

  • Status: The name of the status.

  • List: The option name.

  • List multiple selection: A list of option names.

  • User: The user account id

  • User multiple selection: A list of user account ids.

  • Project: The project id

  • Project multiple selection: A list of project ids.