From 52d461670e9c5a622486d3a1c97494dc98595bd7 Mon Sep 17 00:00:00 2001
From: Joel Basson <joel@rightshift.biz>
Date: Tue, 1 Jul 2014 15:39:57 +0200
Subject: [PATCH 1/2] added metadata to issue

---
 app/models/issue.rb | 2 +-
 lib/api/entities.rb | 1 +
 lib/api/issues.rb   | 4 ++--
 3 files changed, 4 insertions(+), 3 deletions(-)

diff --git a/app/models/issue.rb b/app/models/issue.rb
index f0c2e552273..73f92caa83c 100644
--- a/app/models/issue.rb
+++ b/app/models/issue.rb
@@ -34,7 +34,7 @@ class Issue < ActiveRecord::Base
   scope :of_user_team, ->(team) { where(project_id: team.project_ids, assignee_id: team.member_ids) }
 
   attr_accessible :title, :assignee_id, :position, :description,
-                  :milestone_id, :label_list, :state_event
+                  :milestone_id, :label_list, :state_event, :metadata
 
   acts_as_taggable_on :labels
 
diff --git a/lib/api/entities.rb b/lib/api/entities.rb
index b190646a1e3..32b99f02482 100644
--- a/lib/api/entities.rb
+++ b/lib/api/entities.rb
@@ -129,6 +129,7 @@ module API
       expose :label_list, as: :labels
       expose :milestone, using: Entities::Milestone
       expose :assignee, :author, using: Entities::UserBasic
+      expose :metadata
     end
 
     class MergeRequest < ProjectEntity
diff --git a/lib/api/issues.rb b/lib/api/issues.rb
index f50be3a815d..b50375ce6c9 100644
--- a/lib/api/issues.rb
+++ b/lib/api/issues.rb
@@ -49,7 +49,7 @@ module API
       #   POST /projects/:id/issues
       post ":id/issues" do
         required_attributes! [:title]
-        attrs = attributes_for_keys [:title, :description, :assignee_id, :milestone_id]
+        attrs = attributes_for_keys [:title, :description, :assignee_id, :milestone_id, :metadata]
         attrs[:label_list] = params[:labels] if params[:labels].present?
         issue = ::Issues::CreateService.new(user_project, current_user, attrs).execute
 
@@ -77,7 +77,7 @@ module API
         issue = user_project.issues.find(params[:issue_id])
         authorize! :modify_issue, issue
 
-        attrs = attributes_for_keys [:title, :description, :assignee_id, :milestone_id, :state_event]
+        attrs = attributes_for_keys [:title, :description, :assignee_id, :milestone_id, :state_event, :metadata]
         attrs[:label_list] = params[:labels] if params[:labels].present?
 
         issue = ::Issues::UpdateService.new(user_project, current_user, attrs).execute(issue)
-- 
GitLab


From 0ee36e53c1375e2fc6184a916e0d74500dc0daea Mon Sep 17 00:00:00 2001
From: Joel Basson <joel@rightshift.biz>
Date: Wed, 2 Jul 2014 11:10:26 +0200
Subject: [PATCH 2/2] the migration file

---
 db/migrate/20140701130425_add_metadata_to_issues.rb | 5 +++++
 1 file changed, 5 insertions(+)
 create mode 100644 db/migrate/20140701130425_add_metadata_to_issues.rb

diff --git a/db/migrate/20140701130425_add_metadata_to_issues.rb b/db/migrate/20140701130425_add_metadata_to_issues.rb
new file mode 100644
index 00000000000..e0cafbb2d6d
--- /dev/null
+++ b/db/migrate/20140701130425_add_metadata_to_issues.rb
@@ -0,0 +1,5 @@
+class AddMetadataToIssues < ActiveRecord::Migration
+  def change
+    add_column :issues, :metadata, :string
+  end
+end
-- 
GitLab