summaryrefslogtreecommitdiff
path: root/app
diff options
context:
space:
mode:
authorKamil Trzciński <ayufan@ayufan.eu>2017-01-19 11:37:38 +0000
committerKamil Trzciński <ayufan@ayufan.eu>2017-01-19 11:37:38 +0000
commit046e0bd6e73d4da2624389bd93a6536b784c926b (patch)
treead21f1cb3b7426c93a88774b0d0b0acfb9beccca /app
parentb71b0acd55e773fd79e0c54e98b53561a6657249 (diff)
parent9ce8aa31f2f55563cbf4212f7dd2b51576967a55 (diff)
downloadgitlab-ce-046e0bd6e73d4da2624389bd93a6536b784c926b.tar.gz
Merge branch 'fix/external-status-badge-links' into 'master'
Link external commit status badges to target URLs Closes #25662 See merge request !8611
Diffstat (limited to 'app')
-rw-r--r--app/models/generic_commit_status.rb10
1 files changed, 10 insertions, 0 deletions
diff --git a/app/models/generic_commit_status.rb b/app/models/generic_commit_status.rb
index fa54e3540d0..8867ba0d2ff 100644
--- a/app/models/generic_commit_status.rb
+++ b/app/models/generic_commit_status.rb
@@ -1,6 +1,10 @@
class GenericCommitStatus < CommitStatus
before_validation :set_default_values
+ validates :target_url, addressable_url: true,
+ length: { maximum: 255 },
+ allow_nil: true
+
# GitHub compatible API
alias_attribute :context, :name
@@ -12,4 +16,10 @@ class GenericCommitStatus < CommitStatus
def tags
[:external]
end
+
+ def detailed_status(current_user)
+ Gitlab::Ci::Status::External::Factory
+ .new(self, current_user)
+ .fabricate!
+ end
end