Создание этапа для проекта Github через REST - PullRequest
1 голос
/ 24 октября 2019

Я хотел бы использовать REST API Github для управления вехами и метками некоторых моих репозиториев, но мне постоянно не удается создавать новые вехи или метки через REST. Чего мне не хватает?

Я включаю 2FA для своей учетной записи, а также создаю личный токен доступа, как описано в Другие методы аутентификации

Например, я пытаюсьСоздайте новую веху с помощью этой команды cURL:

curl -X POST -v \
  -H "Authorization: token MyPersonalAccessToken" \
  -H "Content-Type: application/json" \
  -H "Accept: application/vnd.github.v3+json" \
  -d '{"title": "1", "state": "open", "description": "Milestone", "due_on": "2025-10-09T23:39:01Z"}' \
  https://api.github.com/repos/obfischer/boxsack/milestones

Я пробовал другие варианты, но все кажется неправильным. По крайней мере, я всегда получаю только 404 Not Found. В соответствии с документацией Github это также может означать, что моя аутентификация не удалась, поскольку Github возвращает код ответа 404 Not Found для защиты пользовательских данных вместо возврата 401 Unauthorized.

Но я вполне уверен, что аутентификация черезтокен доступа пользователя работает так, как я вижу заголовки ограничения скорости в ответе:

X-RateLimit-Limit: 5000
X-RateLimit-Remaining: 4999

Кто-то знает, почему я не могу создать веху через REST?

1 Ответ

1 голос
/ 26 октября 2019

Может быть, ваш личный токен доступа не имеет репо . Я только что проверил, чтобы отправить запрос с токеном без этой области, и он также возвращает 404:

< HTTP/1.1 404 Not Found
< Date: Sat, 26 Oct 2019 11:07:31 GMT
< Content-Type: application/json; charset=utf-8
< Content-Length: 125
< Server: GitHub.com
< Status: 404 Not Found
< X-RateLimit-Limit: 5000
< X-RateLimit-Remaining: 4989
< X-RateLimit-Reset: 1572091544
< X-OAuth-Scopes: [Here there should be repo] <================
< X-Accepted-OAuth-Scopes: 
< X-GitHub-Media-Type: github.v3; format=json
< Access-Control-Expose-Headers: ETag, Link, Location, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval, X-GitHub-Media-Type
< Access-Control-Allow-Origin: *
< Strict-Transport-Security: max-age=31536000; includeSubdomains; preload
< X-Frame-Options: deny
< X-Content-Type-Options: nosniff
< X-XSS-Protection: 1; mode=block
< Referrer-Policy: origin-when-cross-origin, strict-origin-when-cross-origin
< Content-Security-Policy: default-src 'none'
< X-GitHub-Request-Id: 87B2:23EED:36F2B7F:42647AE:5DB428F3
< 
{
  "message": "Not Found",
  "documentation_url": "https://developer.github.com/v3/issues/milestones/#create-a-milestone"
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...