<p>The behavior is hardcoded; you cannot change or configure it in vanilla Jenkins (you could conceivably configure this behavior by writing your own plugin).  Specifically, the behavior is: as long as there are at least 10 completed builds in your job, the feed should always contain at least 10 builds.  There will only be more than 10 builds in the feed if there have been more than 10 completed builds in the past 7 days.</p>
<p>From the source code, <a href="https://github.com/jenkinsci/jenkins/blob/41cea0899085399afa677757ac818e78cda938b1/core/src/main/java/hudson/model/Job.java#L1578-L1581" rel="nofollow noreferrer">the rssAll page fetches all new builds using the newBuilds() method</a>:</p>
<pre><code>    public void doRssAll(StaplerRequest req, StaplerResponse rsp)
            throws IOException, ServletException {
        RSS.rss(req, rsp, &quot;Jenkins:&quot; + getDisplayName() + &quot; (all builds)&quot;, getUrl(), getBuilds().newBuilds());
    }

</code></pre>
<p>and <a href="https://github.com/jenkinsci/jenkins/blob/41cea0899085399afa677757ac818e78cda938b1/core/src/main/java/hudson/util/RunList.java#L348-L368" rel="nofollow noreferrer">the newBuilds() method returns all completed builds from the past 7 days,  or the 10 most recent builds if there are fewer than 10 builds in the past 7 days</a>:</p>
<pre><code>    /**
     * Reduce the size of the list by only leaving relatively new ones.
     * This also removes on-going builds, as RSS cannot be used to publish information
     * if it changes.
     * &lt;em&gt;Warning:&lt;/em&gt; this method mutates the original list and then returns it.
     */
    public RunList&lt;R&gt; newBuilds() {
        GregorianCalendar cal = new GregorianCalendar();
        cal.add(Calendar.DAY_OF_YEAR, -7);
        final long t = cal.getTimeInMillis();

        // can't publish on-going builds
        return filter((Predicate&lt;R&gt;) r -&gt; !r.isBuilding())
        // put at least 10 builds, but otherwise ignore old builds
        .limit(new CountingPredicate&lt;R&gt;() {
            @Override
            public boolean apply(int index, R r) {
                return index &lt; 10 || r.getTimeInMillis() &gt;= t;
            }
        });
    }
</code></pre>

CC BY-SA 4.0
2024-02-23T10:00:20.227Z
It was not always like this. The change (regression IMHO) came starting from version 2.215. See the bug: https://issues.jenkins.io/browse/JENKINS-39207 and vote it. I also don't like new behavior and I commented it there.
Alexander Samoylov
CC BY-SA 4.0
2021-11-15T17:15:04.267Z
2021-11-15T17:15:04.267Z
jayhendren
<p>Inside any Jenkins job, I have the button &quot;Atom feed for all&quot; at the bottom of the page.
It gives an XML with details about the last 10 builds.
I need to increase it somehow to get more than 10.
Is it possible?
Do I require admin user for that?</p>

<jenkins>
how to increase "Atom feed for all" default value
Tomerhek
# how to increase "Atom feed for all" default value

(Asked by: username_0 on 2021-11-14)

Inside any Jenkins job, I have the button "Atom feed for all" at the bottom of the page.
It gives an XML with details about the last 10 builds.
I need to increase it somehow to get more than 10.
Is it possible?
Do I require admin user for that?

**Tags:** jenkins


---

## 1 answers

### Answer by username_1 on 2021-11-15. Score: 1 | Accepted answer

The behavior is hardcoded; you cannot change or configure it in vanilla Jenkins (you could conceivably configure this behavior by writing your own plugin).  Specifically, the behavior is: as long as there are at least 10 completed builds in your job, the feed should always contain at least 10 builds.  There will only be more than 10 builds in the feed if there have been more than 10 completed builds in the past 7 days.
From the source code, the rssAll page fetches all new builds using the newBuilds() method:
    public void doRssAll(StaplerRequest req, StaplerResponse rsp)
            throws IOException, ServletException {
        RSS.rss(req, rsp, "Jenkins:" + getDisplayName() + " (all builds)", getUrl(), getBuilds().newBuilds());
    }


and the newBuilds() method returns all completed builds from the past 7 days,  or the 10 most recent builds if there are fewer than 10 builds in the past 7 days:
    /**
     * Reduce the size of the list by only leaving relatively new ones.
     * This also removes on-going builds, as RSS cannot be used to publish information
     * if it changes.
     * Warning: this method mutates the original list and then returns it.
     */
    public RunList newBuilds() {
        GregorianCalendar cal = new GregorianCalendar();
        cal.add(Calendar.DAY_OF_YEAR, -7);
        final long t = cal.getTimeInMillis();

        // can't publish on-going builds
        return filter((Predicate) r -> !r.isBuilding())
        // put at least 10 builds, but otherwise ignore old builds
        .limit(new CountingPredicate() {
            @Override
            public boolean apply(int index, R r) {
                return index < 10 || r.getTimeInMillis() >= t;
            }
        });
    }

> **Comments:**
> **username_2**: It was not always like this. The change (regression IMHO) came starting from version 2.215. See the bug: https://issues.jenkins.io/browse/JENKINS-39207 and vote it. I also don't like new behavior and I commented it there.  

---

