jenkinsci / jenkinsci/workflow-multibranch-plugin

"Ignore tags older than" ignores tag date, uses commit date instead

Open
#579 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Java
Stars
87
Forks
131
PR merge metrics
No merged PRs in 30d

Description

### Jenkins and plugins versions report

Environment


```text
Jenkins: 2.568.1
OS: Linux - 6.12.95+deb13-cloud-arm64
Java: 21.0.11 - Debian (OpenJDK 64-Bit Server VM)
---
Office-365-Connector:5.3.0
Parameterized-Remote-Trigger:3.2.2
ace-editor:1.1
active-directory:2.41.2
amazon-ecr:1.161.v1a_1e8df852d6
ansicolor:536.v13fa_b_860c267
ant:520.vd082ecfb_16a_9
antisamy-markup-formatter:173.v680e3a_b_69ff3
any-buildstep:14.ve115ec1484f0
anything-goes-formatter:39.v625a_b_b_d4d1a_a_
apache-httpcomponents-client-4-api:4.5.14-269.vfa_2321039a_83
apache-httpcomponents-client-5-api:5.6.2-199.vc3c04d033fcc
artifactory:4.0.8
asm-api:9.10.1-216.va_9256d3b_844b_
authentication-tokens:1.144.v5ff4a_5ec5c33
aws-credentials:262.v0efb_28f71f94
aws-global-configuration:159.v882a_ecd03fe6
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-autoscaling:2.42.33-70.vd69c0763fa_60
aws-java-sdk2-cloudformation:2.42.33-70.vd69c0763fa_60
aws-java-sdk2-core:2.42.33-70.vd69c0763fa_60
aws-java-sdk2-ec2:2.42.33-70.vd69c0763fa_60
aws-java-sdk2-ecr:2.42.33-70.vd69c0763fa_60
aws-java-sdk2-netty-nio-client:2.42.33-70.vd69c0763fa_60
aws-java-sdk2-s3:2.42.33-70.vd69c0763fa_60
badge:3.591.v9074c6c6f0b_9
basic-branch-build-strategies:317.v85b_331d6cc42
bootstrap5-api:5.3.8-1048.va_c299057e35c
bouncycastle-api:2.30.1.84-291.v9f17b_21896e2
branch-api:2.1280.v0d4e5b_b_460ef
build-blocker-plugin:175.vc57a_d7dff5b_4
build-failure-analyzer:3.887.vc872cf1b_7dff
build-metrics:1.3
build-name-setter:2.5.1
build-timeout:1.40
build-user-vars-plugin:214.va_eed2ed849ca_
built-on-column:1.5
caffeine-api:3.2.4-208.v7e2da_a_7db_82b_
checks-api:415.vf022234a_931d
cloud-stats:423.v63f017a_f582c
cloudbees-folder:6.1100.ve9eed61d16c4
command-launcher:134.v025a_5fcf9dea_
commons-collections4-api:4.5.0-8.va_d5448ef9011
commons-compress-api:1.28.0-82.v4df6c060eb_66
commons-httpclient3-api:3.1-3
commons-lang3-api:3.20.0-109.ve43756e2d2b_4
commons-text-api:1.15.0-218.va_61573470393
conditional-buildstep:1.5.0
config-file-provider:1013.v73c323e52b_1f
configuration-as-code:2100.vb_fd699d2a_09c
configurationslicing:709.v4c76e613470f
copyartifact:795.ve8e151429b_27
credentials:1506.v948b_b_b_7dec44
credentials-binding:728.v902a_273b_8947
dark-theme:652.vea_da_dfea_e769
data-tables-api:2.3.8-1570.v1cb_1cd2a_0fb_c
date-parameter:58.v0ee8d1c59323
description-setter:264.v1957f215dcd5
display-url-api:2.217.va_6b_de84cc74b_
docker-build-publish:1.4.0
docker-commons:472.vee120e23d3a_c
docker-java-api:3.7.1-136.v5d70f77a_c3d6
docker-plugin:1324.v2fb_b_df97fe1d
docker-workflow:634.vedc7242b_eda_7
durable-task:686.v80ff80875b_82
ec2:2053.v86eb_364849fc
ec2-fleet:4.2.3.540.va_6eedb_7b_c112
echarts-api:6.0.0-1287.vfd24c22a_3d00
eddsa-api:0.3.0.1-29.v67e9a_1c969b_b_
email-ext:2038.v7b_8817a_499d9
embeddable-build-status:637.vd878e68178f8
emoji-symbols-api:17.0-57.v8d44b_9a_b_d5ea_
envinject:2.941.v351a_20c0a_3ca_
envinject-api:1.241.vdd714803b_403
extended-read-permission:68.vd270568a_7520
extensible-choice-parameter:255.vfa_41f46828ef
favorite:2.267.vb_90d08408081
flatpickr-api:4.6.13-32.v60a_51029c136
flexible-publish:0.16.1
font-awesome-api:7.2.0-990.vf220b_2a_496f9
git:5.10.1
git-client:6.6.1
git-parameter:462.463.v496a_59f698e5
git-server:137.ve0060b_432302
git-userContent:1.4
global-build-stats:347.v32a_eb_0493c4f
gradle:2.19.1244.v1f9866817fec
groovy:537.v741a_5a_f1b_581
groovy-label-assignment:1.2.0
groovy-postbuild:303.v5fe3da_6233f0
gson-api:2.14.0-201.v8eefe5515533
hashicorp-vault-plugin:383.v7529eea_ef531
hp-application-automation-tools-plugin:26.2
htmlpublisher:427.1
instance-identity:203.v15e81a_1b_7a_38
ionicons-api:94.vcc3065403257
ivy:604.v6dd214d04ef3
jackson-annotations2-api:2.22-19.v10a_a_582ea_26e
jackson2-api:2.22.0-439.vb_b_43658d6176
jackson3-api:3.2.1-92.vd25c2e23c180
jakarta-activation-api:2.1.4-1
jakarta-mail-api:2.1.5-1
jakarta-xml-bind-api:4.0.9-19.v2b_a_5b_44d9a_1c
javadoc:354.vee1a_660b_4990
javax-activation-api:1.2.0-8
javax-mail-api:1.6.2-11
jaxb:2.3.9-143.v5979df3304e6
jdk-tool:83.v417146707a_3d
jenkins-multijob-plugin:669.v9d96a_d9c71b_0
jersey2-api:2.48-180.ve47b_264f849b_
jfrog:1.8.0
jira:3.21
job-dsl:3654.vdf58f53e2d15
jobConfigHistory:1367.vc8fa_b_15101dc
joda-time-api:2.14.2-193.v422b_efce56e0
jquery:1.12.4-3
jquery3-api:3.7.1-687.v68d468e40b_30
jsch:0.2.16-95.v3eecb_55fa_b_78
json-api:20260522-217.v0b_18b_8cd4672
json-path-api:3.0.0-218.vcd4dd1355de2
jsoup:1.22.2-95.vc5d00f1eb_42d
junit:1413.v736fa_5b_61d80
kubernetes:4437.v3a_18554d3f32
kubernetes-client-api:7.3.1-256.v788a_0b_787114
kubernetes-credentials:207.v492f58828b_ed
leastload:71.vb_585f7a_dc4f5
locale:641.v84f22d75fd8b_
lockable-resources:1537.v68d014129e68
logstash:2.5.0236.v8fc08ee0b_78d
mailer:534.v1b_36f5864073
mask-passwords:220.v95819055b_265
matrix-auth:3.2.10
matrix-project:870.v9db_fcfc2f45b_
maven-plugin:3.27
mercurial:1323.ve69d2a_db_8a_b_d
metrics:4.2.37-494.v06f9a_939d33a_
mina-sshd-api-common:2.17.1-187.v0341274c2905
mina-sshd-api-core:2.17.1-187.v0341274c2905
mina-sshd-api-scp:2.17.1-187.v0341274c2905
monitoring:2.8.0
multi-branch-project-plugin:0.7
multiple-scms:0.8
netty-api:4.2.15.Final-27.va_a_7872799c63
node-iterator-api:72.vc90e81737df1
nodelabelparameter:851.vd94e5048d321
okhttp-api:5.3.2-200.vedb_720a_cf1f8
oss-symbols-api:465.v25d9fdc88c26
parameter-separator:334.v1fc0e534c71d
parameterized-trigger:893.va_383a_9b_a_4c11
permissive-script-security:0.7
pipeline-build-step:584.vdb_a_2cc3a_d07a_
pipeline-graph-analysis:254.v0f63a_a_447dca_
pipeline-groovy-lib:798.v5cc688825312
pipeline-input-step:560.v56198a_642157
pipeline-model-api:2.2291.v2934911987b_6
pipeline-model-definition:2.2291.v2934911987b_6
pipeline-model-extensions:2.2291.v2934911987b_6
pipeline-rest-api:2.41
pipeline-stage-step:345.va_96187909426
pipeline-stage-tags-metadata:2.2291.v2934911987b_6
pipeline-stage-view:2.41
pipeline-utility-steps:3.810.va_7672d206740
plain-credentials:199.v9f8e1f741799
plugin-usage-plugin:418.v308c3c863d25
plugin-util-api:7.1341.v039f146993d9
popper2-api:2.11.6-5
powershell:185.v7a_026da_c54ee
prism-api:1.30.0-741.v034eb_0b_0a_a_fa_
promoted-builds:992.va_00888f21b_74
publish-over:238.v1db_583004c9b_
publish-over-ssh:390.vb_f56e7405751
rebuild:338.va_0a_b_50e29397
resource-disposer:0.25
run-condition:276.v97298f3a_cd51
s3:520.v4381b_80b_f969
saferestart:102.v4dc1b_9636a_ee
scm-api:728.vc30dcf7a_0df5
script-security:1402.1405.vc96e74964250
sidebar-link:2.5.0
snakeyaml-api:2.5-149.v72471e9c6371
snakeyaml-engine-api:3.0.1-5.vd98ea_ff3b_92e
ssh-agent:396.vcc7d84e622ec
ssh-credentials:372.va_250881b_08cd
ssh-slaves:3.1097.v868116049892
sshd:3.384.vc89b_5e138cf9
structs:362.va_b_695ef4fdf9
swarm:1254.vf26a_5e188f26
testng-plugin:981.v1dc64d227855
theme-manager:346.v06cca_64c6a_37
throttle-concurrents:625.vc8b_e469e9a_b_c
timestamper:1.30
token-macro:477.vd4f0dc3cb_cf1
trilead-api:2.284.v1974ea_324382
uno-choice:2.8.9
validating-string-parameter:345.v0f4330488a_f6
variant:70.va_d9f17f859e0
versionnumber:234.v315d3b_3cb_fb_5
view-job-filters:406.va_0ec67147ee2
windows-slaves:1.8.1
woodstox-core-api:7.2.1-6.v3718a_a_11f5c4
workflow-api:1413.v2ff1a_5e720fa_
workflow-basic-steps:1098.v808b_fd7f8cf4
workflow-cps:4350.vcc65d4958821
workflow-durable-task-step:1479.v56e587f413a_7
workflow-job:1581.ve4b_d0db_fcb_b_b_
workflow-multibranch:821.vc3b_4ea_780798
workflow-scm-step:466.va_d69e602552b_
workflow-step-api:724.v538c2362b_dfb_
workflow-support:1015.v785e5a_b_b_8b_22
ws-cleanup:0.49
```

### What Operating System are you using (both controller, and any agents involved in the problem)?

See above

### Reproduction steps

1. For a given MultiBranch Pipeline, attach a new annotated tag to a commit that is older than "Ignore tags older than" threshold
2. Push the new tag

### Expected Results

I expect the new tag to be built by the pipeline, because the help text for "Ignore tags older than" clearly says
> The number of days **since the tag was created** after which it is no longer eligible for automatic building.

It does NOT say "since the tagged commit was created".

Annotated tags do have a tag creation date, so it is possible follow what the documentation says, for example:
```
% git show SOME_TAG
tag SOME_TAG
Tagger: Some User
Date: Tue Aug 18 08:40:54 2026 +0000

Comment of annotated tag.
commit (HEAD, tag: SOME_TAG, origin/main, origin/HEAD, main)
Merge: 1234567 7654321
Author: Another User
Date: Mon Aug 10 07:38:13 2026 +0200

Merge branch 'some_branch' into 'main'
```

### Actual Results

The newly created tag is not built, because the tagged commit is older than the threshold. Scan log contains these lines:
```
Checking tag SOME_TAG

‘Jenkinsfile’ found

Met criteria

Changes detected: SOME_TAG (null → )

No automatic build triggered for SOME_TAG
```

### Anything else?

IMHO, the scan log output should also contain the reason for not triggering a build.

### Are you interested in contributing a fix?

Lacking the needed skills, sorry.

Contributor guide

Open the contributing guide

Research direction

Start by locating the workflow-multibranch-plugin implementation and tests for the “Ignore tags older than” setting, then trace how a newly pushed annotated tag is dated during scanning. Compare the tagger date with the tagged commit date and define tests covering an old commit with a new tag; done means the documented date is used and the scan log explains skipped builds.

Written by the indexing model from the issue text.

Assessment

Tech stack
git, java
Domain
ci-cd
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
52/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.