<freeStyleBuild _class='hudson.model.FreeStyleBuild'><action _class='hudson.model.CauseAction'><cause _class='com.cloudbees.jenkins.GitHubPushCause'><shortDescription>Started by GitHub push by ti-chi-bot[bot]</shortDescription></cause><cause _class='com.cloudbees.jenkins.GitHubPushCause'><shortDescription>Started by GitHub push by ti-chi-bot[bot]</shortDescription></cause></action><action></action><action _class='jenkins.metrics.impl.TimeInQueueAction'><blockedDurationMillis>0</blockedDurationMillis><blockedTimeMillis>0</blockedTimeMillis><buildableDurationMillis>19245</buildableDurationMillis><buildableTimeMillis>19245</buildableTimeMillis><buildingDurationMillis>46621</buildingDurationMillis><executingTimeMillis>46621</executingTimeMillis><executorUtilization>1.0</executorUtilization><subTaskCount>0</subTaskCount><waitingDurationMillis>8438</waitingDurationMillis><waitingTimeMillis>8438</waitingTimeMillis></action><action _class='hudson.plugins.git.util.BuildData'><buildsByBranchName><originmain _class='hudson.plugins.git.util.Build'><buildNumber>1450</buildNumber><marked><SHA1>8c47148a13ed50d245856a44c91664cb3e2346ad</SHA1><branch><SHA1>8c47148a13ed50d245856a44c91664cb3e2346ad</SHA1><name>origin/main</name></branch></marked><revision><SHA1>8c47148a13ed50d245856a44c91664cb3e2346ad</SHA1><branch><SHA1>8c47148a13ed50d245856a44c91664cb3e2346ad</SHA1><name>origin/main</name></branch></revision></originmain></buildsByBranchName><lastBuiltRevision><SHA1>8c47148a13ed50d245856a44c91664cb3e2346ad</SHA1><branch><SHA1>8c47148a13ed50d245856a44c91664cb3e2346ad</SHA1><name>origin/main</name></branch></lastBuiltRevision><remoteUrl>https://github.com/PingCAP-QE/ci.git</remoteUrl><scmName></scmName></action><action></action><action></action><action></action><action></action><action></action><action></action><action _class='org.jenkinsci.plugins.displayurlapi.actions.RunDisplayAction'></action><building>false</building><displayName>#1450</displayName><duration>46621</duration><estimatedDuration>50732</estimatedDuration><fullDisplayName>seed #1450</fullDisplayName><id>1450</id><inProgress>false</inProgress><keepLog>false</keepLog><number>1450</number><queueId>3349236</queueId><result>SUCCESS</result><timestamp>1772449768803</timestamp><url>https://do.pingcap.net/jenkins/job/seed/1450/</url><builtOn>default-9n808</builtOn><changeSet _class='hudson.plugins.git.GitChangeSetList'><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>jobs/pingcap/tidb/latest/periodics_integration_test.groovy</affectedPath><affectedPath>prow-jobs/pingcap/tidb/latest-periodics.yaml</affectedPath><commitId>8c47148a13ed50d245856a44c91664cb3e2346ad</commitId><timestamp>1772449736000</timestamp><author><absoluteUrl>https://do.pingcap.net/jenkins/user/noreply</absoluteUrl><fullName>noreply</fullName></author><authorEmail>noreply@github.com</authorEmail><comment>Migrate Jenkins cron-triggered integration test to Prow periodic (#4264)

The `periodics_integration_test` job for `pingcap/tidb` (latest/master)
was self-scheduling via a Jenkins cron trigger (`0 * * * *`), bypassing
Prow and causing potential duplication with centrally-managed
scheduling.

## Changes

- **`prow-jobs/pingcap/tidb/latest-periodics.yaml`** — Added Prow
periodic entry for `pingcap/tidb/latest/periodics_integration_test`
using `agent: jenkins`, retaining the original hourly schedule:
  ```yaml
  - name: pingcap/tidb/latest/periodics_integration_test
    agent: jenkins
    labels:
master: "0" # Jenkins master instance to run this job (0 = default
master)
    decorate: false
    cron: "0 * * * *" # every hour
    extra_refs:
      - org: pingcap
        repo: tidb
        base_ref: master
  ```

- **`jobs/pingcap/tidb/latest/periodics_integration_test.groovy`** —
Removed `pipelineTriggers { triggers { cron{ spec('0 * * * *') } } }`
block. The Jenkins job definition is retained so Prow can invoke it;
scheduling ownership now lives exclusively in Prow.

&lt;!-- START COPILOT ORIGINAL PROMPT --&gt;



&lt;details&gt;

&lt;summary&gt;Original prompt&lt;/summary&gt;

&gt; 
&gt; ----
&gt; 
&gt; *This section details on the original issue you should resolve*
&gt; 
&gt; &lt;issue_title&gt;Migrate Jenkins cron jobs to Prow periodic&lt;/issue_title&gt;
&gt; &lt;issue_description&gt;Identify Jenkins scheduled/periodic jobs and move
them to Prow periodic jobs to avoid multi-Jenkins duplication.
&gt; 
&gt; Acceptance criteria:
&gt; - Jenkins cron triggers removed or disabled
&gt; - Equivalent Prow periodic jobs added
&gt; - Schedule ownership documented
&gt; &lt;/issue_description&gt;
&gt; 
&gt; &lt;agent_instructions&gt;the jenkins job defined in `jobs/`
folder.&lt;/agent_instructions&gt;
&gt; 
&gt; ## Comments on the Issue (you are @copilot in this section)
&gt; 
&gt; &lt;comments&gt;
&gt; &lt;/comments&gt;
&gt; 


&lt;/details&gt;



&lt;!-- START COPILOT CODING AGENT SUFFIX --&gt;

- Fixes PingCAP-QE/ci#4207

&lt;!-- START COPILOT CODING AGENT TIPS --&gt;
---

🔒 GitHub Advanced Security automatically protects Copilot coding agent
pull requests. You can protect all pull requests by enabling Advanced
Security for your repositories. [Learn more about Advanced
Security.](https://gh.io/cca-advanced-security)

---------

Co-authored-by: copilot-swe-agent[bot] &lt;198982749+Copilot@users.noreply.github.com&gt;
Co-authored-by: wuhuizuo &lt;2574558+wuhuizuo@users.noreply.github.com&gt;
</comment><date>2026-03-02 11:08:56 +0000</date><id>8c47148a13ed50d245856a44c91664cb3e2346ad</id><msg>Migrate Jenkins cron-triggered integration test to Prow periodic (#4264)</msg><path><editType>edit</editType><file>jobs/pingcap/tidb/latest/periodics_integration_test.groovy</file></path><path><editType>edit</editType><file>prow-jobs/pingcap/tidb/latest-periodics.yaml</file></path></item><kind>git</kind></changeSet><culprit><absoluteUrl>https://do.pingcap.net/jenkins/user/noreply</absoluteUrl><fullName>noreply</fullName></culprit></freeStyleBuild>