-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathgithub.yaml
More file actions
156 lines (155 loc) · 6.33 KB
/
Copy pathgithub.yaml
File metadata and controls
156 lines (155 loc) · 6.33 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
---
plugin: "github"
version: "0.1"
description: "Upstream github plugin for FORJJ. It properly configure github.com or entreprise with organisation/repos"
runtime:
docker:
image: "forjdevops/forjj-github"
service_type: "REST API"
service:
parameters: [ "service", "start" ]
task_flags: # Additional forjj task flags delivered by forjj to the plugin in req.Forj. Those flags are provided only through CLI.
common:
debug:
help: "To activate github debug information"
forjj-source-mount:
help: "Where the source dir is located for github plugin container."
forjj-deploy-mount:
help: "Path of the deployment repo source."
forjj-instance-name:
help: "Name of the jenkins instance given by forjj."
maintain:
forjj-workspace-mount:
help: "Where the workspace dir is located in the github plugin container."
force:
help: Set 'true' to force removal of teams/users when forjj creates a new forge.
objects: # All objects will be delivered by forjj except workspace/infra under objects/<type>/<instance>/<action>/key=value
# Define infra object special flag for github
app: # already defined by Forjj
# Default is : actions: ["add", "change", "remove"] No need to define it.
flags:
server:
help: "Github Enterprise Server name. By default, public 'github.com' API is used."
forjj-organization:
only-for-actions: ["add"]
help: "Default FORJJ Organization. Used by default as github organization. If you want different one, use --github-organization"
organization:
only-for-actions: ["add"]
help: "Github Organization name. By default, it uses the FORJJ organization name"
production-organization:
help: "Production github organization name. By default, it uses the FORJJ organization name"
default: "{{ .Deployments.GetFromPRO \"app\" .Current.Name \"organization\" }}"
forjj-infra:
only-for-actions: ["add", "change"]
help: "Name of the Infra repository to use in github if requested."
token:
cli-exported-to-actions: ["create", "update", "maintain"]
only-for-actions: ["add", "change"]
help: "github token to access. This token must authorize organization level access."
required: true
secure: true
envar: "TOKEN"
teams-disabled:
help: "true if the plugin should not manage github users and groups"
default: false
repos-disabled:
help: "true if the plugin should not manage github repositories except the infra repository."
default: false
organization-webhooks-disabled:
help: true if the plugin should not manage github organization webhooks.
default: false
repos-webhooks-disabled:
help: true if the plugin should not manage github repositories webhooks.
default: false
org-hook-policy:
help: Set 'sync' to manage all repository webhooks. set 'manage' to manage only listed.
default: sync
pro-deployment:
help: true if current deployment is production one
default: "{{ if (eq (.Deployments.Get .Current.Deployment).Type \"PRO\") }}true{{ else }}false{{ end }}"
# Define github group exposure to forjj
group: # New object type in forjj
# Default is : actions: ["add", "change", "remove", "list", "rename"]
help: "Manage teams in github"
identified_by_flag: name
flags:
members:
only-for-actions: ["add"]
help: "List of users to attach to the new group."
of-type: "[]string"
name:
help: "group name"
required: true
role:
only-for-actions: ["add"]
help: "List of roles to apply to the new group."
# Define github users exposure to forjj
user: # New object type in forjj
# Default is : actions: ["add", "change", "remove", "list", "rename"]
help: "Manage organization list of users"
identified_by_flag: name
flags:
name:
options:
help: "user name"
required: true
role:
only-for-actions: ["add"]
options:
help: "List of roles to apply to the new user."
repo: # Enhance Forjj repo object
actions: ["add", "change"]
flags:
name:
help: "Repository name"
title:
help: "Github Repository title"
issue_tracker:
help: "To activate the Issue tracker to the Repository"
default: "true"
users:
only-for-actions: ["add"]
help: "List of users to attach to the repository, separated by comma."
format-regexp: "[+-]?[a-zA-Z0-9]([a-zA-Z0-9-]*[a-zA-Z0-9])?([a-zA-Z0-9]([a-zA-Z0-9-]*[a-zA-Z0-9]))*,"
groups:
only-for-actions: ["add"]
help: "List of groups to attach to the repository, separated by comma."
format-regexp: "[+-]?[a-zA-Z0-9]([a-zA-Z0-9-]*[a-zA-Z0-9])?([a-zA-Z0-9]([a-zA-Z0-9-]*[a-zA-Z0-9]))*,"
flow:
help: "Flow activated on this repository"
forjj-workspace-mount:
help: "Where the workspace dir is located in the github plugin container."
webhooks-management:
help: Set 'sync' to manage all repository webhooks. set 'manage' to manage only listed.
default: sync
role:
help: Role of the repository. Forjj will set it to 'infra', 'deploy' or 'code'
Deployable:
internal: true
help: true if the repo is identified by forjj as deployable in the current deployment context
default: "{{ if (index .Forjfile.Repos .Current.Name).IsDeployable }}true{{ end }}"
webhooks:
identified_by_flag: name
flags:
name:
help: webhook name
required: true
url:
help: Webhook url to set
required: true
payload-format:
help: The media type used to serialize the payloads. Supported values include json and form. The default is form.
default: form
events:
help: events requested separated by comma
repos:
help: List of repositories separated by comma subscribing to the webhook.
organization:
help: true to enable the webhook at org level. default is false.
default: false
enabled:
help: set 'true' (default) to activate the webhook, 'false' otherwise or 'ignore' to ignore this setup.
default: true
ssl-check:
help: true (default) to ask github to verify the SSL.
default: true