Skip to main content
Plan requirement: This feature requires an On-call Standard or higher subscription. Learn more
Use a JFrog Artifactory predefined webhook to sync artifact deploys, deletes, moves, and copies to Flashduty On-call. Each deployed artifact becomes one change, and deleting that same artifact later updates the change to Canceled; each move or copy becomes a change of its own.

In Flashduty On-call


  1. In the Flashduty console, go to Integration Center → Change Events
  2. Select JFrog Artifactory and enter an integration name
  3. To assign changes to specific channels, add rules under the integration’s Routes that match labels such as repo or path
  4. Click Save and copy the generated Push URL

Configure JFrog Artifactory


1

Create a webhook

  1. Sign in to the JFrog Platform and select All Projects or a specific project
  2. Go to Platform → Integrations → Webhooks and click New Webhook
  3. Keep the Predefined toggle selected (do not use Custom)
You need admin or project admin permission.
2

Enter the Push URL

  1. Name: for example, flashduty-changes
  2. URL: paste the complete Flashduty integration Push URL
  3. Secret token: leave empty; Flashduty authenticates with the integration_key in the Push URL
3

Select events and repositories

  1. Under Artifacts, select Artifact was deployed, Artifact was deleted, Artifact was moved, and Artifact was copied
  2. Select the repositories to watch: all local repositories, a list of repositories, or include/exclude path patterns
  3. Click Test to check connectivity, then click Create
Test sends JFrog’s sample data (checksum sample_checksum); Flashduty returns success but records no change.

What one change is


JFrog payloads carry no change ID, so Flashduty identifies an artifact by its location plus its content checksum: For moved and copied, <repository>/<path> is the artifact’s original location and <target> is the payload’s target_repo_path.

Status mapping


Artifactory sends artifact events after the operation completes, so each change has already ended when its first event arrives. The following deliveries return success but record no change: event domains other than artifacts (Artifact Properties, Docker, Builds, Release Bundles, and so on), cached (a remote repository caching a downloaded artifact, which is not a change), and the sample data sent by the Test button.

Change content


The link is built from the payload’s jpd_origin; when the payload has no such field, the change has no link. Labels can be used in routes and to filter the change list:

FAQ


  • Make sure the webhook is Predefined and has events under Artifacts selected
  • Make sure the repository you deploy to is within the webhook’s selected repositories
  • Check the delivery records and Flashduty’s responses on the webhook’s Troubleshooting tab (on JFrog Cloud, the instance must have this feature enabled)
Deploying a file with identical content to the same path adds an event to the existing change instead of creating a new one. Different content creates a new change.
A retry adds an event but does not create a new change. JFrog payloads carry no event time, so Flashduty records each event at the time it is received and cannot recognize a retry.
  • unsupported event_type: Flashduty received an artifact event it does not support yet; contact us
  • data.repo_key is missing, data.path is missing, data.sha256 is missing, or data.target_repo_path is missing: the payload is incomplete; make sure you use a Predefined webhook, not a Custom webhook with a customized payload