2016-11-18 9 views

答えて

2

プッシュ情報のタイプはJSONです。必要なのは、gitlabにURLフックを追加することです。urlはAPIのアドレスです。 ただ好き: pic

、その後、あなたのAPIをチェックするテストボタンをクリックし

次は、私のpush_eventsのAPIです:

public int PushEventInfo([FromBody]PushEvent push) 
    { 
     bool flag = true; 
     ProjectController project = new ProjectController(); 
     List<string> projectName = new List<string>(); 
     try 
     { 
      SqlConnection conn = connectLocaldb.ConnectDataBase(); 
      conn.Open(); 
      string sql = "INSERT INTO MemberCommitBeforeCompiling(Username,ProjectName,Version,GroupName,CommitTime,Branch) VALUES ('" + push.user_name + "','" + push.project.name + "','" + push.after + "','" + groupname + "',getdate(),'" + [email protected] + "') "; 
      SqlCommand cmd = new SqlCommand(sql, conn); 
      int result = cmd.ExecuteNonQuery(); 
      //判断项目是否已存在 
      IList<Project> namelist = project.GetAllProjectInfo(); 
      foreach(var i in namelist) 
      { 
       //如果MemberProject表中已经存在该项目 
       if (i.projectName.Contains(push.project.name)|| push.project.name.Contains(i.projectName)) 
        flag = false; 
      } 
      if (flag==true) 
      { 
       sql = "INSERT INTO MemberProject(ProjectName,CommitTime,isdelete) VALUES ('" + push.project.name + "',getdate(),'0') "; 
       cmd = new SqlCommand(sql, conn); 
       result = cmd.ExecuteNonQuery(); 
      } 
      conn.Close(); 
      return result; 
     } 
     catch (Exception e) 
     { 
      FileStream fs = new FileStream("c:\\test\\log.txt", FileMode.Append, FileAccess.Write); 
      StreamWriter sw = new StreamWriter(fs); // 创建写入流 
      sw.WriteLine(e.ToString()); // 写入 
      sw.Close(); 
      return 0; 
     } 
+1

モデルクラス – xiehongguang

+0

としてプッシュJSON情報を追加し、私はまだプッシュフックがトリガされたときにAPI – xiaomifeng

+1

に何も起こらなかった場合、APIを呼び出してjsonをパラメータ – xiehongguang

関連する問題