Frecuentemente publicamos actualizaciones de nuestra documentación. Es posible que la traducción de esta página esté en curso. Para conocer la información más actual, visita la documentación en inglés. Si existe un problema con las traducciones en esta página, por favor infórmanos.

Esta versión de GitHub Enterprise se discontinuó el 2021-03-02. No se realizarán lanzamientos de patch, ni siquiera para problemas de seguridad críticos. Para obtener un mejor desempeño, más seguridad y nuevas características, actualiza a la última versión de GitHub Enterprise. Para obtener ayuda con la actualización, contacta al soporte de GitHub Enterprise.

Trabajar con los comentarios

Puedes acceder y administrar los comentarios en tus solicitudes de extracción, informes de problemas o confirmaciones si utilizas la API de REST.

En este artículo

Para cualquier solicitud de extracción, GitHub Enterprise proporciona tres tipos de visualizaciones de comentario: comentarios en la solicitud de extracción integrales, comentarios en una línea específica dentro de la solicitud de extracción, y comentarios sobre una confirmación específica dentro de la solicitud de extracción.

Cada uno de estos tipos de comentario pasa por una porción diferente de la API de GitHub Enterprise. En esta guía exploraremos cómo puedes acceder y manipular cada uno de ellos. En cada ejemplo utilizaremos esta muestra de Solicitud de Extracción que se hizo en el repositorio de "octocat". Como siempre, puedes encontrar las muestras en nuestro repositorio de platform-samples.

Comentarios de las Solicitudes de Extracción

Para acceder a loscomentarios de una solicitud de extracción deberás de pasar por la API de Informes de Problemas. Esto puede parecer contraintuitivo al principio. Pero una vez que entiendes que una Solicitud de Extracción es solo un informe de problemas con código, tendrá sentido utuilizar la API de Informes de Problemas para crear comentarios en una solicitud de extracción.

Demostraremos cómo obtener comentarios de una solicitud de extracción mediante la creación de un script de Ruby que utilice Octokit.rb. También deberás crear un token de acceso personal.

El código siguiente debería ayudarte a empezar a acceder a los comentarios de una solicitud de extracción utilizando Octokit.rb:

require 'octokit'

# !!! DO NOT EVER USE HARD-CODED VALUES IN A REAL APP !!!
# Instead, set and test environment variables, like below
client = Octokit::Client.new :access_token => ENV['MY_PERSONAL_TOKEN']

client.issue_comments("octocat/Spoon-Knife", 1176).each do |comment|
  username = comment[:user][:login]
  post_date = comment[:created_at]
  content = comment[:body]

  puts "#{username} made a comment on #{post_date}. It says:\n'#{content}'\n"
end

Aquí estamos llamando específicamente a la API de Informes de problemas para obtener los comentarios (issue_comments), proporcionando tanto el nombre del repositorio (octocat/Spoon-Knife) como la ID de la solicitud de extracción en la que estamos interesados (1176). Después, solo es cuestión de iterar a través de los comentarios para obtener la información sobre cada uno.

Comentarios en una línea de una solicitud de extracción

Dentro de la vista de diferencias, puedes iniciar un debate sobre algún aspecto específico de un cambio particular que se haya hecho dentro de la solicitud de extracción. Estos comentarios ocurren en las líneas individuales dentro de un archivo que ha cambiado. La URL de la terminal para este debate veien de la API de Revisión de Solicitudes de Extracción.

El código siguiente obtiene todos los comentarios de la solicitud de extracción que se hayan hecho en los archivos, si se le da un número particular de solicitud de extracción:

require 'octokit'

# !!! DO NOT EVER USE HARD-CODED VALUES IN A REAL APP !!!
# Instead, set and test environment variables, like below
client = Octokit::Client.new :access_token => ENV['MY_PERSONAL_TOKEN']

client.pull_request_comments("octocat/Spoon-Knife", 1176).each do |comment|
  username = comment[:user][:login]
  post_date = comment[:created_at]
  content = comment[:body]
  path = comment[:path]
  position = comment[:position]

  puts "#{username} made a comment on #{post_date} for the file called #{path}, on line #{position}. It says:\n'#{content}'\n"
end

Te darás cuenta de que es increíblemente similar al ejemplo anterior. La diferencia entre esta vista y el comentario de la solicitud de extracción es el enfoque de la conversación. El comentario que se haga en una solicitud de extracción deberá reservarse para debatir ideas sobre el enfoque general del código. Cualquier comentario que se haga como parte de una revisión de una Solicitud de Extracción deberá tratar específicamente la forma en la que se implementa un cambio específico dentro de un archivo.

Comentarios de las confirmaciones

El último tipo de comentarios suceden específicamente en confirmaciones individuales. Es por esto que utilizan la API de comentarios de las confirmaciones.

Para recuperar los comentarios en una confirmación, necesitarás utilizar el SHA1 de ésta. Es decir, no utilizarás ningún identificador relacionado con la Solicitud de Extracción. Aquí hay un ejemplo:

require 'octokit'

# !!! DO NOT EVER USE HARD-CODED VALUES IN A REAL APP !!!
# Instead, set and test environment variables, like below
client = Octokit::Client.new :access_token => ENV['MY_PERSONAL_TOKEN']

client.commit_comments("octocat/Spoon-Knife", "cbc28e7c8caee26febc8c013b0adfb97a4edd96e").each do |comment|
  username = comment[:user][:login]
  post_date = comment[:created_at]
  content = comment[:body]

  puts "#{username} made a comment on #{post_date}. It says:\n'#{content}'\n"
end

Ten en cuenta que esta llamada a la API recuperará comentarios de una sola línea, así como aquellos que se hagan en toda la confirmación.