class Phabricator::Maniphest::Task

Attributes

description[RW]
id[R]
priority[RW]
title[RW]

Public Class Methods

create(title, description=nil, projects=[], priority='normal', owner=nil, ccs=[], other={}) click to toggle source
# File lib/phabricator/maniphest/task.rb, line 31
def self.create(title, description=nil, projects=[], priority='normal', owner=nil, ccs=[], other={})
  response = JSON.parse(client.request(:post, 'maniphest.createtask', {
    title: title,
    description: description,
    priority: Priority.send(priority),
    projectPHIDs: projects.map {|p| Phabricator::Project.find_by_name(p).phid },
    ownerPHID: owner ? Phabricator::User.find_by_name(owner).phid : nil,
    ccPHIDs: ccs.map {|c| Phabricator::User.find_by_name(c).phid }
  }.merge(other)))

  data = response['result']

  # TODO: Error handling

  self.new(data)
end
new(attributes) click to toggle source
# File lib/phabricator/maniphest/task.rb, line 48
def initialize(attributes)
  @id = attributes['id']
  @title = attributes['title']
  @description = attributes['description']
  @priority = attributes['priority']
end

Private Class Methods

client() click to toggle source
# File lib/phabricator/maniphest/task.rb, line 57
def self.client
  @client ||= Phabricator::ConduitClient.instance
end