PostgreSQL - Repository Polling - Periodically (v5.7-)

お困りですか?

アトラシアン コミュニティをご利用ください。

コミュニティに質問

プラットフォームについて: 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.7.X  

PostgreSQLリポジトリをポーリングして変更を確認する

Lets find out how to get Bamboo's repository polling values from PostgreSQL database along with updating those values.

Get repository polling 

/**
 * Bamboo version: 5.7-
 * Database: PostgreSQL
 * Triggers: 'Repository polling' > 'Polling strategy' > 'Periodically'
 */
select B.FULL_KEY as PLAN_KEY,
       B.TITLE as TITLE,
       VL.PLUGIN_KEY as REPOSITORY_TYPE,
       unnest(xpath
        ('//buildStrategies/buildStrategy/key[text()="poll"]/../config/item/key[text()="repository.change.poll.type"]/../value[text()="PERIOD"]/../../item/key[text()="repository.change.poll.pollingPeriod"]/../value/text()',CAST(BD.XML_DEFINITION_DATA as XML)
       ))::text::int 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
 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.7-
 * Database: PostgreSQL
 * Triggers: 'Repository polling' > 'Polling strategy' > 'Periodically'
 * Condition: lower than 190 seconds
 */
select B.FULL_KEY as PLAN_KEY,
       B.TITLE as TITLE,
       VL.PLUGIN_KEY as REPOSITORY_TYPE,
       unnest(xpath
        ('//buildStrategies/buildStrategy/key[text()="poll"]/../config/item/key[text()="repository.change.poll.type"]/../value[text()="PERIOD"]/../../item/key[text()="repository.change.poll.pollingPeriod"]/../value/text()',CAST(BD.XML_DEFINITION_DATA as XML)
       ))::text::int 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 = true
   and (xpath
        ('//buildStrategies/buildStrategy/key[text()="poll"]/../config/item/key[text()="repository.change.poll.type"]/../value[text()="PERIOD"]/../../item/key[text()="repository.change.poll.pollingPeriod"]/../value/text()',CAST(BD.XML_DEFINITION_DATA as XML)
       ))[1]::text::int < 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.7-
 * Database: PostgreSQL
 * 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,
       unnest(xpath
        ('//buildStrategies/buildStrategy/key[text()="poll"]/../config/item/key[text()="repository.change.poll.type"]/../value[text()="PERIOD"]/../../item/key[text()="repository.change.poll.pollingPeriod"]/../value/text()',CAST(BD.XML_DEFINITION_DATA as XML)
       ))::text::int 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.7-
 * Database: PostgreSQL
 * 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,
       unnest(xpath
        ('//buildStrategies/buildStrategy/key[text()="poll"]/../config/item/key[text()="repository.change.poll.type"]/../value[text()="PERIOD"]/../../item/key[text()="repository.change.poll.pollingPeriod"]/../value/text()',CAST(BD.XML_DEFINITION_DATA as XML)
       ))::text::int 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:

  1. stop Bamboo (bring the instance down)
  2. run the UPDATE statement against Bamboo's database:

    Update repository polling to 600 seconds
    /**
     * Bamboo version: 5.7-
     * Database: MySQL
     * Triggers: 'Repository polling' > 'Polling strategy' > 'Periodically'
     * Condition: update Repository polling to 600 seconds in a given Plan
     */
    update BUILD_DEFINITION
       set XML_DEFINITION_DATA = replace(
         XML_DEFINITION_DATA, 
         (xpath('//buildStrategies/buildStrategy/key[text()="poll"]/../config/item/key[text()="repository.change.poll.type"]/../value[text()="PERIOD"]/../../item/key[text()="repository.change.poll.pollingPeriod"]/../value',CAST(XML_DEFINITION_DATA as XML)))[1]::text, 
         '<value>600</value>'
       )
     where BUILD_DEFINITION_ID = 2654209;
  3. start Bamboo

 

最終更新日 2018 年 11 月 2 日

この内容はお役に立ちましたか?

はい
いいえ
この記事についてのフィードバックを送信する
Powered by Confluence and Scroll Viewport.