GitLab: Allow fetching events

Projects that are linked to a GitLab instance will now fetch
notifications for this project and print them to the vcs output pane.

Change-Id: Ifb960e64b30a260327efb28a3dfd26f6457503a0
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: David Schulz <david.schulz@qt.io>
This commit is contained in:
Christian Stenger
2022-05-12 13:54:00 +02:00
parent cd1af2864b
commit dd27901759
8 changed files with 294 additions and 3 deletions

View File

@@ -43,6 +43,7 @@ const char API_PREFIX[] = "/api/v4";
const char QUERY_PROJECT[] = "/projects/%1";
const char QUERY_PROJECTS[] = "/projects?simple=true";
const char QUERY_USER[] = "/user";
const char QUERY_EVENTS[] = "/projects/%1/events";
Query::Query(Type type, const QStringList &parameter)
: m_type(type)
@@ -62,7 +63,7 @@ void Query::setAdditionalParameters(const QStringList &additional)
bool Query::hasPaginatedResults() const
{
return m_type == Query::Projects;
return m_type == Query::Projects || m_type == Query::Events;
}
QString Query::toString() const
@@ -82,6 +83,11 @@ QString Query::toString() const
case Query::User:
query += QUERY_USER;
break;
case Query::Events:
QTC_ASSERT(!m_parameter.isEmpty(), return {});
query += QLatin1String(QUERY_EVENTS).arg(QLatin1String(
QUrl::toPercentEncoding(m_parameter.at(0))));
break;
}
if (m_pageParameter > 0) {
query.append(m_type == Query::Projects ? '&' : '?');