mirror of
https://gitlink.org.cn/Gitlink/forgeplus.git
synced 2026-05-03 03:40:49 +08:00
增加从webhook接收仓库日志记录
This commit is contained in:
23
app/controllers/commit_logs_controller.rb
Normal file
23
app/controllers/commit_logs_controller.rb
Normal file
@@ -0,0 +1,23 @@
|
||||
class CommitLogsController < ApplicationController
|
||||
|
||||
def create
|
||||
tip_exception "未认证" unless params[:token].to_s == "7917908927b6f1b792f2027a08a8b24a2de42c1692c2fd45da0dee5cf90a5af5"
|
||||
ref = params[:ref]
|
||||
commit_id = params[:commits][0][:id]
|
||||
message = params[:commits][0][:message]
|
||||
user_name = params[:message][0][:committer][:username]
|
||||
user_mail = params[:message][0][:committer][:email]
|
||||
user = User.find_by(mail: user_mail)
|
||||
user = User.find_by(login: user_name) if user.blank?
|
||||
|
||||
repository_id = params[:repository][:id]
|
||||
repository_name = params[:repository][:name]
|
||||
repository_full_name = params[:repository][:full_name]
|
||||
project = Project.where(identifier: repository_name).where(user_id: user.id)&.first
|
||||
project = Project.where(identifier: repository_name).where(gpid: repository_id)&.first if project.blank?
|
||||
CommitLog.create(user: user, project: project, repository_id: repository_id,
|
||||
name: repository_name, full_name: repository_full_name,
|
||||
ref: ref, commit_id: commit_id, message: message)
|
||||
|
||||
end
|
||||
end
|
||||
Reference in New Issue
Block a user