61 Commits

Author SHA1 Message Date
Nikita Konovalov
ba3d6c98e5 Add a sample config file
storyboard.conf added to .gitignore

api section remove from config.
To configure API host and port use bind_host and bind_port in default
section.

Change-Id: I2e2686faa063e1182e37f2bf869d0cd7d54ef352
2014-01-23 16:09:22 +04:00
Nikita Konovalov
b02a396f3b Introducing basic REST API
This is initial commit adding pecan/wsme framework.
Example operations are:
* GET /v1/project_groups
* GET /v1/project_groups/<group_name>

* GET /v1/projects
* GET /v1/projects/<project_name>

* GET /v1/teams
* GET /v1/teams/<team_name>
* POST /v1/teams
* POST /v1/teams/add_user

* GET /v1/users
* GET /v1/users/<username>
* POST /v1/users
* PUT /v1/users/<username>

* GET /v1/stories
* GET /v1/stories/<story_id>
* POST /v1/stories
* PUT /v1/stories
* POST /v1/stories/add_task
* POST /v1/stories/add_comment

* GET /v1/tasks
* GET /v1/tasks/<task_id>
* PUT /v1/tasks

More detailed documentation will be added later to a wiki page.

Tests will be added in a separate CR.

Auth stuff will be added in a separate CR after it is dicussed.

Change-Id: Ibace8cf7dd5bb933b0d2484b1d57b79bb8441a28
2014-01-22 11:37:54 -08:00
Ruslan Kamaldinov
1ce4b9a9f5 Add tests for Alembic migrations
This is the next step towards CI/CD:

This code enables testing of DB migrations against real databases -
MySQL and Postgres. Unit testing on in-memory sqlite doesn't work with this
patch (there seems to be a problem with Alembic/in-memory-sqlite combination).

In case if MySQL and PostgreSQL with specifc user/password and database
are present, opportunistic tests will be started automatically. See
storyboard/tests/db/sqlalchemy/test_migrations.py for instructions.

OpenStack CI infrastructure provides these, so we get tests against
MySQL and Postgres with this commit.

Note(1): this patch doesn't modify database model. The main goal of this
patch is to enable continuous testing of DB migrations.

Note(2): most of the code is based on Nova. Which is good because
eventually it'll be extracted to Oslo library and we'll be able
to use Oslo instead of custom code.

Change-Id: Ia763124bea9ac8e39c6604f04fd99fa83645d5ba
2014-01-22 10:54:32 -08:00
Jenkins
2300b93e66 Merge "Fixed doc build" 2014-01-22 04:59:49 +00:00
Monty Taylor
2b2ee5fba9 Fix the intial db migration
The table should be stories - not storyboard.

Yes. I know - technically this should be a new migration - but we haven't
started running yet.

Change-Id: Ifc39545b32850a87c3ebfdb8788e68c6afdb80f6
2014-01-20 15:51:16 +04:00
Ruslan Kamaldinov
b0d72b74e5 Fixed doc build
Fixed doc build by aligning Sphinx version with global OS requirements.
Also added an entry for doc build to tox.ini.

Change-Id: Icf411219a73d4f50640e404d6db5019f5483e7f9
2014-01-17 10:02:03 +04:00
Michael Krotscheck
20ad3eac30 Added .gitignore for IntelliJ specific configuration files
As a first-code-commit excercise I'm walking through the whole project
setup process. Given that I like using IntelliJ as my IDE, adding a few things
to the .gitignore seems innocuous enough.

Change-Id: I2d08c966448d8ebc8dec72ceb88cb834dab40b78
2014-01-14 14:51:54 -08:00
Monty Taylor
d6066f2a75 Add SQLalchemy database model
As a step towards continuous deployment and having a pecan/WSME REST
interface, split the database out into SQLalchemy-based model using
Alembic for migrations. To support that, also pull in oslo.db and use
oslo.config for config files.

Change-Id: I33a1e72700be14e28255aaa52faed70c4686a3ec
2014-01-13 18:52:47 +04:00
Ruslan Kamaldinov
b1c7c13f97 Adding six dependency
This dependency was introduced in commit 2280bac

Change-Id: Ibb2f24abc771aeac4baa1e188065b7eac1a01f82
2013-11-30 00:42:50 +04:00
Nikita Konovalov
0e3933f96a Fix for adding comments to tasks
Change-Id: Ibcab5e9f6312abbaa87763425a5e04b7c503e999
2013-11-28 19:49:33 +04:00
Nikita Konovalov
2280bac923 Added task ordering
User may order tasks by any columns.
Order criteria are stored in session, so that they
are not lost after leaving the page.

This change add jquery.cookie plugin

Change-Id: I4b7e76814a0aa69f1b88eabe93ed12dc9d6403ee
2013-11-19 14:35:15 +04:00
Nikita Konovalov
ba9015fbbb Pagination added to task lists
Change-Id: I4e3caec578167b064b4c6822a54ba6e6065ef09d
2013-11-14 18:38:59 +04:00
Monty Taylor
3d62394619 Update tox config to use 1.6
Change-Id: I0a692ef5aa3e3bd847423f70460ce89c5d36397d
2013-09-25 12:07:32 -04:00
Monty Taylor
1c70add1bd Update setup code past d2to1
Change-Id: I54c63423a4b25857e518ab532378bf734abef1bb
2013-09-25 12:06:40 -04:00
Thierry Carrez
f521b399df Introducing project groups
Project groups are convenient ways to display tasks that matter to you.
All views support listing per-project or per-projectgroup, so you can
create a "Nova program" group that will include nova and
python-novaclient, so that the Nova team can do all its bug triaging
in a single view.

Change-Id: Iaa32ab2c528033bcd4917fc5df5ab30839c5d3d7
2013-08-07 16:26:50 +02:00
Jenkins
b72dea7c38 Merge "projects view now accepts projects with spaces" 2013-08-07 09:49:58 +00:00
Anita Kuno
6deb2c6d58 Edit README to include amended initial data instructions.
Change-Id: I8e4fc17a060bcd27a293755b88da9ea41c9e4089
2013-08-02 20:24:17 -04:00
Jenkins
82164be0f3 Merge "gitignore /*.egg" 2013-07-31 15:45:32 +00:00
Antoine Musso
b04ec6a864 projects view now accepts projects with spaces
I have created a project named 'MediaWiki core' and django complained it
could not find any URL to match '/project/MediaWiki%20core'. The
patterns were explicitly preventing spaces (\S), turn that to any
character (.).

Change-Id: Ief240112c8a1c0fe6aedf5ecf8f70d0b1e5714a0
2013-07-19 23:02:57 +02:00
Antoine Musso
6bebe77e65 gitignore /*.egg
When installing the project I ended up with the following eggs in my
working copy:

 d2to1-0.2.10-py2.7.egg/
 pbr-0.5.18-py2.7.egg
 setuptools_git-1.0-py2.7.egg

Change-Id: Ie7a1be8631d22ab73d12ad4739355888db01d19a
2013-07-19 22:52:01 +02:00
Antoine Musso
0cdb7a3ba7 set encoding UTF-8 for settings sample
The install instruction ask people to copy the local settings sample
file and then fill in their information. When your name is entered using
some unicode, django will fail to run because python can not interpret
the content encoding.

* mark sample file as using UTF-8 encoding
* prefix strings with 'u'

Change-Id: Ie3f46168d555994b26c6821751c6c8aa5e7b3c6c
2013-07-19 17:09:58 +02:00
Thierry Carrez
70a7ca6f6d Add support for features tracking
Features are a specific story type. The main difference with bugs is
that all tasks in a feature are affecting the master branch (i.e. are
set to a milestone linked to the master branch). The task title is also
given more prominence.

Change-Id: I9c40242acbb0c3d40e9c8b389e920e4dec66fc85
2013-07-19 16:28:07 +02:00
Jenkins
620f29de13 Merge "Tasks are attached to milestones, not series" 2013-07-19 12:26:49 +00:00
Jenkins
e959cb5348 Merge "Added .gitreview file." 2013-07-18 17:28:56 +00:00
Thierry Carrez
bbb154e23f Tasks are attached to milestones, not series
Make tasks related to milestones, and associate milestones to the
actual *branches*. That's an elegant way to solve our need to track
"backport to milestone-proposed" tasks, solving an old issue we had
in Launchpad (and for which we were abusing "Fixreleased").

Each milestone is associated to a branch. There are three types of
branches: master (the future), release (the milestone-proposed branch,
when it's around), and stable/*. Milestones are mandatory, there is a
default 'undefined' milestone for when we don't really know when that
work will hit in the master branch.

In normal times we'd have the following unreleased milestones:
master branch -> undefined, havana-1, havana-2, havana-3
stable/grizzly branch -> 2013.1.3

When the milestone-proposed branch is created just before havana-1, we
move the havana-1 milestone from master to release branch:
master branch -> undefined, havana-2, havana-3
release branch -> havana-1
stable/grizzly branch -> 2013.1.3

That lets us track release-backporting tasks (targeted to
release/havana-1) separately from normal work (targeted to master/*).

At the final release, the release branch is just renamed to stable/* and
a new release branch is created for the new cycle.

Change-Id: Ia212ae9c40549fe484362cbd5b3f323a467edb76
2013-07-18 16:01:49 +02:00
Thierry Carrez
e502ad1244 Add .gitreview file.
Change-Id: I1f60c90dccfed0317abb92173855fc72c99c72fa
2013-07-18 12:03:46 +02:00
Anita Kuno
ff8c4354ff Adding 3 more tests to get the gate to pass.
It seems that the test counter needs at least 4 tests minimum to pass.
The file had one. Three more have been added in an attempt to satisfy
the gate.

Change-Id: Ica47622351814d5f317328bca6993c7a4195ec6e
2013-07-16 21:21:40 -04:00
Anita Kuno
96b5caba4c Added .gitreview file.
Added a new file .gitreview in order to submit changes to gerrit.

Change-Id: I28218973311abb6c85b97ef7189afc971c4eb65e
2013-07-16 20:43:20 -04:00
Thierry Carrez
1e27b46cad Merge pull request #1 from emonty/master
Made a pass at aligning with OpenStack dev standards
2013-07-16 02:15:17 -07:00
Monty Taylor
8f50ee9469 Fixed the import errors hacking warning 2013-07-15 13:56:36 -04:00
Monty Taylor
a49f74bc11 Make testr tests run properly 2013-07-15 13:54:00 -04:00
Monty Taylor
8103db2161 Enabled more of HACKING 2013-07-15 13:48:50 -04:00
Monty Taylor
31ca1960c0 Fixed F403 2013-07-15 13:45:08 -04:00
Monty Taylor
eeba502fe8 Fixed a bunch of pep8/pyflakes errors 2013-07-15 13:43:02 -04:00
Monty Taylor
d035720744 Added OpenStack dev things
Added a pbr-based build system and a tox file and some requirements
files. Also moved the apps to all be under storyboard so that a
publication to PyPI won't do evil things from an install perspective.
2013-07-15 13:35:32 -04:00
Thierry Carrez
df633a7617 Add link to github README 2013-07-15 14:18:49 +02:00
Thierry Carrez
12aba9ce09 Fix bugs affecting multiple projects 2013-07-15 14:15:17 +02:00
Thierry Carrez
ca70b67739 Beautify names and dates 2013-07-12 16:06:48 +02:00
Thierry Carrez
58f546c69f Add gerrit integration to future feature set 2013-07-12 15:40:16 +02:00
Thierry Carrez
9de8524ed1 Add doc, ability to set local settings 2013-07-12 15:34:14 +02:00
Thierry Carrez
541c32ac28 Fix empty task list table 2013-07-11 18:18:42 +02:00
Thierry Carrez
b43903eab8 Add basic Stories dashboard 2013-07-11 18:10:17 +02:00
Thierry Carrez
a93a0e035a Triage bugs view 2013-07-11 17:50:06 +02:00
Thierry Carrez
bdc86e70f8 Project bug list 2013-07-11 17:31:07 +02:00
Thierry Carrez
badb85accd Base project landing page 2013-07-11 16:51:24 +02:00
Thierry Carrez
34a4ab90fb Enable projects default list 2013-07-11 16:40:46 +02:00
Thierry Carrez
143d4f8a1b Fix modals and empty submits 2013-07-11 16:23:11 +02:00
Thierry Carrez
16df3b46bf Enable 'add bug' 2013-07-11 14:48:18 +02:00
Thierry Carrez
91f7c5603e Do not submit empty comments 2013-07-11 12:53:24 +02:00
Thierry Carrez
231c794717 Separate template files for modals 2013-07-11 12:50:51 +02:00