В случае, если у кого-то еще есть такая же проблема: после некоторого исследования, мне пришло в голову решить мою проблему, это изменить плагин уведомлений для конвейера jenkins, чтобы добавить новое поле, которое будет содержать значение времени (в минутах) для отсрочки вызова URL. В самом коде, где был вызван URL, я поместил эти строки в новый поток и позволил этому потоку бездействовать в течение необходимого количества времени перед выполнением оставшегося кода. Примерно так:
@Override
public void onStarted(final Run r, final TaskListener listener) {
HudsonNotificationProperty property = (HudsonNotificationProperty) r.getParent().getProperty(HudsonNotificationProperty.class);
int invokeUrlTimeout = 0;
if (property != null && !property.getEndpoints().isEmpty()){
invokeUrlTimeout = property.getEndpoints().get(0).getInvokeUrlTimeout();
}
int finalInvokeUrlTimeout = invokeUrlTimeout;
new Thread(() -> {
sleep(finalInvokeUrlTimeout * 60 * 1000);
Executor e = r.getExecutor();
Phase.QUEUED.handle(r, TaskListener.NULL, e != null ? System.currentTimeMillis() - e.getTimeSpentInQueue() : 0L);
Phase.STARTED.handle(r, listener, r.getTimeInMillis());
}).start();
}
Возможно, не лучшее решение, но оно работает для меня, и я надеюсь, что оно поможет и другим людям.