Jeff Bradberry
aff31ac02f
Add the no_truncate parameter to the job and adhoc event sublist views
...
which are the ones that the CLI actually uses.
2019-10-29 11:24:17 -04:00
Jeff Bradberry
b48815d2bb
Add the no_truncate parameter to the job and adhoc event sublist views
...
which are the ones that the CLI actually uses.
2019-10-28 12:51:14 -04:00
Jeff Bradberry
cf89108edf
Force the CLI to use no_truncate for the monitor calls
2019-10-14 11:21:11 -04:00
Jeff Bradberry
e672e68a02
Allow the job event list views to take a no_truncate GET param
2019-10-11 17:18:36 -04:00
Jeff Bradberry
9efa7b84df
Depend on a serializer context variable no_truncate
...
to decide whether to turn off the ANSI control sequence-aware
truncation, instead of needing inappropriate awareness of the details
of the view that invoked the serializer. This will also allow us to
have views that can more flexibly turn off the truncation under other
circumstances.
2019-10-10 16:08:17 -04:00
Jeff Bradberry
a803cedd7c
Break out a new reusable truncate_stdout utility function
2019-10-10 16:07:08 -04:00
Jeff Bradberry
1122d28a1b
Quote the playbook passed to runner from the isolated manager
2019-10-02 11:10:19 -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
204c05aa3b
Change the webhook post-back payload to use the job UI url
2019-09-30 13:32:23 -04:00
Jeff Bradberry
ac34b24868
Post the job or workflow url to the webhook service as part of the status
2019-09-30 13:32:23 -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
6aa6471b7c
Add help_text to the new fields
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
e91462d085
Update the Webhook Credential help text tooltip
...
to make it more apparent to the user that this is an optional part of
the feature, and that failure to add a webhook credential will disable
status post-backs.
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
286da3a7eb
Posting webhook status now works
2019-09-30 13:32:21 -04:00
Jeff Bradberry
40b03eb6ef
Enable the call to update_webhook_status
...
by calling it directly within send_notification_templates. Also,
update the context field in the payload to be either 'ansible/awx' or
'ansible/tower', depending on which is being used.
2019-09-30 13:32:21 -04:00
Jeff Bradberry
c76c531b7a
Provide a payload for the webhook status post-back
2019-09-30 13:32:21 -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
095aa77857
Create a new model mixin for Job and WorkflowJob webhook fields
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
5848f0360a
Update test_default_cred_types to include the new personal access token types
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
4dba9916dc
Add a new set of personal access token credential types
2019-09-30 13:26:03 -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
d4b20b7340
Update tests to use the expect keyword argument for get() and post()
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
d9ac291115
Add some RBAC oriented tests for the webhook secret key view
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
771ef275d4
Include a check for the webhook_key related resource url
...
in the tests for JTs and WFJTs.
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
Jeff Bradberry
d6116490c6
Add the webhook-specific fields to JobTemplate and WorkflowJobTemplate
2019-09-30 13:23:26 -04:00
Jeff Bradberry
1a7148dc80
Prevent search on the NotificationTemplate.notification_configuration field
2019-09-26 14:37:04 -04:00
Jeff Bradberry
ee27313b42
Change the visibility of the Grant Permission button on the team edit page
...
In the case where MANAGE_ORGANIZATION_AUTH = False, an Org admin is
still supposed to have the capability of adding resource roles to a
team. This was in fact still doable directly in the API, or via the
organization edit page.
2019-09-26 11:28:25 -04:00
Jeff Bradberry
ed1c667418
Fix asserts in test_project.py to use the id directly off of the job template
...
test_no_changing_overwrite_behavior_if_used, specifically.
2019-08-20 16:42:34 -04:00
Jeff Bradberry
10200fced0
Add patch to the list of system packages installed into the container
...
since it is a requirement of the new updater.sh Python requirements script.
2019-08-01 10:41:49 -04:00
Jeff Bradberry
2926d0198d
Bump the version of Django to 2.2.4
...
This is a security release.
2019-08-01 10:41:36 -04:00
Jeff Bradberry
d32394f1b6
Update the make clean command to clear out the parallelized sqlite3 files
2019-07-17 17:06:10 -04:00
Jeff Bradberry
dd8ca5acc4
Ensure that the Postgres client is installed
2019-07-12 16:22:52 -04:00
Jeff Bradberry
172864a3a1
Force the username and password to be strings under the Radius backend
...
The base Radius backend encodes them as utf-8 bytes, which causes the
User object that we create to get the repr of the username, including
the b prefix and single quotes, e.g. "b'foo'".
2019-07-12 15:11:22 -04:00
Jeff Bradberry
a691340986
Update authenticate method on auth backends to add required request param
...
This became mandatory in Django 2.1.
2019-07-12 15:11:22 -04:00
Jeff Bradberry
261f1427e9
Break up a too-long line in migrations
2019-07-12 15:11:22 -04:00
Jeff Bradberry
9383512772
Remove no longer needed check for override of WSGIHandler
2019-07-12 15:11:22 -04:00
Jeff Bradberry
2d81923e22
Fix up changes in fields in the migrations
...
Particularly the now-required on_delete parameter for ForeignKey and
OneToOneField.
2019-07-12 15:11:22 -04:00
Jeff Bradberry
1093a662f1
Fix a problem with a change in results from User.has_usable_password
2019-07-12 15:11:22 -04:00
Jeff Bradberry
210517eeb1
Fix a couple of tests trivially affected by the upgrades
...
- is_anonymous may no longer be called as a method, so no need to mock it
- the message on uniqueness constraint failures has apparently changed
2019-07-12 15:11:22 -04:00
Jeff Bradberry
2ffe3d9a85
Give the 4xx error handler views the correct positional arguments
2019-07-12 15:11:22 -04:00
Jeff Bradberry
6737bd4c19
Replace {} as field default values with the callable dict
2019-07-12 15:11:22 -04:00
Jeff Bradberry
29ad847544
Deal with a change in truncation of strings in Django
...
which now uses a proper ellipsis character instead of 3 dots.
2019-07-12 15:11:22 -04:00
Jeff Bradberry
b3ef2c928a
Remove the custom add and remove methods from OrderedManyToManyDescriptor
2019-07-12 15:11:22 -04:00
Jeff Bradberry
43c552c7c6
Some flake8 changes
2019-07-12 15:11:21 -04:00
Jeff Bradberry
e0357d53f5
Bump Django to 2.2.2
2019-07-12 15:11:21 -04:00
Jeff Bradberry
beb1dd5ae7
Replace use of the deprecated staticfiles template library with static
2019-07-12 15:11:21 -04:00
Jeff Bradberry
d464df557b
Fix another direct assignment of a sequence to a related manager
2019-07-12 15:11:21 -04:00
Jeff Bradberry
5e9f790554
Bump to Django 2.1.9
2019-07-12 15:11:21 -04:00
Jeff Bradberry
47b325896d
Remove the django_db mark from TransactionTestCase classes
...
pytest-django's documentation indicates that it isn't necessary, and
it turns out in Django 2.0+ that this double application of the
transaction machinations was causing the Django ContentType table to
lose its items.
2019-07-12 15:11:21 -04:00
Jeff Bradberry
c85d58e28d
The interactive flag for management commands doesn't seem to be a thing anymore
2019-07-12 15:11:21 -04:00
Jeff Bradberry
bcbb768dd3
Remove the use of the deprecated Field.rel attribute
...
Also, rename a number of variables named `rel` for ease of searching.
2019-07-12 15:11:21 -04:00
Jeff Bradberry
e0693d3746
is_anonymous and is_authenticated no longer support being called as methods
2019-07-12 15:11:21 -04:00
Jeff Bradberry
a6edc46cc3
Field.from_db_value no longer supports the context param in 2.0
2019-07-12 15:11:21 -04:00
Jeff Bradberry
f24b08316d
Django's url resolver and pattern classes have been renamed in 2.0+
...
They are now URLResolver and URLPattern, respectively. The API has
changed as well, but fortunately it looks like what we are doing here
doesn't depend on anything that was changed.
2019-07-12 15:11:21 -04:00
Jeff Bradberry
25c14382db
Update the monkey patch of Django's column name digest to work with 2.0+
...
BaseDatabaseSchemaEditor no longer has a `_digest` classmethod,
instead there is a call out to a new `names_digest` utility function.
2019-07-12 15:11:21 -04:00
Jeff Bradberry
796d7bf67f
Replace the use of the 3rd party jsonbfield library
...
which was just a backport of Django's built-in JSONField. Also, bump
the version of django-jsonfield.
2019-07-12 15:11:21 -04:00
Jeff Bradberry
ddef41d394
Bump Django to 2.0.13
...
This is _very_ broken.
2019-07-12 15:11:21 -04:00
Jeff Bradberry
758ad164fe
Include defined fields from all parent classes of a HybridDictField
...
since our settings registry adds a mixin class when doing validation on these.
related #4099
2019-07-08 16:05:03 -04:00
Jeff Bradberry
1a72ff4c47
Use the in operator to test against the Organization membership subquery
...
If more than one Organization were selected by this subquery, then
Postgres would complain with "more than one row returned by a subquery
used as an expression". We needed to allow for that case.
Annoyingly SQLite3 doesn't seem to care, so writing a py.test test to
exercise this isn't feasible under our current development setup.
2019-06-19 14:49:02 -04:00
Jeff Bradberry
aa548442ce
Ensure the request is on the Metadata object
...
in order to correctly populate the default for the TOWER_URL_BASE
field, which is specific to the host and preferred scheme.
2019-06-12 14:12:59 -04:00
Jeff Bradberry
ab587e7e6c
Update get_view_description to conform to changes in DRF's version
...
related encode/django-rest-framework#5605
2019-06-12 14:12:59 -04:00
Jeff Bradberry
3f5c018c8a
Replace the load of the staticfiles template library with static
...
The staticfiles library will be going away before too long.
2019-06-12 14:12:59 -04:00
Jeff Bradberry
12e3d0aebf
Remove rest_framework/base.html
2019-06-12 14:12:59 -04:00
Jeff Bradberry
ba4ad191fc
Add the csrf token to window.drf
...
In the same manner as the current version of base.html from DRF. This
is part 2 of the removal of base.html.
2019-06-12 14:12:59 -04:00
Jeff Bradberry
34d76422d6
Move the endpoint deprecation warning out of base.html
...
This is part 1 of the removal of awx/templates/rest_framework/base.html.
2019-06-12 14:12:59 -04:00