Commit graph

28 commits

Author SHA1 Message Date
Joseph Schorr
63ed683dfa Small fixes for GitLab trigger handler, since the GitLab API is returning the wrong ID for the user's namespace
Also has a small UI improvement
2018-06-13 15:12:05 -04:00
Joseph Schorr
bf966545ba Reimplement GitLab trigger handler using the V4 API library
GitLab has deprecated and removed the V3 API entirely

Fixes https://jira.coreos.com/browse/QUAY-966
2018-06-12 15:01:37 -04:00
Joseph Schorr
bf41aedc9c Have gitlab default to True on permissions if they are missing
This allows the repositories to be selected in the UI, if we are unsure whether the user has permission. Since gitlab will do the check anyway, this is safe, although not a great user experience if they chose an invalid repository, but we can't really do much about that.
2017-05-02 13:11:57 -04:00
Joseph Schorr
ae7012eef2 Anything can be None in GitLab!
Fixes a problem where the `project_access` block is reported as `null` from GitLab API, which breaks our code, because we assume sanity in API design.
2017-05-01 20:09:18 -04:00
Joseph Schorr
69ff58f7bd Gitlab can return None for avatar blocks
Because reasons!
2017-04-21 17:37:00 -04:00
Joseph Schorr
c8950f34b1 Fix avatar URLs for non-owner namespaces in Gitlab 2017-04-11 15:00:20 -04:00
Joseph Schorr
eae151ff96 Allow null avatars from Gitlab
Not all gitlab repositories have defined owners, meaning we cannot always get an avatar_url for the namespace

Fixes https://sentry.io/coreos/backend-production/issues/241774339/
2017-04-04 13:41:38 -04:00
Joseph Schorr
6f567e0850 Add tests for build web hooks endpoint 2017-03-20 13:22:59 -04:00
Charlton Austin
d6e45e3321 fix(buildtrigger): fixed error from github api
there was a 500 being thrown every time there was a slash at the end of a directory while adding in a new trigger this stops that 500 from coming
2017-03-10 13:04:41 -05:00
Charlton Austin
e30cd931d1 feat(buildtrigger): allow use to specify dockerfile
users can only specify the folder and the
  dockerfile must be names "Dockerfile" this allows
  users to specify the file and it can be called
  "Dockerfile" or <some name>.Dockerfile
2017-03-06 21:20:17 -05:00
Joseph Schorr
e025d8c2b2 Add schema validation of namespaces and sources methods 2017-02-28 17:19:17 -05:00
Joseph Schorr
57528aa2bc Add unit testing of gitlab trigger handler 2017-02-28 17:19:17 -05:00
Joseph Schorr
8e863b8cf5 Implement new create and manager trigger UI
Implements the new trigger setup user interface, which is now a linear workflow found on its own page, rather than a tiny modal dialog

Fixes #1187
2017-02-28 16:51:42 -05:00
Joseph Schorr
9db20ff961 Catch SSL errors due to timeouts in Github calls
Fixes https://sentry.io/coreos/backend-production/issues/219378902/
2017-02-22 13:20:04 -05:00
Joseph Schorr
a34d18b9ea Fix handling of gitlab web hooks when tagging
Gitlab doesn't send any commit information for tagging events (because... reasons), and so we have to perform the lookup ourselves to have full metadata.

Fixes #1467
2017-02-16 15:40:37 -05:00
Joseph Schorr
99ea0a9009 Fix TypeError in Gitlab trigger when user not found
Fixes #2055
2016-10-31 13:31:26 -04:00
Joseph Schorr
26e8e241da Fix handling of Gitlab payloads with multiple commits
Gitlab sends multiple commits in the order reversed from Github. As this only broke recently, I suspect that they may have changed the ordering. This change makes the code order-agnostic to hopefully remove the problem going forward.

Fixes #1900
2016-09-30 12:14:32 +02:00
Joseph Schorr
c43173576a Fix Gitlab trigger payload bug when commits is empty
Gitlab will occasionally send trigger payloads with an empty commit list (and a null checkout_ha) for branches that have been deleted. Properly handle that case.
2016-09-30 12:03:08 +02:00
Joseph Schorr
626042b10a Fix exception in Gitlab trigger when project is not present
Fixes #1629
2016-07-26 15:18:43 -07:00
Evan Cordell
eba75494d9 Use new error format for auth errors (factor exceptions into module) 2016-04-11 16:22:26 -04:00
Jimmy Zelinskie
bcea268fcb use app.gitlab_trigger for config data
This includes defaults and makes the structure of the Gitlab trigger
parallel the GitHub trigger.
2016-03-18 14:56:09 -04:00
Jimmy Zelinskie
675e1799d8 remove hardcoded host in gitlab get_repository_url 2016-03-18 14:56:09 -04:00
Jimmy Zelinskie
7c1547221d raise a 520 for any GitLab timeouts 2015-10-13 17:34:08 -04:00
Jimmy Zelinskie
d2c4a465e3 add default HTTP timeout to GitLab
Fixes #623.
2015-10-13 14:51:28 -04:00
Jimmy Zelinskie
7dfe6691ec remove network usage from GL repo URL
Fixes #624.
2015-10-13 12:44:56 -04:00
Joseph Schorr
ee836da1e3 Fix raise_if_skipped_build calls 2015-09-22 15:05:25 -04:00
Joseph Schorr
272326ae18 Add schema validation to all external trigger types 2015-09-21 17:46:50 -04:00
Joseph Schorr
49b575afb6 Start refactoring of the trigger system:
- Move each trigger handler into its own file
- Add dictionary helper classes for easier reading and writing of dict-based data
- Extract the web hook payload -> internal representation building for each trigger system
- Add tests for this transformation
- Remove support for Github archived-based building
2015-09-21 16:36:48 -04:00