2013-05-13 39 views
12

Hàng chục vấn đề đã được đưa vào dự án của tôi trên github không có chỗ ở đó. Một số Einstein đã chạy một kịch bản và tạo ra tất cả những vấn đề vô nghĩa này thông qua api. Không có gì liên quan đến những vấn đề này.Github - loại bỏ các vấn đề được nhập vào lỗi

Chắc chắn có cách nào đó tôi có thể xóa chúng, nhưng tôi dường như không thể tìm thấy nó trong tài liệu.

+0

Bất kỳ lý do bạn không chỉ muốn đóng chúng? – Cairnarvon

+1

Tôi đoán anh ấy muốn xóa chúng để anh ấy có thể nhập lại chúng để chúng được liên kết. Và theo như tôi có thể nói, tất cả những gì bạn có thể làm là đóng các vấn đề. Tôi không thể tìm ra cách để loại bỏ chúng. –

+0

Tôi có thể làm điều đó nhưng sau đó nó sẽ nói rằng tôi có 200 vấn đề đóng cửa khi thực sự chỉ có 100 và nó trông giống như một thảm họa với tất cả các tiêu đề vô nghĩa ... –

Trả lời

9

Không có cách nào để thực sự xóa các vấn đề. Những gì bạn có thể làm, để chỉ ra rằng đây là một cuộc tấn công spam, là tạo một nhãn mới. Sau đó, bạn có thể sử dụng API để edit mỗi sự cố phải được đóng và gắn nhãn với nhãn SPAM. Những người nhìn vào nó sẽ thấy nhãn hiển thị bên cạnh vấn đề và nó thực sự là tốt nhất bạn có thể hy vọng.

Nếu bạn cảm thấy thoải mái hơn với ngôn ngữ cụ thể, hãy kiểm tra số library để viết giúp cuộc sống của bạn dễ dàng hơn.

+2

Đây là những gì tôi nghĩ/lo sợ. Cảm ơn tất cả mọi người. –

+1

Bạn cũng có thể [chặn người dùng] (https://help.github.com/articles/blocking-a-user) để ngăn họ mở bất kỳ vấn đề nào khác trên kho của bạn. – jasonrudolph

0

Do các vấn đề pháp lý, tôi đã phải xóa một vài vấn đề với nhiều nhận xét của một dự án. Tôi đã làm như sau:

  1. Xóa tất cả các ý kiến ​​
  2. chỉnh sửa văn bản về vấn đề này ("Vấn đề này đã bị xóa và chặn")
  3. Chặn vấn đề

Sao chép dán trên thanh địa chỉ của trình duyệt:

javascript:(function(){ $('.delete-button.octicon.octicon-x.js-comment-delete').each(function(){ href=$(this).attr("href"); if(href!==undefined) { console.log("DELETING: "+href); $.ajax({type:"DELETE",url:href}); } }); firstCommentToedit=$('form.js-comment-update')[0]; $.ajax({ type:"POST", url:firstCommentToedit.action, data:{ _method:$(firstCommentToedit).find('input[name=_method]').val(), "issue[body]":"THIS ISSUE WAS DELETED AND BLOCKED", authenticity_token:$(firstCommentToedit).find('input[name=authenticity_token]').val() } }); lockLink=$('a[href$="/lock"]')[0]; if (lockLink!==undefined) { $.ajax({ type:"POST", url:lockLink.href, data:{_method:$(lockLink).attr("data-method")} }); } setTimeout(function(){window.location=window.location;},3000) })() 

Mở rộng:

javascript: (function() { 
 
    $('.delete-button.octicon.octicon-x.js-comment-delete').each(function() { 
 
     href = $(this).attr("href"); 
 
     if (href !== undefined) { 
 
      console.log("DELETING: " + href); 
 
      $.ajax({ 
 
       type: "DELETE", 
 
       url: href 
 
      }); 
 
     } 
 
    }); 
 
    firstCommentToedit = $('form.js-comment-update')[0]; 
 
    $.ajax({ 
 
     type: "POST", 
 
     url: firstCommentToedit.action, 
 
     data: { 
 
      _method: $(firstCommentToedit).find('input[name=_method]').val(), 
 
      "issue[body]": "THIS ISSUE WAS DELETED AND BLOCKED", 
 
      authenticity_token: $(firstCommentToedit).find('input[name=authenticity_token]').val() 
 
     } 
 
    }); 
 
    lockLink = $('a[href$="/lock"]')[0]; 
 
    if (lockLink !== undefined) { 
 
     $.ajax({ 
 
      type: "POST", 
 
      url: lockLink.href, 
 
      data: { 
 
       _method: $(lockLink).attr("data-method") 
 
      } 
 
     }); 
 
    } 
 
    setTimeout(function() { 
 
     window.location = window.location; 
 
    }, 3000) 
 
})()

+0

Mục số 3 làm gì? – Gaia

+0

@Gaia Tôi đã chỉnh sửa câu trả lời. Mã này là "lối tắt" để tự động thực hiện các bước được mô tả ở trên. Tôi không biết nếu nó vẫn hoạt động (nó phụ thuộc vào việc GitHub đã thay đổi tên lớp). – aabilio

+0

Ví dụ: vấn đề "đã xóa" với phương thức này: https://github.com/aabilio/PyDownTV2/issues/135 – aabilio

Các vấn đề liên quan