{"meta":{"title":"Arbeiten mit Kommentaren","intro":"Mithilfe der REST-API kannst du auf Kommentare in Pull Requests, Issues oder Commits zugreifen und diese verwalten.","product":"REST-API","breadcrumbs":[{"href":"/de/enterprise-server@3.21/rest","title":"REST-API"},{"href":"/de/enterprise-server@3.21/rest/guides","title":"Anleitungen"},{"href":"/de/enterprise-server@3.21/rest/guides/working-with-comments","title":"Arbeiten mit Kommentaren"}],"documentType":"article"},"body":"# Arbeiten mit Kommentaren\n\nMithilfe der REST-API kannst du auf Kommentare in Pull Requests, Issues oder Commits zugreifen und diese verwalten.\n\nFür jede Pullanforderung GitHub werden drei Arten von Kommentaransichten bereitgestellt: [Kommentare für die Pullanforderung](https://github.com/octocat/Spoon-Knife/pull/1176#issuecomment-24114792) als Ganzes, [Kommentare zu einer bestimmten Zeile](https://github.com/octocat/Spoon-Knife/pull/1176#discussion_r6252889) innerhalb der Pullanforderung und [Kommentare zu einem bestimmten Commit](https://github.com/octocat/Spoon-Knife/commit/cbc28e7c8caee26febc8c013b0adfb97a4edd96e#commitcomment-4049848) innerhalb der Pullanforderung.\n\nJeder dieser Arten von Kommentaren durchläuft einen anderen Teil der GitHub API.\nIn diesem Leitfaden erfährst du, wie du auf jede zugreifen und sie bearbeiten kannst. Verwende für jedes Beispiel [diesen Beispiel-Pull Request](https://github.com/octocat/Spoon-Knife/pull/1176), der im Repository „octocat“ vorgenommen wurde. Beispiele findest du wie immer in [unserem Plattformbeispiel-Repository](https://github.com/github/platform-samples/tree/master/api/ruby/working-with-comments).\n\n## Pull Request-Kommentare\n\nWenn du auf Kommentare zu einem Pull Request zugreifen willst, verwende [die Endpunkte zur Verwaltung von Issues](/de/enterprise-server@3.21/rest/issues/comments).\nDies kann Ihnen zunächst kontraintuitiv vorkommen. Doch sobald du verstehst, dass ein Pull Request nur ein Issue mit Code ist, ergibt es Sinn, diese Endpunkte zum Erstellen von Kommentaren für ein Pull Request zu verwenden.\n\nHier erfährst du, wie das Abrufen von Pull Request-Kommentaren funktioniert, indem du ein Ruby-Skript mit [Octokit.rb](https://github.com/octokit/octokit.rb) erstellst. Außerdem möchten Sie eine [personal access token](/de/enterprise-server@3.21/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens).\n\nDer folgende Code hilft Ihnen, mithilfe von Octokit.rb mit dem Zugreifen auf Kommentare zu einem Pull Request zu beginnen:\n\n```ruby\nrequire 'octokit'\n\n# !!! DO NOT EVER USE HARD-CODED VALUES IN A REAL APP !!!\n# Instead, set and test environment variables, like below\nclient = Octokit::Client.new :access_token => ENV['MY_PERSONAL_TOKEN']\n\nclient.issue_comments(\"octocat/Spoon-Knife\", 1176).each do |comment|\n  username = comment[:user][:login]\n  post_date = comment[:created_at]\n  content = comment[:body]\n\n  puts \"#{username} made a comment on #{post_date}. It says:\\n'#{content}'\\n\"\nend\n```\n\nHier rufst du ausdrücklich die API auf, um die Kommentare abzurufen (`issue_comments`), und stellst sowohl den Repositorynamen (`octocat/Spoon-Knife`) als auch die Pull Request-ID bereit, an der du interessiert bist (`1176`). Anschließend musst du nur die Kommentare durchgehen, um Informationen zu jedem einzelnen abzurufen.\n\n## Pull Request-Kommentare in einer Zeile\n\nIn der Diff-Ansicht kannst du eine Diskussion zu einem bestimmten Aspekt einer einzelnen innerhalb des Pull Request vorgenommenen Änderung beginnen. Diese Kommentare erscheinen in den einzelnen Zeilen innerhalb einer geänderten Datei. Die Endpunkt-URL für diese Diskussion stammt aus [dem Endpunkt zum Verwalten von Pull Request-Reviews](/de/enterprise-server@3.21/rest/pulls/comments).\n\nDer folgende Code ruft mit einer einzelnen Pull Request-Nummer alle Pull Request-Kommentare zu Dateien ab:\n\n```ruby\nrequire 'octokit'\n\n# !!! DO NOT EVER USE HARD-CODED VALUES IN A REAL APP !!!\n# Instead, set and test environment variables, like below\nclient = Octokit::Client.new :access_token => ENV['MY_PERSONAL_TOKEN']\n\nclient.pull_request_comments(\"octocat/Spoon-Knife\", 1176).each do |comment|\n  username = comment[:user][:login]\n  post_date = comment[:created_at]\n  content = comment[:body]\n  path = comment[:path]\n  position = comment[:position]\n\n  puts \"#{username} made a comment on #{post_date} for the file called #{path}, on line #{position}. It says:\\n'#{content}'\\n\"\nend\n```\n\nWie du siehst, ist dieses Beispiel dem obigen sehr ähnlich. Der Unterschied zwischen dieser Ansicht und dem Pull Request-Kommentar ist der Fokus der Unterhaltung.\nEin Kommentar zu einem Pull Request sollte auf Diskussionen oder Ideen zur allgemeinen Richtung des Codes beschränkt sein. Ein Kommentar als Teil eines Pull Request-Reviews sollte sich speziell mit der Art befassen, wie eine bestimmte Änderung in einer Datei implementiert wurde.\n\n## Commitkommentare\n\nDer letzte Kommentarstyp tritt spezifisch bei einzelnen Commits auf. Aus diesem Grund nutzen sie [den Endpunkt zum Verwalten von Commitkommentaren](/de/enterprise-server@3.21/rest/commits#get-a-commit-comment).\n\nUm die Kommentare für einen Commit abzurufen, solltest du SHA-1 des Commits verwenden.\nMit anderen Worten: Du verwendest keinen Bezeichner, der mit dem Pull Request zusammenhängt. Hier sehen Sie ein Beispiel:\n\n```ruby\nrequire 'octokit'\n\n# !!! DO NOT EVER USE HARD-CODED VALUES IN A REAL APP !!!\n# Instead, set and test environment variables, like below\nclient = Octokit::Client.new :access_token => ENV['MY_PERSONAL_TOKEN']\n\nclient.commit_comments(\"octocat/Spoon-Knife\", \"cbc28e7c8caee26febc8c013b0adfb97a4edd96e\").each do |comment|\n  username = comment[:user][:login]\n  post_date = comment[:created_at]\n  content = comment[:body]\n\n  puts \"#{username} made a comment on #{post_date}. It says:\\n'#{content}'\\n\"\nend\n```\n\nBeachte, dass dieser API-Aufruf einzelne Zeilenkommentare sowie Kommentare abruft, die für den gesamten Commit vorgenommen wurden."}