How to fix "Only subscriptions with Pull delivery mode are supported by the plugin."
Description of the Error
The error "Only subscriptions with Pull delivery mode are supported by the plugin." typically occurs when you are integrating a messaging, event streaming, or pub/sub service (such as Google Cloud Pub/Sub, Azure Service Bus, or Apache Kafka integrations) with a third-party application, DevOps tool, or specialized Windows plugin.
This error signifies a delivery mechanism mismatch. In pub/sub architecture, there are two primary methods for delivering messages from a subscription to a subscriber:
- Push Delivery: The messaging service proactively pushes data/events to a webhook or a specific HTTPS endpoint hosted by your application.
- Pull Delivery: Your application (the subscriber) actively initiates requests to the messaging service to fetch or "pull" new messages at its own pace.
The plugin you are using on Windows has been hardcoded or configured to only process messages using the Pull architecture. It does not possess the necessary webhook handlers, listeners, or security configurations required to receive asynchronous Push requests from the server. When the plugin connects and detects that the subscription is configured to push data instead of waiting for a pull request, it halts operation and throws this error.
Step-by-Step Fix
To resolve this issue, you need to change the configuration of your messaging queue/topic subscription from Push to Pull, or create a brand new subscription that natively uses the Pull delivery mode.
Below are the universal steps to fix this, using Google Cloud Pub/Sub as the primary example, as this error most frequently originates from Google Cloud plugins (like the Jenkins GCP Pub/Sub plugin, Splunk add-ons, or custom Windows integrations).
Step 1: Identify the Subscription Cause
- Look at the configuration file or settings screen of the Windows plugin throwing the error.
- Note down the exact Subscription Name or ID it is trying to connect to.
- Note down the project ID or namespace where this subscription resides.
Step 2: Access your Cloud or Messaging Console
- Open your web browser and log into the administrative console managing your messaging queue (e.g., Google Cloud Console).
- Navigate to the project or account that contains your messaging infrastructure.
- Locate the messaging section. For Google Cloud, use the top search bar or left navigation menu to go to Pub/Sub and then click on Subscriptions.
Step 3: Check the Delivery Method
- In the list of subscriptions, find the subscription name you noted in Step 1.
- Look at the Delivery method or Delivery type column. You will likely see it listed as Push.
Step 4: Change or Recreate the Subscription to 'Pull'
Note: Some cloud providers do not allow you to change the delivery type of an existing subscription directly. If the UI allows you to edit it to Pull, do so. If it is grayed out, follow the recreation steps below.
- Click the Create Subscription button at the top of the Subscriptions page.
- In the Subscription ID field, type a new name (e.g.,
my-topic-pull-sub). - Select the cloud Topic that your Windows plugin needs to listen to.
- Under the Delivery type options, look for the radio buttons or dropdown and explicitly select Pull.
- Leave the remaining settings (like message retention, dead-lettering, or retry policy) at their default values, or match them to your previous subscription requirements.
- Click Create at the bottom of the screen.
Step 5: Update your Windows Plugin Configuration
- Return to your Windows machine or server where the error occurred.
- Open the configuration file, environment variables, or management UI of the plugin.
- Replace the old push subscription name with the new Pull subscription name you generated in Step 4.
- Save the configuration changes.
Step 6: Restart the Windows Service / Application
- Open the Windows Start Menu, type
services.msc, and press Enter. - Locate the specific service running your plugin or application.
- Right-click the service name and select Restart (or Start if it was completely stopped by the error).
- Check your application logs to verify that the plugin successfully binds to the new Pull subscription without throwing errors.
There may be some errors. Learn Microsoft