Skip to content
This repository has been archived by the owner on Feb 9, 2019. It is now read-only.

Commit

Permalink
Merge branch 'feature/itacloud-6859' into 'develop'
Browse files Browse the repository at this point in the history
Emit jira creation event once key is known

- ITACLOUD-6859

See merge request !22
  • Loading branch information
livenson committed May 15, 2016
2 parents 54c58e6 + 34bf4b1 commit 62f98a8
Show file tree
Hide file tree
Showing 2 changed files with 22 additions and 13 deletions.
32 changes: 19 additions & 13 deletions src/nodeconductor_jira/handlers.py
Original file line number Diff line number Diff line change
@@ -1,26 +1,32 @@
from .executors import ProjectImportExecutor
from .log import event_logger
from .models import Issue


def import_project_issues(sender, instance, **kwargs):
ProjectImportExecutor.execute(instance, updated_fields=None)


def log_issue_save(sender, instance, created=False, **kwargs):
if created:
event_logger.jira_issue.info(
'Issue {issue_key} has been created.',
event_type='issue_creation_succeeded',
event_context={
'issue': instance,
})
if created or instance.state == Issue.States.CREATING:
# we skip logging on instance creation as backend_id/JIRA key is not known yet
pass
else:
event_logger.jira_issue.info(
'Issue {issue_key} has been updated.',
event_type='issue_update_succeeded',
event_context={
'issue': instance,
})
if instance.tracker.previous('state') == Issue.States.CREATING and \
instance.state == Issue.States.OK:
event_logger.jira_issue.info(
'Issue {issue_key} has been created.',
event_type='issue_creation_succeeded',
event_context={
'issue': instance,
})
else:
event_logger.jira_issue.info(
'Issue {issue_key} has been updated.',
event_type='issue_update_succeeded',
event_context={
'issue': instance,
})


def log_issue_delete(sender, instance, **kwargs):
Expand Down
3 changes: 3 additions & 0 deletions src/nodeconductor_jira/models.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
from django.conf import settings
from django.contrib.auth import get_user_model
from django.utils.encoding import python_2_unicode_compatible
from model_utils import FieldTracker
from model_utils.models import TimeStampedModel

from nodeconductor.core import models as core_models
Expand Down Expand Up @@ -112,6 +113,8 @@ class Impact:
updated = models.DateTimeField(auto_now_add=True)
updated_username = models.CharField(max_length=255, blank=True)

tracker = FieldTracker()

@property
def key(self):
return self.backend_id
Expand Down

0 comments on commit 62f98a8

Please sign in to comment.