MySQL - Repository Polling - Periodically (v5.8+)
プラットフォームについて: Server および Data Center のみ。この記事は、Server および Data Center プラットフォームのアトラシアン製品にのみ適用されます。
Support for Server* products ended on February 15th 2024. If you are running a Server product, you can visit the Atlassian Server end of support announcement to review your migration options.
*Fisheye および Crucible は除く
製品 | バージョン | データベース | Documentation reference |
---|---|---|---|
Bamboo | V5.8.X V5.9.X V5.10.X V5.11.X V5.12.X V5.13.X | MySQL | リポジトリをポーリングして変更を確認する |
Lets find out how to get Bamboo's repository polling values from MySQL database along with updating those values.
- Get repository polling
- Get repository polling lower than 190 seconds
- Get repository polling when using Git as Repository host
- Get repository polling when using Subversion as Repository host
- Update repository polling to 600 seconds
Get repository polling
/**
* Bamboo version: 5.8+
* Database: MySQL
* Triggers: 'Repository polling' > 'Polling strategy' > 'Periodically'
*/
select B.FULL_KEY as PLAN_KEY,
B.TITLE as TITLE,
VL.PLUGIN_KEY as REPOSITORY_TYPE,
ExtractValue(BD.XML_DEFINITION_DATA,
'//triggerDefinition/pluginKey[text()="com.atlassian.bamboo.triggers.atlassian-bamboo-triggers:poll"]/../config/item/key[text()="repository.change.poll.type"]/../value[text()="PERIOD"]/../../item/key[text()="repository.change.poll.pollingPeriod"]/../value'
) as FREQUENCY,
BD.BUILD_DEFINITION_ID as BUILD_DEFINITION_ID
from VCS_LOCATION as VL
join PLAN_VCS_LOCATION as PVL on PVL.VCS_LOCATION_ID = VL.VCS_LOCATION_ID
join BUILD as B on PVL.PLAN_ID = B.BUILD_ID
join BUILD_DEFINITION as BD on B.BUILD_ID = BD.BUILD_ID
where B.SUSPENDED_FROM_BUILDING = false
and ExtractValue(BD.XML_DEFINITION_DATA,
'//triggerDefinition/pluginKey[text()="com.atlassian.bamboo.triggers.atlassian-bamboo-triggers:poll"]/../config/item/key[text()="repository.change.poll.type"]/../value[text()="PERIOD"]/../../item/key[text()="repository.change.poll.pollingPeriod"]/../value'
) != ''
order by FREQUENCY desc, PLAN_KEY, TITLE;
What expect from query above:
PLAN_KEY | タイトル | REPOSITORY_TYPE | FREQUENCY | BUILD_DEFINITION_ID |
---|---|---|---|---|
REP-SVN | Subversion | com.atlassian.bamboo.plugin.system.repository:svn | 190 | 2654213 |
REP-GIT | Git | com.atlassian.bamboo.plugins.atlassian-bamboo-plugin-git:git | 180 | 2654209 |
Get repository polling lower than 190 seconds
/**
* Bamboo version: 5.8+
* Database: MySQL
* Triggers: 'Repository polling' > 'Polling strategy' > 'Periodically'
*/
select B.FULL_KEY as PLAN_KEY,
B.TITLE as TITLE,
VL.PLUGIN_KEY as REPOSITORY_TYPE,
ExtractValue(BD.XML_DEFINITION_DATA,
'//triggerDefinition/pluginKey[text()="com.atlassian.bamboo.triggers.atlassian-bamboo-triggers:poll"]/../config/item/key[text()="repository.change.poll.type"]/../value[text()="PERIOD"]/../../item/key[text()="repository.change.poll.pollingPeriod"]/../value'
) as FREQUENCY,
BD.BUILD_DEFINITION_ID as BUILD_DEFINITION_ID
from VCS_LOCATION as VL
join PLAN_VCS_LOCATION as PVL on PVL.VCS_LOCATION_ID = VL.VCS_LOCATION_ID
join BUILD as B on PVL.PLAN_ID = B.BUILD_ID
join BUILD_DEFINITION as BD on B.BUILD_ID = BD.BUILD_ID
where B.SUSPENDED_FROM_BUILDING = false
and ExtractValue(BD.XML_DEFINITION_DATA,
'//triggerDefinition/pluginKey[text()="com.atlassian.bamboo.triggers.atlassian-bamboo-triggers:poll"]/../config/item/key[text()="repository.change.poll.type"]/../value[text()="PERIOD"]/../../item/key[text()="repository.change.poll.pollingPeriod"]/../value'
) != ''
and ExtractValue(BD.XML_DEFINITION_DATA,
'//triggerDefinition/pluginKey[text()="com.atlassian.bamboo.triggers.atlassian-bamboo-triggers:poll"]/../config/item/key[text()="repository.change.poll.type"]/../value[text()="PERIOD"]/../../item/key[text()="repository.change.poll.pollingPeriod"]/../value'
) < 190
order by FREQUENCY desc, PLAN_KEY, TITLE;
What expect from query above:
PLAN_KEY | タイトル | REPOSITORY_TYPE | FREQUENCY | BUILD_DEFINITION_ID |
---|---|---|---|---|
REP-GIT | Git | com.atlassian.bamboo.plugins.atlassian-bamboo-plugin-git:git | 180 | 2654209 |
Get repository polling when using Git as Repository Host
/**
* Bamboo version: 5.8+
* Database: MySQL
* Triggers: 'Repository polling' > 'Polling strategy' > 'Periodically'
* Condition: 'Repository host' as Git
*/
select B.FULL_KEY as PLAN_KEY,
B.TITLE as TITLE,
VL.PLUGIN_KEY as REPOSITORY_TYPE,
ExtractValue(BD.XML_DEFINITION_DATA,
'//triggerDefinition/pluginKey[text()="com.atlassian.bamboo.triggers.atlassian-bamboo-triggers:poll"]/../config/item/key[text()="repository.change.poll.type"]/../value[text()="PERIOD"]/../../item/key[text()="repository.change.poll.pollingPeriod"]/../value'
) as FREQUENCY,
BD.BUILD_DEFINITION_ID as BUILD_DEFINITION_ID
from VCS_LOCATION as VL
join PLAN_VCS_LOCATION as PVL on PVL.VCS_LOCATION_ID = VL.VCS_LOCATION_ID
join BUILD as B on PVL.PLAN_ID = B.BUILD_ID
join BUILD_DEFINITION as BD on B.BUILD_ID = BD.BUILD_ID
where B.SUSPENDED_FROM_BUILDING = false
and VL.PLUGIN_KEY = 'com.atlassian.bamboo.plugins.atlassian-bamboo-plugin-git:git'
order by FREQUENCY desc, PLAN_KEY, TITLE;
What expect from query above:
PLAN_KEY | タイトル | REPOSITORY_TYPE | FREQUENCY | BUILD_DEFINITION_ID |
---|---|---|---|---|
REP-GIT | Git | com.atlassian.bamboo.plugins.atlassian-bamboo-plugin-git:git | 180 | 2654209 |
Get repository polling when using Subversion as Repository Host
/**
* Bamboo version: 5.8+
* Database: MySQL
* Triggers: 'Repository polling' > 'Polling strategy' > 'Periodically'
* Condition: 'Repository host' as Git
*/
select B.FULL_KEY as PLAN_KEY,
B.TITLE as TITLE,
VL.PLUGIN_KEY as REPOSITORY_TYPE,
ExtractValue(BD.XML_DEFINITION_DATA,
'//triggerDefinition/pluginKey[text()="com.atlassian.bamboo.triggers.atlassian-bamboo-triggers:poll"]/../config/item/key[text()="repository.change.poll.type"]/../value[text()="PERIOD"]/../../item/key[text()="repository.change.poll.pollingPeriod"]/../value'
) as FREQUENCY,
BD.BUILD_DEFINITION_ID as BUILD_DEFINITION_ID
from VCS_LOCATION as VL
join PLAN_VCS_LOCATION as PVL on PVL.VCS_LOCATION_ID = VL.VCS_LOCATION_ID
join BUILD as B on PVL.PLAN_ID = B.BUILD_ID
join BUILD_DEFINITION as BD on B.BUILD_ID = BD.BUILD_ID
where B.SUSPENDED_FROM_BUILDING = false
and VL.PLUGIN_KEY = 'com.atlassian.bamboo.plugin.system.repository:svn'
order by FREQUENCY desc, PLAN_KEY, TITLE;
What expect from query above:
PLAN_KEY | タイトル | REPOSITORY_TYPE | FREQUENCY | BUILD_DEFINITION_ID |
---|---|---|---|---|
REP-SVN | Subversion | com.atlassian.bamboo.plugin.system.repository:svn | 190 | 2654213 |
Update Repository polling to 600 seconds
In order to run the updates, you will be required to:
- stop Bamboo (bring the instance down)
run the UPDATE statement against Bamboo's database:
Update repository polling to 600 seconds/** * Bamboo version: 5.8+ * Database: MySQL * Triggers: 'Repository polling' > 'Polling strategy' > 'Periodically' * Condition: update Repository polling to 600 seconds in a given Plan */ update BUILD_DEFINITION as BD set BD.XML_DEFINITION_DATA = UpdateXML(BD.XML_DEFINITION_DATA,'//triggerDefinition/pluginKey[text()="com.atlassian.bamboo.triggers.atlassian-bamboo-triggers:poll"]/../config/item/key[text()="repository.change.poll.type"]/../value[text()="PERIOD"]/../../item/key[text()="repository.change.poll.pollingPeriod"]/../value', '<value>600</value>') where BD.BUILD_DEFINITION_ID = 2654213;
- start Bamboo