Insights project api side integration

* Extend scm credential type to support username and password for
  redhat portal accounts
* Update project update playbook to work with remote insights server
This commit is contained in:
Matthew Jones
2017-02-14 15:20:29 -05:00
parent b6444d7b86
commit 2656e3f3fa
6 changed files with 65 additions and 3 deletions

View File

@@ -43,6 +43,7 @@ class ProjectOptions(models.Model):
('git', _('Git')),
('hg', _('Mercurial')),
('svn', _('Subversion')),
('insights', _('Red Hat Insights')),
]
class Meta:
@@ -120,6 +121,8 @@ class ProjectOptions(models.Model):
return self.scm_type or ''
def clean_scm_url(self):
if self.scm_type == 'insights':
self.scm_url = settings.INSIGHTS_URL_BASE
scm_url = unicode(self.scm_url or '')
if not self.scm_type:
return ''
@@ -139,8 +142,10 @@ class ProjectOptions(models.Model):
cred = self.credential
if cred:
if cred.kind != 'scm':
raise ValidationError(_("Credential kind must be 'scm'."))
raise ValidationError(_("Credential kind must be either 'scm'."))
try:
if self.scm_type == 'insights':
self.scm_url = settings.INSIGHTS_URL_BASE
scm_url = update_scm_url(self.scm_type, self.scm_url,
check_special_cases=False)
scm_url_parts = urlparse.urlsplit(scm_url)