Module: GraphqlTriggers
- Defined in:
- app/graphql/graphql_triggers.rb
Class Method Summary collapse
- .ci_job_processed(job) ⇒ Object
- .ci_job_processed_with_artifacts(job) ⇒ Object
- .ci_job_status_updated(job) ⇒ Object
- .ci_pipeline_creation_requests_updated(merge_request) ⇒ Object
- .ci_pipeline_schedule_status_updated(schedule) ⇒ Object
- .ci_pipeline_status_updated(pipeline) ⇒ Object
- .ci_pipeline_statuses_updated(pipeline) ⇒ Object
- .ci_stage_updated(job) ⇒ Object
- .issuable_assignees_updated(issuable) ⇒ Object
- .issuable_dates_updated(issuable) ⇒ Object
- .issuable_description_updated(issuable) ⇒ Object
- .issuable_labels_updated(issuable) ⇒ Object
- .issuable_milestone_updated(issuable) ⇒ Object
- .issuable_title_updated(issuable) ⇒ Object
- .issuable_todo_updated(issuable) ⇒ Object
- .issue_crm_contacts_updated(issue) ⇒ Object
- .merge_request_approval_state_updated(merge_request) ⇒ Object
- .merge_request_diff_generated(merge_request) ⇒ Object
- .merge_request_merge_status_updated(merge_request) ⇒ Object
- .merge_request_reviewers_updated(merge_request) ⇒ Object
- .user_merge_request_updated(user, merge_request) ⇒ Object
- .work_item_note_created(work_item_gid, note_data) ⇒ Object
- .work_item_note_deleted(work_item_gid, note_data) ⇒ Object
- .work_item_note_updated(work_item_gid, note_data) ⇒ Object
- .work_item_updated(work_item) ⇒ Object
Class Method Details
.ci_job_processed(job) ⇒ Object
10 11 12 13 14 |
# File 'app/graphql/graphql_triggers.rb', line 10 def self.ci_job_processed(job) return unless Feature.enabled?(:ci_job_created_subscription, job.project) GitlabSchema.subscriptions.trigger(:ci_job_processed, { project_id: job.project.to_gid }, job) end |
.ci_job_processed_with_artifacts(job) ⇒ Object
4 5 6 7 8 |
# File 'app/graphql/graphql_triggers.rb', line 4 def self.ci_job_processed_with_artifacts(job) return unless Feature.enabled?(:ci_job_created_subscription, job.project) GitlabSchema.subscriptions.trigger(:ci_job_processed, { project_id: job.project.to_gid, with_artifacts: true }, job) end |
.ci_job_status_updated(job) ⇒ Object
16 17 18 |
# File 'app/graphql/graphql_triggers.rb', line 16 def self.ci_job_status_updated(job) GitlabSchema.subscriptions.trigger(:ci_job_status_updated, { job_id: job.to_gid }, job) end |
.ci_pipeline_creation_requests_updated(merge_request) ⇒ Object
47 48 49 50 51 52 53 54 55 |
# File 'app/graphql/graphql_triggers.rb', line 47 def self.ci_pipeline_creation_requests_updated(merge_request) return unless Feature.enabled?(:ci_pipeline_creation_requests_realtime, merge_request.project) GitlabSchema.subscriptions.trigger( :ci_pipeline_creation_requests_updated, { merge_request_id: merge_request.to_gid }, merge_request ) end |
.ci_pipeline_schedule_status_updated(schedule) ⇒ Object
39 40 41 42 43 44 45 |
# File 'app/graphql/graphql_triggers.rb', line 39 def self.ci_pipeline_schedule_status_updated(schedule) GitlabSchema.subscriptions.trigger( :ci_pipeline_schedule_status_updated, { project_id: schedule.project.to_gid }, schedule ) end |
.ci_pipeline_status_updated(pipeline) ⇒ Object
25 26 27 |
# File 'app/graphql/graphql_triggers.rb', line 25 def self.ci_pipeline_status_updated(pipeline) GitlabSchema.subscriptions.trigger(:ci_pipeline_status_updated, { pipeline_id: pipeline.to_gid }, pipeline) end |
.ci_pipeline_statuses_updated(pipeline) ⇒ Object
29 30 31 32 33 34 35 36 37 |
# File 'app/graphql/graphql_triggers.rb', line 29 def self.ci_pipeline_statuses_updated(pipeline) return unless Feature.enabled?(:ci_pipeline_statuses_updated_subscription, pipeline.project) GitlabSchema.subscriptions.trigger( :ci_pipeline_statuses_updated, { project_id: pipeline.project.to_gid }, pipeline ) end |
.ci_stage_updated(job) ⇒ Object
20 21 22 23 |
# File 'app/graphql/graphql_triggers.rb', line 20 def self.ci_stage_updated(job) stage_gid = GlobalID.new("gid://gitlab/Ci::Stage/#{job.stage_id}") GitlabSchema.subscriptions.trigger(:ci_stage_updated, { stage_id: stage_gid }, job) end |
.issuable_assignees_updated(issuable) ⇒ Object
57 58 59 |
# File 'app/graphql/graphql_triggers.rb', line 57 def self.issuable_assignees_updated(issuable) GitlabSchema.subscriptions.trigger(:issuable_assignees_updated, { issuable_id: issuable.to_gid }, issuable) end |
.issuable_dates_updated(issuable) ⇒ Object
77 78 79 |
# File 'app/graphql/graphql_triggers.rb', line 77 def self.issuable_dates_updated(issuable) GitlabSchema.subscriptions.trigger(:issuable_dates_updated, { issuable_id: issuable.to_gid }, issuable) end |
.issuable_description_updated(issuable) ⇒ Object
69 70 71 |
# File 'app/graphql/graphql_triggers.rb', line 69 def self.issuable_description_updated(issuable) GitlabSchema.subscriptions.trigger(:issuable_description_updated, { issuable_id: issuable.to_gid }, issuable) end |
.issuable_labels_updated(issuable) ⇒ Object
73 74 75 |
# File 'app/graphql/graphql_triggers.rb', line 73 def self.issuable_labels_updated(issuable) GitlabSchema.subscriptions.trigger(:issuable_labels_updated, { issuable_id: issuable.to_gid }, issuable) end |
.issuable_milestone_updated(issuable) ⇒ Object
81 82 83 |
# File 'app/graphql/graphql_triggers.rb', line 81 def self.issuable_milestone_updated(issuable) GitlabSchema.subscriptions.trigger(:issuable_milestone_updated, { issuable_id: issuable.to_gid }, issuable) end |
.issuable_title_updated(issuable) ⇒ Object
65 66 67 |
# File 'app/graphql/graphql_triggers.rb', line 65 def self.issuable_title_updated(issuable) GitlabSchema.subscriptions.trigger(:issuable_title_updated, { issuable_id: issuable.to_gid }, issuable) end |
.issuable_todo_updated(issuable) ⇒ Object
129 130 131 132 133 134 135 |
# File 'app/graphql/graphql_triggers.rb', line 129 def self.issuable_todo_updated(issuable) return unless issuable.respond_to?(:to_gid) ::GitlabSchema.subscriptions.trigger( :issuable_todo_updated, { issuable_id: issuable.to_gid }, issuable ) end |
.issue_crm_contacts_updated(issue) ⇒ Object
61 62 63 |
# File 'app/graphql/graphql_triggers.rb', line 61 def self.issue_crm_contacts_updated(issue) GitlabSchema.subscriptions.trigger(:issue_crm_contacts_updated, { issuable_id: issue.to_gid }, issue) end |
.merge_request_approval_state_updated(merge_request) ⇒ Object
109 110 111 112 113 |
# File 'app/graphql/graphql_triggers.rb', line 109 def self.merge_request_approval_state_updated(merge_request) GitlabSchema.subscriptions.trigger( :merge_request_approval_state_updated, { issuable_id: merge_request.to_gid }, merge_request ) end |
.merge_request_diff_generated(merge_request) ⇒ Object
115 116 117 118 119 |
# File 'app/graphql/graphql_triggers.rb', line 115 def self.merge_request_diff_generated(merge_request) GitlabSchema.subscriptions.trigger( :merge_request_diff_generated, { issuable_id: merge_request.to_gid }, merge_request ) end |
.merge_request_merge_status_updated(merge_request) ⇒ Object
103 104 105 106 107 |
# File 'app/graphql/graphql_triggers.rb', line 103 def self.merge_request_merge_status_updated(merge_request) GitlabSchema.subscriptions.trigger( :merge_request_merge_status_updated, { issuable_id: merge_request.to_gid }, merge_request ) end |
.merge_request_reviewers_updated(merge_request) ⇒ Object
97 98 99 100 101 |
# File 'app/graphql/graphql_triggers.rb', line 97 def self.merge_request_reviewers_updated(merge_request) GitlabSchema.subscriptions.trigger( :merge_request_reviewers_updated, { issuable_id: merge_request.to_gid }, merge_request ) end |
.user_merge_request_updated(user, merge_request) ⇒ Object
137 138 139 |
# File 'app/graphql/graphql_triggers.rb', line 137 def self.user_merge_request_updated(user, merge_request) GitlabSchema.subscriptions.trigger(:user_merge_request_updated, { user_id: user.to_gid }, merge_request) end |
.work_item_note_created(work_item_gid, note_data) ⇒ Object
85 86 87 |
# File 'app/graphql/graphql_triggers.rb', line 85 def self.work_item_note_created(work_item_gid, note_data) GitlabSchema.subscriptions.trigger(:work_item_note_created, { noteable_id: work_item_gid }, note_data) end |
.work_item_note_deleted(work_item_gid, note_data) ⇒ Object
89 90 91 |
# File 'app/graphql/graphql_triggers.rb', line 89 def self.work_item_note_deleted(work_item_gid, note_data) GitlabSchema.subscriptions.trigger(:work_item_note_deleted, { noteable_id: work_item_gid }, note_data) end |
.work_item_note_updated(work_item_gid, note_data) ⇒ Object
93 94 95 |
# File 'app/graphql/graphql_triggers.rb', line 93 def self.work_item_note_updated(work_item_gid, note_data) GitlabSchema.subscriptions.trigger(:work_item_note_updated, { noteable_id: work_item_gid }, note_data) end |
.work_item_updated(work_item) ⇒ Object
121 122 123 124 125 126 127 |
# File 'app/graphql/graphql_triggers.rb', line 121 def self.work_item_updated(work_item) # becomes is necessary here since this can be triggered with both a WorkItem and also an Issue # depending on the update service the call comes from work_item = work_item.becomes(::WorkItem) if work_item.is_a?(::Issue) # rubocop:disable Cop/AvoidBecomes ::GitlabSchema.subscriptions.trigger('workItemUpdated', { work_item_id: work_item.to_gid }, work_item) end |