Graham Mainwaring
08839e1381
Add approved_by field to workflow approvals
2019-10-11 16:57:13 -04:00
Rebeccah
7efacb69aa
added in parsing for multiple choice and multiselect, which either takes a string, splits it up, and then eliminates any extra newlines, or just accepts alist. Extra newlines are sanitized out.
...
Signed-off-by: Rebeccah <rhunter@redhat.com >
2019-10-09 13:59:32 -04:00
Shane McDonald
59413e0a8f
Change default pod spec in OPTIONS request to json
2019-10-04 13:21:28 -04:00
Jake McDermott
61a756c59d
add is_containerized to ig serializer
2019-10-04 13:21:27 -04:00
Jake McDermott
b547a8c3ca
link to container group from job runs
2019-10-04 13:21:27 -04:00
Shane McDonald
aab1cd68b0
Fix InstanceGroup summary fields
2019-10-04 13:21:24 -04:00
Shane McDonald
bd5003ca98
Task manager / scheduler Kubernetes integration
2019-10-04 13:21:21 -04:00
softwarefactory-project-zuul[bot]
2786395808
Merge pull request #4436 from jbradberry/webhook-receivers
...
Webhook receivers
Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-10-03 22:23:22 +00:00
Seth Foster
bbd625f3aa
update help_text to include information about REFRESH_TOKEN_EXPIRE_SECONDS
2019-10-02 17:16:01 -04:00
Seth Foster
8b22c86b10
Register default settings for OAUTH2_PROVIDER app
...
Grab AUTHORIZATION_CODE_EXPIRE_SECONDS from oauth2_settings
rather than hard code.
Add REFRESH_TOKEN_EXPIRE_SECONDS to valid_key_names
in OAuth2ProviderField class
2019-10-02 15:29:45 -04:00
Jeff Bradberry
d549877ebd
Check for the existance of a UnifiedJobTemplate with the same webhook GUID
...
instead of trying (incorrectly) to be specific about the JT/WFJT type.
2019-09-30 15:26:49 -04:00
Jeff Bradberry
ffe89820e3
Return to using ContentType.kind
...
which is _not_ the `kind` attribute being deprecated.
2019-09-30 13:32:23 -04:00
Jeff Bradberry
062c4908c9
Modify the webhook debounce logic
...
to check if we've already previously run a job with the same webhook
GUID plus template id. This will allow organizations to write
multiple JT/WFJTs to handle the same set of webhook events.
2019-09-30 13:32:23 -04:00
Jeff Bradberry
b6b70e55fb
Address a variety of small review issues
2019-09-30 13:32:23 -04:00
Jeff Bradberry
e14d4ddec6
Add a doc template to the webhook key API view
2019-09-30 13:32:23 -04:00
Jeff Bradberry
df24f5d28f
Add a new launch_type of 'webhook'
2019-09-30 13:32:23 -04:00
Jeff Bradberry
fea7f914d2
Avoid the use of CredentialType.kind
2019-09-30 13:32:23 -04:00
Jeff Bradberry
a4873d97d8
Raise a validation error if a credential is set while the service is not
2019-09-30 13:32:22 -04:00
Jeff Bradberry
efe4ea6575
Fix the webhook receiver url for workflow jobs
2019-09-30 13:32:22 -04:00
Jeff Bradberry
b415c31b4f
Fix problems with posting to Gitlab's API
2019-09-30 13:32:22 -04:00
Jeff Bradberry
885841caea
Drop Bitbucket support
...
since only the Bitbucket Server product supports signed payloads,
bitbucket.org does not. And we are requiring signed payloads.
2019-09-30 13:32:22 -04:00
Jeff Bradberry
4ad5054222
Add logic to post the job status for webhooks back to the service
...
under some circumstances.
2019-09-30 13:32:21 -04:00
Jeff Bradberry
aa34984d7c
Fix the git ref extractor for Gitlab pull requests
2019-09-30 13:32:21 -04:00
Jeff Bradberry
d73abda5d1
Update the webhook receiver git ref extractor logic
...
to deal with the null-ref case, and to deal correctly with Github push events.
2019-09-30 13:32:21 -04:00
Jeff Bradberry
e8e3a601b2
Pull out a git ref for each event type where we might care
2019-09-30 13:32:21 -04:00
Jeff Bradberry
178a2c7c49
Disable the authentication classes for the webhook receivers
...
One of them was consuming the body of the posts. We do still need to
have an extraneous `request.body` expression, though now in
WebhookReceiverBase.post, since the `request.data` expression in the
logging also consumes the request body.
2019-09-30 13:32:20 -04:00
Jeff Bradberry
58e5f02129
Expose the new webhook fields in the job and workflow serializers
2019-09-30 13:32:20 -04:00
Jeff Bradberry
dd6c97ed87
Include a message in the webhook response
2019-09-30 13:32:20 -04:00
Jeff Bradberry
7aa424b210
Make sure that the new webhook fields are populated when firing off a job
...
Also, added a temporary hacky workaround for the fact that something
in our request/response stack for APIView is consuming the request
contents in an unfriendly way, preventing the `.body` @property from
working.
2019-09-30 13:32:20 -04:00
Jeff Bradberry
ee1d118752
Add the webhook receiver url to the related urls in the serializers
2019-09-30 13:32:20 -04:00
Jeff Bradberry
245931f603
Debounce when multiple copies of the same webhook event come in
2019-09-30 13:26:04 -04:00
Jeff Bradberry
bb1397a3d4
Validate the webhook credential
...
- we should allow a null credential, so that the admin can choose to configure not posting back status changes of the triggered job
- the credential must be of the new 'token' kind
- if we do configure a credential, its type must match the selected SCM service
2019-09-30 13:26:04 -04:00
Jeff Bradberry
83fc2187cc
Fix the summary fields for webhook_credential
2019-09-30 13:26:04 -04:00
Jeff Bradberry
8836ed44ce
Construct an ID for Gitlab webhooks
...
by taking the SHA1 of the body of the webhook request.
2019-09-30 13:26:03 -04:00
Jeff Bradberry
992c414737
Launch a Job or WorkflowJob based on the incoming webhook
2019-09-30 13:26:03 -04:00
Jeff Bradberry
66a8186995
Get the webhook receiver views to work at least minimally
2019-09-30 13:26:03 -04:00
Jeff Bradberry
fa15696ffe
Remove some dead comments
2019-09-30 13:26:03 -04:00
Jeff Bradberry
82a0dc0024
Cycle or unset the webhook key if the webhook service changes
...
Also, tests.
2019-09-30 13:26:03 -04:00
Jeff Bradberry
c0ad5a7768
Expose the webhook_service and webhook_credential fields in the serializer
...
webhook_credential specifically as a summary field.
2019-09-30 13:26:03 -04:00
Jeff Bradberry
6b86cf6e86
Revert to using the explicit dispatch to the appropriate model
...
since passing the model class at url include time doesn't work.
2019-09-30 13:26:03 -04:00
Jeff Bradberry
2310413dc0
Fix problem with the tests by dynamically setting the view model
...
instead of using a model @property or lookup method.
2019-09-30 13:26:03 -04:00
Jeff Bradberry
edb9d6b16c
Add the related link to the webhook secrets view to the serializers
2019-09-30 13:26:03 -04:00
Jeff Bradberry
7973a18103
Switch to using a permission class for the webhook secret key view
...
This view is now behaving as expected for superuser, org admin, JT
admin, JT exec, and org member roles.
2019-09-30 13:23:27 -04:00
Jeff Bradberry
747a2283d6
Attempt to get the RBAC right on the webhook secret key view
2019-09-30 13:23:27 -04:00
Jeff Bradberry
9d269d59d6
Add an api view for obtaining and rotating the webhook key
2019-09-30 13:23:27 -04:00
Jeff Bradberry
b0c530402f
Move the webhook url include from the top level urlconf to the JT/WFJT urlconfs
2019-09-30 13:23:26 -04:00
Jeff Bradberry
50a54c9214
Forbid access to the webhook receiver views if webhook_key is not set
2019-09-30 13:23:26 -04:00
Jeff Bradberry
8f97dbf781
Hook in the webhook receiver views into the urlconf
2019-09-30 13:23:26 -04:00
Jeff Bradberry
a7a99ed141
Beginnings of the API views for the webhook receivers
2019-09-30 13:23:26 -04:00
beeankha
5aa6a94710
Enable approval notifications to show up at...
...
...workflow jobs notifications endpoint
2019-09-27 15:48:00 -04:00