This enables users in the white list to trigger any job
that uses the lf-infra-github-trigger macro.
In addition you can set users in the admin-list to have
admin rights on a pr.
Change-Id: Ib69095008780e8ba3a752aaeb498e7d6f8582cb5
JIRA: RELENG-174
Signed-off-by: Jeremy Phelps <jphelps@linuxfoundation.org>
Signed-off-by: Thanh Ha <thanh.ha@linuxfoundation.org>
## Parameters stored in defaults.yaml
## Parameters stored in defaults.yaml
-Configure the following parameters in the ci-management repo's defaults.yaml
-file.
+Configure the following parameters in the ci-management repo's
+defaults.yaml file.
-**gerrit-server-name**: The name of the Gerrit Server as defined in Gerrit
-Trigger global configuration.
+**gerrit-server-name**: The name of the Gerrit Server as defined
+in Gerrit Trigger global configuration.
-**jenkins-ssh-credential**: The name of the Jenkins Credential to use for ssh
-connections.
+**jenkins-ssh-credential**: The name of the Jenkins Credential to
+use for ssh connections.
-If you are using GitHub then configure the following parameters in defaults.yaml
+If you are using GitHub then configure the following parameters
+in defaults.yaml
**git-url**: Set this to the base URL of your GitHub repo. In
**git-url**: Set this to the base URL of your GitHub repo. In
-general this should be <https://github.com>. If you are using GitHub
-Enterprise, or some other GitHub-style system, then it should be
-whatever your installation base URL is.
+general this should be <https://github.com>. If you are using
+GitHub Enterprise, or some other GitHub-style system, then it
+should be whatever your installation base URL is.
-**git-clone-url**: This is the clone prefix used by GitHub jobs. Set this to
-either the same thing as **git-url** or the
+**git-clone-url**: This is the clone prefix used by GitHub jobs.
+Set this to either the same thing as **git-url** or the
'git@github.com:' including the trailing ':'
'git@github.com:' including the trailing ':'
-**github-org**: The name of the GitHub organization.
+**github-org**: The name of the GitHub organization interpolated
+into the scm config.
+
+**github_pr_org**: The name of the GitHub organization. All members
+of this organization will be able to trigger any job using the
+`lf-infra-github-pr` macro.
+
+**github_pr_whitelist**: List of GitHub members you wish to be able to
+trigger any job that uses the `lf-infra-github-pr-trigger` macro.
+
+**github_pr_admin_list**: List of GitHub members that will have admin
+privileges on any job using the `lf-infra-github-pr-trigger`
+macro.
jenkins-ssh-credential: opendaylight-jenkins-ssh
gerrit-server-name: OpenDaylight
github-org: lfit
jenkins-ssh-credential: opendaylight-jenkins-ssh
gerrit-server-name: OpenDaylight
github-org: lfit
+ github_pr_whitelist:
+ - jpwku
+ - tykeal
+ - zxiiro
+ github_pr_admin_list:
+ - tykeal
```
## Config File Management
```
## Config File Management
- github
- pollscm:
cron: ''
- github
- pollscm:
cron: ''
+ - lf-infra-github-pr-trigger:
trigger-phrase: '^remerge$'
only-trigger-phrase: true
status-context: 'JJB Merge'
permit-all: false
github-hooks: true
trigger-phrase: '^remerge$'
only-trigger-phrase: true
status-context: 'JJB Merge'
permit-all: false
github-hooks: true
- auto-close-on-fail: false
- org-list:
- - '{github-org}'
+ github-org: '{github-org}'
+ github_pr_whitelist: '{obj:github_pr_whitelist}'
+ github_pr_admin_list: '{obj:github_pr_admin_list}'
- job-template:
name: '{project-name}-jjb-verify'
- job-template:
name: '{project-name}-jjb-verify'
jenkins-ssh-credential: '{jenkins-ssh-credential}'
triggers:
jenkins-ssh-credential: '{jenkins-ssh-credential}'
triggers:
+ - lf-infra-github-pr-trigger:
trigger-phrase: '^recheck$'
only-trigger-phrase: false
status-context: 'JJB Verify'
permit-all: true
github-hooks: true
trigger-phrase: '^recheck$'
only-trigger-phrase: false
status-context: 'JJB Verify'
permit-all: true
github-hooks: true
- auto-close-on-fail: false
+ github-org: ''
+ github_pr_whitelist:
+ - ''
+ github_pr_admin_list:
+ - ''
recursive: '{submodule-recursive}'
choosing-strategy: '{choosing-strategy}'
recursive: '{submodule-recursive}'
choosing-strategy: '{choosing-strategy}'
+############
+# TRIGGERS #
+############
+
+- trigger:
+ name: lf-infra-github-pr-trigger
+ triggers:
+ - github-pull-request:
+ trigger-phrase: '{trigger-phrase}'
+ only-trigger-phrase: '{only-trigger-phrase}'
+ status-context: '{status-context}'
+ permit-all: '{permit-all}'
+ github-hooks: '{github-hooks}'
+ auto-close-on-fail: false
+ org-list:
+ - '{github-org}'
+ white-list: '{obj:github_pr_whitelist}'
+ admin-list: '{obj:github_pr_admin_list}'
+
############
# WRAPPERS #
############
############
# WRAPPERS #
############
git-url: https://github.com
git-clone-url: 'git@github.com:'
github-org: example-org
git-url: https://github.com
git-clone-url: 'git@github.com:'
github-org: example-org
+ github_pr_whitelist:
+ - jpwku
+ - tykeal
+ - zxiiro
+ github_pr_admin_list:
+ - tykeal
# Common test config
project: releng/ciman
# Common test config
project: releng/ciman