Pull Request Threads - Create
Utwórz wątek w żądaniu ściągnięcia.
POST https://dev.azure.com/{organization}/{project}/_apis/git/repositories/{repositoryId}/pullRequests/{pullRequestId}/threads?api-version=7.1
Parametry identyfikatora URI
| Nazwa | W | Wymagane | Typ | Opis |
|---|---|---|---|---|
|
organization
|
path | True |
string |
Nazwa organizacji usługi Azure DevOps. |
|
pull
|
path | True |
integer (int32) |
Identyfikator żądania ściągnięcia. |
|
repository
|
path | True |
string |
Identyfikator repozytorium gałęzi docelowej żądania ściągnięcia. |
|
project
|
path |
string |
Identyfikator projektu lub nazwa projektu |
|
|
api-version
|
query | True |
string |
Wersja interfejsu API do użycia. Należy ustawić wartość "7.1", aby używać tej wersji interfejsu API. |
Treść żądania
| Nazwa | Typ | Opis |
|---|---|---|
| _links |
Łącza do innych powiązanych obiektów. |
|
| comments |
Comment[] |
Lista komentarzy. |
| id |
integer (int32) |
Identyfikator wątku komentarza. |
| identities |
<string,
Identity |
Zestaw tożsamości powiązanych z tym wątkiem |
| isDeleted |
boolean |
Określ, czy wątek jest usuwany, co ma miejsce po usunięciu wszystkich komentarzy. |
| lastUpdatedDate |
string (date-time) |
Czas ostatniej aktualizacji tego wątku. |
| properties |
Opcjonalne właściwości skojarzone z wątkiem jako kolekcja par klucz-wartość. |
|
| publishedDate |
string (date-time) |
Czas opublikowania tego wątku. |
| pullRequestThreadContext |
Rozszerzone informacje kontekstowe unikatowe dla żądań ściągnięcia |
|
| status |
Stan wątku komentarza. |
|
| threadContext |
Określ kontekst wątku, taki jak pozycja w pliku po lewej/prawej stronie. |
Odpowiedzi
| Nazwa | Typ | Opis |
|---|---|---|
| 200 OK |
operacja zakończona powodzeniem |
Zabezpieczenia
oauth2
Typ:
oauth2
Flow:
accessCode
Adres URL autoryzacji:
https://app.vssps.visualstudio.com/oauth2/authorize&response_type=Assertion
Adres URL tokenu:
https://app.vssps.visualstudio.com/oauth2/token?client_assertion_type=urn:ietf:params:oauth:client-assertion-type:jwt-bearer&grant_type=urn:ietf:params:oauth:grant-type:jwt-bearer
Zakresy
| Nazwa | Opis |
|---|---|
| vso.code_write | Umożliwia odczytywanie, aktualizowanie i usuwanie kodu źródłowego, uzyskiwanie dostępu do metadanych dotyczących zatwierdzeń, zestawów zmian, gałęzi i innych artefaktów kontroli wersji. Ponadto umożliwia tworzenie żądań ściągnięcia i przeglądów kodu oraz zarządzanie nimi oraz odbieranie powiadomień o zdarzeniach kontroli wersji za pośrednictwem punktów zaczepienia usługi. |
| vso.threads_full | Umożliwia odczytywanie i zapisywanie wątków komentarza żądania ściągnięcia. |
Przykłady
| Comment on a specific file in the pull request |
| Comment on the pull request |
Comment on a specific file in the pull request
Przykładowe żądanie
POST https://dev.azure.com/fabrikam/_apis/git/repositories/3411ebc1-d5aa-464f-9615-0b527bc66719/pullRequests/22/threads?api-version=7.1
{
"comments": [
{
"parentCommentId": 0,
"content": "Should we add a comment about what this value means?",
"commentType": 1
}
],
"status": 1,
"threadContext": {
"filePath": "/new_feature.cpp",
"leftFileEnd": null,
"leftFileStart": null,
"rightFileEnd": {
"line": 5,
"offset": 13
},
"rightFileStart": {
"line": 5,
"offset": 1
}
},
"pullRequestThreadContext": {
"changeTrackingId": 1,
"iterationContext": {
"firstComparingIteration": 1,
"secondComparingIteration": 2
}
}
}
Przykładowa odpowiedź
{
"pullRequestThreadContext": {
"iterationContext": {
"firstComparingIteration": 1,
"secondComparingIteration": 2
},
"changeTrackingId": 1
},
"id": 148,
"publishedDate": "2016-11-01T16:30:50.083Z",
"lastUpdatedDate": "2016-11-01T16:30:50.083Z",
"comments": [
{
"id": 1,
"parentCommentId": 0,
"author": {
"id": "d6245f20-2af8-44f4-9451-8107cb2767db",
"displayName": "Normal Paulk",
"uniqueName": "fabrikamfiber16@hotmail.com",
"url": "https://dev.azure.com/fabrikam/_apis/Identities/d6245f20-2af8-44f4-9451-8107cb2767db",
"imageUrl": "https://dev.azure.com/fabrikam/_api/_common/identityImage?id=d6245f20-2af8-44f4-9451-8107cb2767db"
},
"content": "Should we add a comment about what this value means?",
"publishedDate": "2016-11-01T16:30:50.083Z",
"lastUpdatedDate": "2016-11-01T16:30:50.083Z",
"commentType": "text"
}
],
"status": "active",
"threadContext": {
"filePath": "/new_feature.cpp",
"rightFileStart": {
"line": 5,
"offset": 1
},
"rightFileEnd": {
"line": 5,
"offset": 13
}
},
"properties": {},
"isDeleted": false,
"_links": {
"self": {
"href": "https://dev.azure.com/fabrikam/_apis/git/repositories/3411ebc1-d5aa-464f-9615-0b527bc66719/pullRequests/22/threads/148"
},
"repository": {
"href": "https://dev.azure.com/fabrikam/_apis/git/repositories/3411ebc1-d5aa-464f-9615-0b527bc66719"
}
}
}
Comment on the pull request
Przykładowe żądanie
POST https://dev.azure.com/fabrikam/_apis/git/repositories/3411ebc1-d5aa-464f-9615-0b527bc66719/pullRequests/22/threads?api-version=7.1
{
"comments": [
{
"parentCommentId": 0,
"content": "This new feature looks good!",
"commentType": 1
}
],
"status": 1
}
Przykładowa odpowiedź
{
"pullRequestThreadContext": null,
"id": 147,
"publishedDate": "2016-11-01T16:30:48.91Z",
"lastUpdatedDate": "2016-11-01T16:30:48.91Z",
"comments": [
{
"id": 1,
"parentCommentId": 0,
"author": {
"id": "d6245f20-2af8-44f4-9451-8107cb2767db",
"displayName": "Normal Paulk",
"uniqueName": "fabrikamfiber16@hotmail.com",
"url": "https://dev.azure.com/fabrikam/_apis/Identities/d6245f20-2af8-44f4-9451-8107cb2767db",
"imageUrl": "https://dev.azure.com/fabrikam/_api/_common/identityImage?id=d6245f20-2af8-44f4-9451-8107cb2767db"
},
"content": "This new feature looks good!",
"publishedDate": "2016-11-01T16:30:48.91Z",
"lastUpdatedDate": "2016-11-01T16:30:48.91Z",
"commentType": "text"
}
],
"status": "active",
"threadContext": null,
"properties": {},
"isDeleted": false,
"_links": {
"self": {
"href": "https://dev.azure.com/fabrikam/_apis/git/repositories/3411ebc1-d5aa-464f-9615-0b527bc66719/pullRequests/22/threads/147"
},
"repository": {
"href": "https://dev.azure.com/fabrikam/_apis/git/repositories/3411ebc1-d5aa-464f-9615-0b527bc66719"
}
}
}
Definicje
| Nazwa | Opis |
|---|---|
| Comment |
Reprezentuje komentarz, który jest jednym z potencjalnie wielu w wątku komentarza. |
|
Comment |
Kontekst iteracji komentarzy służy do identyfikowania różnic, które były wyświetlane podczas tworzenia wątku. |
|
Comment |
|
|
Comment |
|
|
Comment |
Stan wątku komentarza. |
|
Comment |
Kryteria śledzenia komentarzy służą do identyfikowania kontekstu iteracji, do którego wątku został śledzony (jeśli istnieje) wraz z pewnymi szczegółami dotyczącymi oryginalnej pozycji i nazwy pliku. |
|
Comment |
Typ komentarza podczas tworzenia. |
|
Git |
Reprezentuje wątek komentarza żądania ściągnięcia. Wątek zawiera metadane dotyczące pliku, który został pozostawiony (jeśli istnieje) wraz z co najmniej jednym komentarzem (początkowym komentarzem i kolejnymi odpowiedziami). |
|
Git |
Kontekst wątku komentarza zawiera szczegółowe informacje na temat różnic, które były wyświetlane w momencie tworzenia wątku i czy wątek został śledzony z tej oryginalnej różnicy. |
|
Identity |
|
|
Properties |
Klasa reprezentuje torbę właściwości jako kolekcję par klucz-wartość. Akceptowane są wartości wszystkich typów pierwotnych (dowolnego typu z |
|
Reference |
Klasa reprezentująca kolekcję linków referencyjnych REST. |
Comment
Reprezentuje komentarz, który jest jednym z potencjalnie wielu w wątku komentarza.
| Nazwa | Typ | Opis |
|---|---|---|
| _links |
Łącza do innych powiązanych obiektów. |
|
| author |
Autor komentarza. |
|
| commentType |
Typ komentarza podczas tworzenia. |
|
| content |
string |
Zawartość komentarza. |
| id |
integer (int16) |
Identyfikator komentarza. Identyfikatory zaczynają się od 1 i są unikatowe dla żądania ściągnięcia. |
| isDeleted |
boolean |
Czy ten komentarz został usunięty nietrwale. |
| lastContentUpdatedDate |
string (date-time) |
Data ostatniej aktualizacji zawartości komentarza. |
| lastUpdatedDate |
string (date-time) |
Data ostatniej aktualizacji komentarza. |
| parentCommentId |
integer (int16) |
Identyfikator komentarza nadrzędnego. Jest to używane w przypadku odpowiedzi. |
| publishedDate |
string (date-time) |
Data opublikowania komentarza. |
| usersLiked |
Lista użytkowników, którzy polubili ten komentarz. |
CommentIterationContext
Kontekst iteracji komentarzy służy do identyfikowania różnic, które były wyświetlane podczas tworzenia wątku.
| Nazwa | Typ | Opis |
|---|---|---|
| firstComparingIteration |
integer (int16) |
Iterację pliku po lewej stronie różnicy podczas tworzenia wątku. Jeśli ta wartość jest równa SecondComparingIteration, ta wersja jest typowym zatwierdzeniem między gałęziami źródłowymi i docelowymi żądania ściągnięcia. |
| secondComparingIteration |
integer (int16) |
Iteracja pliku po prawej stronie różnicy podczas tworzenia wątku. |
CommentPosition
| Nazwa | Typ | Opis |
|---|---|---|
| line |
integer (int32) |
Numer wiersza pozycji wątku. Rozpoczyna się o 1. |
| offset |
integer (int32) |
Przesunięcie znaku położenia wątku wewnątrz linii. Zaczyna się od 0. |
CommentThreadContext
| Nazwa | Typ | Opis |
|---|---|---|
| filePath |
string |
Ścieżka pliku względem katalogu głównego repozytorium. Do klienta należy użycie dowolnego formatu ścieżki. |
| leftFileEnd |
Położenie ostatniego znaku zakresu wątku w pliku po lewej stronie. |
|
| leftFileStart |
Pozycja pierwszego znaku zakresu wątku w pliku po lewej stronie. |
|
| rightFileEnd |
Położenie ostatniego znaku zakresu wątku w odpowiednim pliku. |
|
| rightFileStart |
Położenie pierwszego znaku zakresu wątku w prawym pliku. |
CommentThreadStatus
Stan wątku komentarza.
| Wartość | Opis |
|---|---|
| active |
Stan wątku jest aktywny. |
| byDesign |
Stan wątku jest rozpoznawany zgodnie z projektem. |
| closed |
Stan wątku jest zamknięty. |
| fixed |
Stan wątku jest rozpoznawany jako stały. |
| pending |
Stan wątku jest oczekujący. |
| unknown |
Stan wątku jest nieznany. |
| wontFix |
Stan wątku jest rozpoznawany, ponieważ nie zostanie rozwiązany. |
CommentTrackingCriteria
Kryteria śledzenia komentarzy służą do identyfikowania kontekstu iteracji, do którego wątku został śledzony (jeśli istnieje) wraz z pewnymi szczegółami dotyczącymi oryginalnej pozycji i nazwy pliku.
| Nazwa | Typ | Opis |
|---|---|---|
| firstComparingIteration |
integer (int32) |
Iterację pliku po lewej stronie różnicy, do którego będzie śledzony wątek. Wątki zostały śledzone, jeśli jest to większe niż 0. |
| origFilePath |
string |
Oryginalna ścieżka pliku wątku została utworzona przed śledzeniem. Będzie to inne niż bieżąca ścieżka pliku wątku, jeśli nazwa danego pliku została zmieniona w późniejszej iteracji. |
| origLeftFileEnd |
Oryginalna pozycja ostatniego znaku zakresu wątku w pliku po lewej stronie. |
|
| origLeftFileStart |
Oryginalne położenie pierwszego znaku zakresu wątku w pliku po lewej stronie. |
|
| origRightFileEnd |
Oryginalna pozycja ostatniego znaku zakresu wątku w odpowiednim pliku. |
|
| origRightFileStart |
Oryginalna pozycja pierwszego znaku zakresu wątku w prawym pliku. |
|
| secondComparingIteration |
integer (int32) |
Iterację pliku po prawej stronie różnicy, do którego będzie śledzony wątek. Wątki zostały śledzone, jeśli jest to większe niż 0. |
CommentType
Typ komentarza podczas tworzenia.
| Wartość | Opis |
|---|---|
| codeChange |
Komentarz jest wynikiem zmiany kodu. |
| system |
Komentarz reprezentuje komunikat systemowy. |
| text |
Jest to zwykły komentarz użytkownika. |
| unknown |
Typ komentarza nie jest znany. |
GitPullRequestCommentThread
Reprezentuje wątek komentarza żądania ściągnięcia. Wątek zawiera metadane dotyczące pliku, który został pozostawiony (jeśli istnieje) wraz z co najmniej jednym komentarzem (początkowym komentarzem i kolejnymi odpowiedziami).
| Nazwa | Typ | Opis |
|---|---|---|
| _links |
Łącza do innych powiązanych obiektów. |
|
| comments |
Comment[] |
Lista komentarzy. |
| id |
integer (int32) |
Identyfikator wątku komentarza. |
| identities |
<string,
Identity |
Zestaw tożsamości powiązanych z tym wątkiem |
| isDeleted |
boolean |
Określ, czy wątek jest usuwany, co ma miejsce po usunięciu wszystkich komentarzy. |
| lastUpdatedDate |
string (date-time) |
Czas ostatniej aktualizacji tego wątku. |
| properties |
Opcjonalne właściwości skojarzone z wątkiem jako kolekcja par klucz-wartość. |
|
| publishedDate |
string (date-time) |
Czas opublikowania tego wątku. |
| pullRequestThreadContext |
Rozszerzone informacje kontekstowe unikatowe dla żądań ściągnięcia |
|
| status |
Stan wątku komentarza. |
|
| threadContext |
Określ kontekst wątku, taki jak pozycja w pliku po lewej/prawej stronie. |
GitPullRequestCommentThreadContext
Kontekst wątku komentarza zawiera szczegółowe informacje na temat różnic, które były wyświetlane w momencie tworzenia wątku i czy wątek został śledzony z tej oryginalnej różnicy.
| Nazwa | Typ | Opis |
|---|---|---|
| changeTrackingId |
integer (int32) |
Służy do śledzenia komentarza w iteracji. Tę wartość można znaleźć, przeglądając listę zmian iteracji. Należy ustawić dla żądań ściągnięcia z obsługą iteracji. W przeciwnym razie nie jest to wymagane w przypadku żądań ściągnięcia "starszych". |
| iterationContext |
Kontekst iteracji jest wyświetlany podczas tworzenia wątku. |
|
| trackingCriteria |
Kryteria używane do śledzenia tego wątku. Jeśli ta właściwość zostanie wypełniona podczas zwracania wątku, wątek został śledzony z oryginalnej lokalizacji przy użyciu podanych kryteriów. |
IdentityRef
| Nazwa | Typ | Opis |
|---|---|---|
| _links |
To pole zawiera zero lub więcej interesujących linków dotyczących tematu grafu. Te linki mogą być wywoływane w celu uzyskania dodatkowych relacji lub bardziej szczegółowych informacji na temat tego tematu grafu. |
|
| descriptor |
string |
Deskryptor jest podstawowym sposobem odwołowania się do tematu grafu podczas działania systemu. To pole będzie jednoznacznie identyfikować ten sam temat grafu zarówno w ramach kont, jak i organizacji. |
| directoryAlias |
string |
Przestarzałe — można go pobrać, wykonując zapytanie względem użytkownika programu Graph, do których odwołuje się wpis "self" słownika IdentityRef "_links" |
| displayName |
string |
Jest to unikatowa nazwa wyświetlana podmiotu grafu. Aby zmienić to pole, musisz zmienić jego wartość u dostawcy źródłowego. |
| id |
string |
|
| imageUrl |
string |
Przestarzałe — dostępne we wpisie "avatar" słownika IdentityRef "_links" |
| inactive |
boolean |
Przestarzałe — można pobrać, wykonując zapytanie dotyczące stanu członkostwa programu Graph, do których odwołuje się wpis "membershipState" słownika GraphUser "_links" |
| isAadIdentity |
boolean |
Przestarzałe — można wywnioskować z typu podmiotu deskryptora (Descriptor.IsAadUserType/Descriptor.IsAadGroupType) |
| isContainer |
boolean |
Przestarzałe — można wywnioskować z typu podmiotu deskryptora (Descriptor.IsGroupType) |
| isDeletedInOrigin |
boolean |
|
| profileUrl |
string |
Przestarzałe — nie jest używane w większości istniejących implementacji elementu ToIdentityRef |
| uniqueName |
string |
Przestarzałe — zamiast tego użyj nazwy głównej i domeny |
| url |
string |
Ten adres URL jest pełną trasą do zasobu źródłowego tego tematu grafu. |
PropertiesCollection
Klasa reprezentuje torbę właściwości jako kolekcję par klucz-wartość. Akceptowane są wartości wszystkich typów pierwotnych (dowolnego typu z TypeCode != TypeCode.Object), z wyjątkiem DBNull. Wartości typu Byte[], Int32, Double, DateType i String zachowują swój typ, inne typy pierwotne są zmieniane jako ciąg. Bajt[] oczekiwany jako ciąg zakodowany w formacie base64.
| Nazwa | Typ | Opis |
|---|---|---|
| count |
integer (int32) |
Liczba właściwości w kolekcji. |
| item |
object |
|
| keys |
string[] |
Zestaw kluczy w kolekcji. |
| values |
string[] |
Zestaw wartości w kolekcji. |
ReferenceLinks
Klasa reprezentująca kolekcję linków referencyjnych REST.
| Nazwa | Typ | Opis |
|---|---|---|
| links |
object |
Czytelny widok linków. Ponieważ linki odwołania są tylko do odczytu, chcemy uwidocznić je tylko jako tylko do odczytu. |