jenkinsci / jenkinsci/cloudbees-folder-plugin

[JENKINS-75975] Multibranch Pipeline - Orphaned Item Strategy not removing builds for closed PR's until next scan

Open
#725 4 comments 0 reactions 0 assignees View on GitHub
component:cloudbees-folder-plugin imported-jira-issue priority:minor resolution:unresolved
Dominant language
Java
Stars
59
Forks
117
PR merge metrics
No merged PRs in 30d

Description

I have a Bitbucket multibranch pipeline set to discover only PR's. The orphaned item strategy is set to discard old items with both options 'Days to keep old items' and 'Max # of old items to keep' being empty. The config.xml for my top level job contains this

 "com.cloudbees.hudson.plugins.folder.computed.DefaultOrphanedItemStrategy" plugin="cloudbees-folder@​6.1037.v4cb_8573b_72a_a_"> 

   true
   -1
   -1
   false
 

With these settings build jobs for closed PR's are never deleted. Jenkins does notice that a PR was closed because the build jobs is stricken through in this case, but not removed. The event log shows 'PREvent REMOVED' is received.

 

[Wed Aug 06 17:23:26 UTC 2025] Received com.cloudbees.jenkins.plugins.bitbucket.hooks.PREvent CREATED event from 104.192.140.240 ⇒ https://jenknis.mydomain.com:8080/bitbucket-scmsource-hook/notify with timestamp Wed Aug 06 17:23:21 UTC 2025

Connecting to https://bitbucket.org using xh2XVc8rjZurKMzFwS/****** (Bitbucket OAuth for multibranch pipeline)
Initialized PR: https://bitbucket.org/something/other/pull-requests/3649
Looking up something/other for pull requests
Checking PR-3649 from something/other and branch bugfix/SRCH-6152
      'Jenkinsfile' found
    Met criteria
Scheduled build for branch: PR-3649
  1 pull requests were processed (query completed)
[Wed Aug 06 17:23:27 UTC 2025] com.cloudbees.jenkins.plugins.bitbucket.hooks.PREvent CREATED event from 104.192.140.240 ⇒ https://jenknis.mydomain.com:8080/bitbucket-scmsource-hook/notify with timestamp Wed Aug 06 17:23:21 UTC 2025 processed in 1.2 sec
[Wed Aug 06 17:23:30 UTC 2025] Received com.cloudbees.jenkins.plugins.bitbucket.hooks.PREvent UPDATED event from 104.192.140.240 ⇒ https://jenknis.mydomain.com:8080/bitbucket-scmsource-hook/notify with timestamp Wed Aug 06 17:23:25 UTC 2025
Connecting to https://bitbucket.org using xh2XVc8rjZurKMzFwS/****** (Bitbucket OAuth for multibranch pipeline)
Initialized PR: https://bitbucket.org/something/other/pull-requests/3649
Looking up something/other for pull requests
Checking PR-3649 from something/other and branch bugfix/SRCH-6152
      'Jenkinsfile' found
    Met criteria
No changes detected: PR-3649 (still at 3a74f1e5f6c9+7f94d5bea397)
  1 pull requests were processed (query completed)
[Wed Aug 06 17:23:31 UTC 2025] com.cloudbees.jenkins.plugins.bitbucket.hooks.PREvent UPDATED event from 104.192.140.240 ⇒ https://jenknis.mydomain.com:8080/bitbucket-scmsource-hook/notify with timestamp Wed Aug 06 17:23:25 UTC 2025 processed in 1 sec
[Wed Aug 06 17:23:34 UTC 2025] Received com.cloudbees.jenkins.plugins.bitbucket.hooks.PREvent REMOVED event from 104.192.140.240 ⇒ https://jenknis.mydomain.com:8080/bitbucket-scmsource-hook/notify with timestamp Wed Aug 06 17:23:29 UTC 2025
Connecting to https://bitbucket.org using xh2XVc8rjZurKMzFwS/****** (Bitbucket OAuth for multibranch pipeline)
Looking up something/other for pull requests
  0 pull requests were processed
[Wed Aug 06 17:23:34 UTC 2025] com.cloudbees.jenkins.plugins.bitbucket.hooks.PREvent REMOVED event from 104.192.140.240 ⇒ https://jenknis.mydomain.com:8080/bitbucket-scmsource-hook/notify with timestamp Wed Aug 06 17:23:29 UTC 2025 processed in 0.24 sec

However the jobs remain in this state forever unless i delete them manually or trigger a manual scan.

My understanding of the documentation is that with these settings the builds should be automatically removed. Am i missing something?

Best Regards

---
Originally reported by azhelev, imported from: Multibranch Pipeline - Orphaned Item Strategy not removing builds for closed PR's until next scan


  • status: Open
  • priority: Minor
  • component(s): cloudbees-folder-plugin
  • resolution: Unresolved
  • votes: 0
  • watchers: 3
  • imported: 20251211-141027

Raw content of original issue

I have a Bitbucket multibranch pipeline set to discover only PR's. The orphaned item strategy is set to discard old items with both options 'Days to keep old items' and 'Max # of old items to keep' being empty. The config.xml for my top level job contains this



 <orphanedItemStrategy class="com.cloudbees.hudson.plugins.folder.computed.DefaultOrphanedItemStrategy" plugin="cloudbees-folder@6.1037.v4cb_8573b_72a_a_"> 

   <pruneDeadBranches>true</pruneDeadBranches>
   <daysToKeep>-1</daysToKeep>
   <numToKeep>-1</numToKeep>
   <abortBuilds>false</abortBuilds>
 </orphanedItemStrategy>

With these settings build jobs for closed PR's are never deleted. Jenkins does notice that a PR was closed because the build jobs is stricken through in this case, but not removed. The event log shows 'PREvent REMOVED' is received.

 



[Wed Aug 06 17:23:26 UTC 2025] Received com.cloudbees.jenkins.plugins.bitbucket.hooks.PREvent CREATED event from 104.192.140.240 ⇒ https://jenknis.mydomain.com:8080/bitbucket-scmsource-hook/notify with timestamp Wed Aug 06 17:23:21 UTC 2025

Connecting to https://bitbucket.org using xh2XVc8rjZurKMzFwS/****** (Bitbucket OAuth for multibranch pipeline)
Initialized PR: https://bitbucket.org/something/other/pull-requests/3649
Looking up something/other for pull requests
Checking PR-3649 from something/other and branch bugfix/SRCH-6152
      'Jenkinsfile' found
    Met criteria
Scheduled build for branch: PR-3649
  1 pull requests were processed (query completed)
[Wed Aug 06 17:23:27 UTC 2025] com.cloudbees.jenkins.plugins.bitbucket.hooks.PREvent CREATED event from 104.192.140.240 ⇒ https://jenknis.mydomain.com:8080/bitbucket-scmsource-hook/notify with timestamp Wed Aug 06 17:23:21 UTC 2025 processed in 1.2 sec
[Wed Aug 06 17:23:30 UTC 2025] Received com.cloudbees.jenkins.plugins.bitbucket.hooks.PREvent UPDATED event from 104.192.140.240 ⇒ https://jenknis.mydomain.com:8080/bitbucket-scmsource-hook/notify with timestamp Wed Aug 06 17:23:25 UTC 2025
Connecting to https://bitbucket.org using xh2XVc8rjZurKMzFwS/****** (Bitbucket OAuth for multibranch pipeline)
Initialized PR: https://bitbucket.org/something/other/pull-requests/3649
Looking up something/other for pull requests
Checking PR-3649 from something/other and branch bugfix/SRCH-6152
      'Jenkinsfile' found
    Met criteria
No changes detected: PR-3649 (still at 3a74f1e5f6c9+7f94d5bea397)
  1 pull requests were processed (query completed)
[Wed Aug 06 17:23:31 UTC 2025] com.cloudbees.jenkins.plugins.bitbucket.hooks.PREvent UPDATED event from 104.192.140.240 ⇒ https://jenknis.mydomain.com:8080/bitbucket-scmsource-hook/notify with timestamp Wed Aug 06 17:23:25 UTC 2025 processed in 1 sec
[Wed Aug 06 17:23:34 UTC 2025] Received com.cloudbees.jenkins.plugins.bitbucket.hooks.PREvent REMOVED event from 104.192.140.240 ⇒ https://jenknis.mydomain.com:8080/bitbucket-scmsource-hook/notify with timestamp Wed Aug 06 17:23:29 UTC 2025
Connecting to https://bitbucket.org using xh2XVc8rjZurKMzFwS/****** (Bitbucket OAuth for multibranch pipeline)
Looking up something/other for pull requests
  0 pull requests were processed
[Wed Aug 06 17:23:34 UTC 2025] com.cloudbees.jenkins.plugins.bitbucket.hooks.PREvent REMOVED event from 104.192.140.240 ⇒ https://jenknis.mydomain.com:8080/bitbucket-scmsource-hook/notify with timestamp Wed Aug 06 17:23:29 UTC 2025 processed in 0.24 sec

However the jobs remain in this state forever unless i delete them manually or trigger a manual scan.
My understanding of the documentation is that with these settings the builds should be automatically removed. Am i missing something?

Best Regards

environment

```
Jenkins: 2.516.1

OS: Linux - 6.8.0-1032-aws ubuntu 22.04

Java: 17.0.15 - Ubuntu (OpenJDK 64-Bit Server VM)

---

amazon-ecr:1.155.v3d884c1b_dee1

ansible:524.v9fa_a_4c989224

ansicolor:1.0.6

ant:513.vde9e7b_a_0da_0f

antisamy-markup-formatter:173.v680e3a_b_69ff3

apache-httpcomponents-client-4-api:4.5.14-269.vfa_2321039a_83

apache-httpcomponents-client-5-api:5.5-150.veb_76e719855b_

asm-api:9.8-163.vb_2a_96d3f9c3c

atlassian-jira-software-cloud:2.0.15

audit-log:1.3

audit-trail:395.vce180b_359a_b_5

authentication-tokens:1.144.v5ff4a_5ec5c33

aws-credentials:248.v78a_dcfc9db_ff

aws-java-sdk:1.12.780-480.v4a_0819121a_9e

aws-java-sdk-api-gateway:1.12.780-480.v4a_0819121a_9e

aws-java-sdk-autoscaling:1.12.780-480.v4a_0819121a_9e

aws-java-sdk-cloudformation:1.12.780-480.v4a_0819121a_9e

aws-java-sdk-cloudfront:1.12.780-480.v4a_0819121a_9e

aws-java-sdk-cloudwatch:1.12.780-480.v4a_0819121a_9e

aws-java-sdk-codebuild:1.12.780-480.v4a_0819121a_9e

aws-java-sdk-codedeploy:1.12.780-480.v4a_0819121a_9e

aws-java-sdk-ec2:1.12.780-480.v4a_0819121a_9e

aws-java-sdk-ecr:1.12.780-480.v4a_0819121a_9e

aws-java-sdk-ecs:1.12.780-480.v4a_0819121a_9e

aws-java-sdk-efs:1.12.780-480.v4a_0819121a_9e

aws-java-sdk-elasticbeanstalk:1.12.780-480.v4a_0819121a_9e

aws-java-sdk-elasticloadbalancingv2:1.12.780-480.v4a_0819121a_9e

aws-java-sdk-iam:1.12.780-480.v4a_0819121a_9e

aws-java-sdk-kinesis:1.12.780-480.v4a_0819121a_9e

aws-java-sdk-lambda:1.12.780-480.v4a_0819121a_9e

aws-java-sdk-logs:1.12.780-480.v4a_0819121a_9e

aws-java-sdk-minimal:1.12.780-480.v4a_0819121a_9e

aws-java-sdk-organizations:1.12.780-480.v4a_0819121a_9e

aws-java-sdk-secretsmanager:1.12.780-480.v4a_0819121a_9e

aws-java-sdk-sns:1.12.780-480.v4a_0819121a_9e

aws-java-sdk-sqs:1.12.780-480.v4a_0819121a_9e

aws-java-sdk-ssm:1.12.780-480.v4a_0819121a_9e

aws-java-sdk2-core:2.31.63-54.vcf1e5a_c56c49

aws-java-sdk2-ec2:2.31.63-54.vcf1e5a_c56c49

aws-java-sdk2-ecr:2.31.63-54.vcf1e5a_c56c49

bitbucket-push-and-pull-request:3.2.0

blueocean:1.27.21

blueocean-autofavorite:1.2.5

blueocean-bitbucket-pipeline:1.27.21

blueocean-commons:1.27.21

blueocean-config:1.27.21

blueocean-core-js:1.27.21

blueocean-dashboard:1.27.21

blueocean-display-url:2.4.4

blueocean-events:1.27.21

blueocean-git-pipeline:1.27.21

blueocean-github-pipeline:1.27.21

blueocean-i18n:1.27.21

blueocean-jira:1.27.21

blueocean-jwt:1.27.21

blueocean-personalization:1.27.21

blueocean-pipeline-api-impl:1.27.21

blueocean-pipeline-editor:1.27.21

blueocean-pipeline-scm-api:1.27.21

blueocean-rest:1.27.21

blueocean-rest-impl:1.27.21

blueocean-web:1.27.21

bootstrap5-api:5.3.7-2

bouncycastle-api:2.30.1.81-264.v95c79c0e772c

branch-api:2.1235.v04e86c7ce54c

browserstack-integration:1.2.24

build-pipeline-plugin:2.0.2

build-timeout:1.38

build-user-vars-plugin:195.v8c35f9d5c3dc

caffeine-api:3.2.2-178.v353b_8428ed56

checks-api:373.vfe7645102093

cloudbees-bitbucket-branch-source:936.4.4

cloudbees-folder:6.1037.v4cb_8573b_72a_a_

clover:4.14.2.628.ve412b_714e733

command-launcher:123.v37cfdc92ef67

commons-collections4-api:4.5.0-8.va_d5448ef9011

commons-compress-api:1.28.0-1

commons-lang3-api:3.18.0-98.v3a_674c06072d

commons-text-api:1.14.0-194.v804a_dc3a_1b_d8

conditional-buildstep:1.5.0

credentials:1419.v2337d1ceceef

credentials-binding:702.vfe613e537e88

dashboard-view:2.537.v5132851f6ca_f

data-tables-api:2.3.2-3

display-url-api:2.217.va_6b_de84cc74b_

docker-build-publish:1.4.0

docker-commons:457.v0f62a_94f11a_3

docker-java-api:3.5.3-122.v156e51f30c0a_

docker-workflow:621.va_73f881d9232

durable-task:595.ve87b_f1318d67

ec2:1994.v250f0efb_336a_

ec2-fleet:4.0.0.502.v329a_307d2a_5d

echarts-api:6.0.0-1

eddsa-api:0.3.0.1-19.vc432d923e5ee

email-ext:1925.v1598902b_58dd

extended-read-permission:61.vf24570ff3b_e9

external-monitor-job:223.vb_fddcf42c9b_3

extra-columns:1.27

favorite:2.237.v79163ca_8b_892

font-awesome-api:7.0.0-1

git:5.7.0

git-client:6.3.0

git-parameter:444.vca_b_84d3703c2

git-server:137.ve0060b_432302

github:1.44.0

github-api:1.321-488.v9b_c0da_9533f8

github-branch-source:1834.v857721ea_74c6

gson-api:2.13.1-153.vb_3d0c48a_a_b_4a_

handy-uri-templates-2-api:2.1.8-36.v85e4cb_234a_13

htmlpublisher:427

instance-identity:203.v15e81a_1b_7a_38

ionicons-api:94.vcc3065403257

jackson2-api:2.19.2-408.v18248a_324cfe

jakarta-activation-api:2.1.3-2

jakarta-mail-api:2.1.3-2

javadoc:354.vee1a_660b_4990

javax-activation-api:1.2.0-8

javax-mail-api:1.6.2-11

jaxb:2.3.9-133.vb_ec76a_73f706

jdk-tool:83.v417146707a_3d

jenkins-design-language:1.27.21

jersey2-api:2.47-165.ve7809a_3e87e0

jira:3.18

jjwt-api:0.11.5-120.v0268cf544b_89

jnr-posix-api:3.1.20-166.v50a_50932c65b_

job-dsl:1.93

joda-time-api:2.14.0-149.v1c3ce991d1b_9

jquery:1.12.4-3

jquery3-api:3.7.1-3

jsch:0.2.16-95.v3eecb_55fa_b_78

json-api:20250517-163.v1c5da_e99c775

json-path-api:2.9.0-178.vca_b_c71881321

jsoup:1.21.1-58.vfc578e6e2610

junit:1335.v6b_a_a_e18534e1

kubernetes:4358.vcfd9c5a_0a_f51

kubernetes-client-api:7.3.1-256.v788a_0b_787114

kubernetes-credentials:203.v85b_9836a_f44b_

ldap:780.vcb_33c9a_e4332

locale:597.v7781ce70d4cf

lockable-resources:1408.vb_7d1f371781d

mailer:515.vd788654779b_1

matrix-auth:3.2.6

matrix-project:849.v0cd64ed7e531

maven-plugin:3.26

mercurial:1309.v6802b_f0efb_b_9

metrics:4.2.32-481.v75f035fdc894

mina-sshd-api-common:2.15.0-161.vb_200831a_c15b_

mina-sshd-api-core:2.15.0-161.vb_200831a_c15b_

mina-sshd-api-scp:2.15.0-161.vb_200831a_c15b_

multibranch-action-triggers:1.8.10

node-iterator-api:72.vc90e81737df1

okhttp-api:4.11.0-189.v976fa_d3379d6

oss-symbols-api:392.v27a_482d90083

pam-auth:1.12

parameterized-trigger:859.vb_e3907a_07a_16

pipeline-build-step:571.v08a_fffd4b_0ce

pipeline-github-lib:65.v203688e7727e

pipeline-graph-analysis:241.vc3d48fb_b_2582

pipeline-groovy-lib:752.vdddedf804e72

pipeline-input-step:532.v9e7466cb_4406

pipeline-milestone-step:138.v78ca_76831a_43

pipeline-model-api:2.2258.v4e96d2b_da_f9b_

pipeline-model-definition:2.2258.v4e96d2b_da_f9b_

pipeline-model-extensions:2.2258.v4e96d2b_da_f9b_

pipeline-rest-api:2.38

pipeline-stage-step:322.vecffa_99f371c

pipeline-stage-tags-metadata:2.2258.v4e96d2b_da_f9b_

pipeline-stage-view:2.38

pipeline-utility-steps:2.19.0

plain-credentials:199.v9f8e1f741799

plugin-usage-plugin:4.10

plugin-util-api:6.1.0

publish-over:0.22

publish-over-ssh:390.vb_f56e7405751

pubsub-light:1.19

resource-disposer:0.25

role-strategy:799.v5b_e7b_ecc231e

run-condition:243.v3c3f94e46a_8b_

scm-api:707.v749f968369d4

script-security:1378.vf25626395f49

slack:795.v4b_9705b_e6d47

snakeyaml-api:2.3-125.v4d77857a_b_402

sse-gateway:1.28

ssh-credentials:361.vb_f6760818e8c

ssh-slaves:3.1071.v0d059c7b_c555

sshd:3.372.v5d04a_e92d8cf

structs:353.v261ea_40a_80fb_

support-core:1744.vf4f8e8f2b_0b_5

timestamper:1.30

token-macro:477.vd4f0dc3cb_cf1

trilead-api:2.209.v0e69b_c43c245

variant:70.va_d9f17f859e0

workflow-aggregator:608.v67378e9d3db_1

workflow-api:1382.veca_a_efe062fa_

workflow-basic-steps:1079.vce64b_a_929c5a_

workflow-cps:4175.ve65b_fa_663eed

workflow-durable-task-step:1446.v3efd13441220

workflow-job:1540.v295eccc9778f

workflow-multibranch:810.v6b_6e77da_7058

workflow-scm-step:437.v05a_f66b_e5ef8

workflow-step-api:706.v518c5dcb_24c0

workflow-support:976.vb_d9493c2eb_09

ws-cleanup:0.48

```

2 attachments

- [Screenshot_20250807_164625.png](https://issues.jenkins.io/secure/attachment/64753/Screenshot_20250807_164625.png)
> ![Screenshot_20250807_164625.png](https://issues.jenkins.io/secure/attachment/64753/Screenshot_20250807_164625.png)
- [Screenshot_20250807_164658.png](https://issues.jenkins.io/secure/attachment/64752/Screenshot_20250807_164658.png)
> ![Screenshot_20250807_164658.png](https://issues.jenkins.io/secure/attachment/64752/Screenshot_20250807_164658.png)

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.