Skip to content

Commit

Permalink
Merge pull request #169 from coddingtonbear/add_versionone_timebox_an…
Browse files Browse the repository at this point in the history
…d_due_date

VersionOne: Adds support for timebox data and due dates.
  • Loading branch information
coddingtonbear committed Dec 12, 2014
2 parents c050b65 + 2b0609b commit c328c25
Showing 1 changed file with 32 additions and 1 deletion.
33 changes: 32 additions & 1 deletion bugwarrior/services/versionone.py
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,10 @@ class VersionOneIssue(Issue):
STORY_NUMBER = 'versiononestorynumber'
STORY_OID = 'versiononestoryoid'

TIMEBOX_BEGIN_DATE = 'versiononetimeboxbegindate'
TIMEBOX_END_DATE = 'versiononetimeboxenddate'
TIMEBOX_NAME = 'versiononetimeboxname'

UDAS = {
TASK_NAME: {
'type': 'string',
Expand Down Expand Up @@ -84,6 +88,18 @@ class VersionOneIssue(Issue):
'type': 'string',
'label': 'VersionOne Story Object ID'
},
TIMEBOX_BEGIN_DATE: {
'type': 'string',
'label': 'VersionOne Timebox Begin Date'
},
TIMEBOX_END_DATE: {
'type': 'string',
'label': 'VersionOne Timebox End Date'
},
TIMEBOX_NAME: {
'type': 'string',
'label': 'VersionOne Timebox Name'
}
}

UNIQUE_KEY = (TASK_URL, )
Expand All @@ -92,6 +108,7 @@ def to_taskwarrior(self):
return {
'project': self.extra['project'],
'priority': self.origin['default_priority'],
'due': self.parse_date(self.record['timebox']['EndDate']),

self.TASK_NAME: self.record['task']['Name'],
self.TASK_DESCRIPTION: self.record['task']['Description'],
Expand All @@ -109,6 +126,10 @@ def to_taskwarrior(self):
self.STORY_URL: self.record['story']['url'],
self.STORY_OID: self.record['story']['idref'],
self.STORY_NUMBER: self.record['story']['Number'],

self.TIMEBOX_BEGIN_DATE: self.record['timebox']['BeginDate'],
self.TIMEBOX_END_DATE: self.record['timebox']['EndDate'],
self.TIMEBOX_NAME: self.record['timebox']['Name'],
}

def get_default_description(self):
Expand Down Expand Up @@ -146,6 +167,11 @@ class VersionOneService(IssueService):
'url',
'idref',
)
TIMEBOX_COLLECT_DATA = (
'BeginDate',
'EndDate',
'Name',
)

def __init__(self, *args, **kw):
super(VersionOneService, self).__init__(*args, **kw)
Expand Down Expand Up @@ -230,7 +256,8 @@ def issues(self):
for issue in self.get_assignments(self.username):
issue_data = {
'task': {},
'story': {}
'story': {},
'timebox': {},
}
for column in self.TASK_COLLECT_DATA:
issue_data['task'][column] = getattr(
Expand All @@ -240,6 +267,10 @@ def issues(self):
issue_data['story'][column] = getattr(
issue.Parent, column, None
)
for column in self.TIMEBOX_COLLECT_DATA:
issue_data['timebox'][column] = getattr(
issue.Parent.Timebox, column, None
)

extras = {
'project': self.project
Expand Down

0 comments on commit c328c25

Please sign in to comment.