Project

General

Profile

Actions

Rest api ẅith python » History » Revision 9

« Previous | Revision 9/18 (diff) | Next »
Ian Epperson, 2013-02-07 20:50
The syntax highlight only works with the first div block, so rearranging so the larger block is colored properly - changes the top billing from the PyActiveResource to the pyRedmineWS


Using the REST API with Python

Here is the two well-known options for using REST API with python.

  1. Python library
  2. PyActiveResource

Python library example:

Suppose Eric fell ill and was out for several days. You need to crawl through the project called Parrot and move any due date for issues assigned to Eric out by two more weeks.

The dateutil library contains a handy method called reativedelta for calculating relative dates.

# Import the Redmine class
from redmine import Redmine
from dateutil.relativedelta import relativedelta

server = Redmine('http://my-server.com', username='Me', password='seakrit')
project = server.projects['parrot']

# Find Eric in the user data
for u in server.users:
    if u.firstname == 'Eric' and u.lastname == 'Idle':
       user = u
       break
else:
    raise Exception("Didn't find Eric Idle in the user dateabase")

# Extend issues in project assigned to user by two weeks
for issue in project.issues(assigned_to_id=user.id):
    if issue.due_date is not None:
       issue.due_date += relativedelta(weeks=+2)
       issue.save('Giving Eric more time to complete - he was out ill')

PyActiveResource example:

# Importing pyactiveresource
from pyactiveresource.activeresource import ActiveResource

class Issue(ActiveResource):
    _site = 'http://redmine.foo.org'
    _user = 'username'
    _password = 'password'

# Get issues
issues = Issue.find()

# Get a specific issue, from its id
issue = Issue.find(1345)

# Issue attributes

# Updating an attribute

Updated by Ian Epperson about 11 years ago · 9 revisions