Class: RepoProvider::Gitlab
- Inherits:
-
Object
- Object
- RepoProvider::Gitlab
- Defined in:
- lib/git-issues/providers/gitlab.rb
Overview
API documentation: api.gitlab.org/
Constant Summary collapse
- URL_PATTERNS =
[ /^(ssh:\/\/)?git@(?<host>[^:]*):(?<user>[^\/]+)\/(?<repo>.+)\.git$/ ]
Class Method Summary collapse
Instance Method Summary collapse
- #issue_close(id) ⇒ Object
- #issue_create(title, content) ⇒ Object
- #issue_delete(id) ⇒ Object
- #issue_reopen(id) ⇒ Object
- #issues_list(opts = {}) ⇒ Object
- #provider ⇒ Object
Class Method Details
.get_repo(url) ⇒ Object
12 13 14 15 |
# File 'lib/git-issues/providers/gitlab.rb', line 12 def self.get_repo url # find the url pattern that matches the url URL_PATTERNS.map{|p| p.match url }.compact.first end |
Instance Method Details
#issue_close(id) ⇒ Object
33 34 35 |
# File 'lib/git-issues/providers/gitlab.rb', line 33 def issue_close id gitlab.close_issue gl_project_id, id end |
#issue_create(title, content) ⇒ Object
25 26 27 |
# File 'lib/git-issues/providers/gitlab.rb', line 25 def issue_create title, content gitlab.create_issue gl_project_id, title, description: content end |
#issue_delete(id) ⇒ Object
37 38 39 |
# File 'lib/git-issues/providers/gitlab.rb', line 37 def issue_delete id log.warn "You can't delete issues on Gitlab anymore, it is deprecated. Please close/resolve them instead." end |
#issue_reopen(id) ⇒ Object
29 30 31 |
# File 'lib/git-issues/providers/gitlab.rb', line 29 def issue_reopen id gitlab.reopen_issue gl_project_id, id end |
#issues_list(opts = {}) ⇒ Object
17 18 19 20 21 22 23 |
# File 'lib/git-issues/providers/gitlab.rb', line 17 def issues_list opts = {} issues = gitlab.issues gl_project_id # filter out closed issues if desired issues = issues.find_all{|i| i.state != 'closed' } if not opts[:all] # return issues format_issues( issues ) end |
#provider ⇒ Object
41 42 43 |
# File 'lib/git-issues/providers/gitlab.rb', line 41 def provider gitlab end |