2016-09-18 18 views
17

Używam gitlab na swoich serwerach. Chciałbym pobrać moje najnowsze zbudowany artefakty (Build poprzez gitlab-CI) za pośrednictwem interfejsu API jak tengdzie znajdę identyfikator projektu dla api gitlab?

curl --header "PRIVATE-TOKEN: 9koXpg98eAheJpvBs5tK" "https://gitlab.com/api/v3/projects/1/builds/8/artifacts"

Gdzie mogę znaleźć ten identyfikator projektu? A może w ten sposób korzystasz z API, który nie jest przeznaczony do hostowanych projektów gitlab?

BW Hubert

+0

stworzyłem problem: https://gitlab.com/gitlab-org/gitlab-ce/issues/28342 – User

Odpowiedz

13

Można zapytać o waszych posiadanych projektów:

curl -XGET --header "PRIVATE-TOKEN: XXXX" "https://gitlab.com/api/v3/projects/owned" 

otrzymasz JSON z każdego posiadanego projektu:

[ 
    { 
    "id":48, 
    "description":"", 
    "default_branch":"master", 
    "tag_list":[ 
... 

możesz również uzyskać identyfikator projektu z konfiguracji wyzwalaczy w twoim projekcie, który ma już pewien przykładowy kod z twoim ID.

Od strony wyzwalaczy:

curl -X POST \ 
    -F token=TOKEN \ 
    -F ref=REF_NAME \ 
    https://<GitLab Installation>/api/v3/projects/<ProjectID>/trigger/builds 
+0

wielkie thx - bardzo pomaga. Mała uwaga: myślę, że nagłówek powinien być nagłówkiem. –

+0

Bez problemu. Nie zapomnij przyjąć odpowiedzi, jeśli rozwiąże ona Twój problem. – Fairy

+0

Ta odpowiedź jest już nieaktualna. Zobacz odpowiedź @ Bernáta. Możesz zobaczyć identyfikator projektu na stronie ustawień projektu. –

2

Tylko dla porządku, jeśli ktoś ma potrzebę, aby pobrać artefakty z gitlab.com utworzone poprzez gitlab-Ci

  1. utworzyć prywatną żeton w ciągu Twoja przeglądarka
  2. Pobierz identyfikator projektu poprzez curl -XGET --header "PRIVATE-TOKEN: YOUR_AD_HERE?" "https://gitlab.com/api/v3/projects/owned"
  3. Pobierz ostatni artefakt z głównego oddziału utworzonego za pomocą kroku ok gitlab-CI lled release curl -XGET --header "PRIVATE-TOKEN: YOUR_AD_HERE?" -o myapp.jar "https://gitlab.com/api/v3/projects/4711/builds/artifacts/master/download?job=release"

Jestem pod wrażeniem piękna gitlab.

15

Na stronie Edytuj projekt znajduje się pole Identyfikator projektu w prawym górnym rogu.

(Można również zobaczyć identyfikator na stronie CI/rurociągów CD w kodzie exameple sekcji wyzwalaczy.)

W starszych wersjach, można go zobaczyć na stronie wyzwalacze, w adresach URL przykładowy kod.

+0

Nie widzę tego? Jaka wersja gitlab? – sunew

+1

W wersji, która działa na Gitlab.com ... nie wiem dokładnie, ale nie tak dawno temu, może od stycznia 2017 r. W starszych wersjach można ją znaleźć w przykładowym kodzie na stronie Wyzwalacze. –

8

Właśnie znalazłem jeszcze łatwiejszy sposób na uzyskanie identyfikatora projektu: po prostu zobacz zawartość HTML strony gitlab obsługującej Twój projekt. Jest wejście z polem o nazwie PROJECT_ID, np:

<input type="hidden" name="project_id" id="project_id" value="335" /> 
2

Jak wspomniano here, cały projekt zakrojony API oczekiwać albo identyfikator lub ścieżka projekt (URL zakodowane). Po prostu użyj https://gitlab.com/api/v4/projects/gitlab-org%2Fgitlab-ce bezpośrednio, gdy chcesz wejść w interakcję z projektem.

+0

Ważnym punktem jest to, że 'NAMESPACE/PROJECT_NAME' wspomniana po'/api/v4/projects/'musi być zakodowana pod adresem URL. Oznacza to, że '/' musi zostać zastąpione przez '% 2F' Na przykład: https://gitlab.com/api/v4/projects/gitlab-org%2Fgitlab-ce – sactiw

3

Enter projektu.

W menu kliknij Ustawienia lewa ręka -> Ogólne -> Ustawienia ogólne Rozwiń

Ma identyfikator etykieta projektu i jest obok nazwy projektu.

To jest wersja GitLab 10,2

Powiązane problemy