Powirb (POlarion WorkItems handling with RuBy) aims to offer a Ruby interface to Polarion ALM™ workitems content, for fast manipulation.
$ gem install powirb
Often when using Polarion ALM you refine (and redefine) step-by-step your process, or perhaps you need a fine-tune over the way you defines work items, workflows and so and so. Other time you need to import data from other tools and - again - you need an adjustment on some workitems (eg: author name, status, external references, etc).
I've fonud extremely valuable and fast to do all this operation in CLI with ruby.
First, we need a working copy of the project repository. Usually this live under something like http://yourpolarionserver/repo/ProjectName
Only basic operation on workitems are implemented, see the example above:
#!/usr/bin/env ruby
require 'rubygems'
require 'powirb'
# Set a logger level, on a specified filename (default is STDOUT)
Powirb.set_logger(:debug, 'log.txt')
# this referes to a project working copy of the subversion repository
h = Powirb::Handler.new('./SampleProject')
# now the handler has loaded all workitems data in memory (very fast)
# we can access a particular workitem with its "wid"
wi = h.workitems['WI-1234']
# or by and AND'ed set of conditions, eg: all closed requirements
h.workitems(:type => 'requirements', :status => 'closed').each do |wid,wi|
puts "#{wid} - #{wi[:title]}"
wi[:resolution] = 'done'
wi.save!
end
Please, remember: In order to "save" the modification we have to hit a subsequent commit with subversion.
- Powirb can't create new workitems, only updating on existing ones is allowed
- it does not support the "old" LiveDoc technology, but it's ok with the new one
- the only fields you can change are "string/text" (more work have to be done here!)
- the actual version was tested under Linux and Mac OS X only
Powirb is written by Carlo Pecchia and released under the terms of Apache License (see LICENSE file).