Add commitSha to the Checks API fetch() interface

Change-Id: I219d5472d1702757df96b38a3473b5533f6aa0b9
diff --git a/polygerrit-ui/app/api/checks.ts b/polygerrit-ui/app/api/checks.ts
index 71ad2be..3be34fe 100644
--- a/polygerrit-ui/app/api/checks.ts
+++ b/polygerrit-ui/app/api/checks.ts
@@ -46,6 +46,7 @@
 export interface ChangeData {
   changeNumber: number;
   patchsetNumber: number;
+  patchsetSha: string;
   repo: string;
   commmitMessage?: string;
   /* TODO(brohlfs): Add dep to Rest API types and replace type by ChangeInfo. */
diff --git a/polygerrit-ui/app/services/checks/checks-service.ts b/polygerrit-ui/app/services/checks/checks-service.ts
index 211eb0c..1960718 100644
--- a/polygerrit-ui/app/services/checks/checks-service.ts
+++ b/polygerrit-ui/app/services/checks/checks-service.ts
@@ -49,6 +49,8 @@
 } from 'rxjs';
 import {PatchSetNumber} from '../../types/common';
 import {getCurrentRevision} from '../../utils/change-util';
+import {getShaByPatchNum} from '../../utils/patch-set-util';
+import {assertIsDefined} from '../../utils/common-util';
 
 export class ChecksService {
   private readonly providers: {[name: string]: ChecksProvider} = {};
@@ -127,9 +129,13 @@
                 runs: [],
               });
             }
+            assertIsDefined(change.revisions, 'change.revisions');
+            const patchsetSha = getShaByPatchNum(change.revisions, patchNum);
+            assertIsDefined(patchsetSha, 'patchsetSha');
             const data: ChangeData = {
               changeNumber: changeNum,
               patchsetNumber: patchNum,
+              patchsetSha,
               repo: change.project,
               commmitMessage: getCurrentRevision(change)?.commit?.message,
               changeInfo: change,
diff --git a/polygerrit-ui/app/utils/patch-set-util.ts b/polygerrit-ui/app/utils/patch-set-util.ts
index a0946a3..138479c 100644
--- a/polygerrit-ui/app/utils/patch-set-util.ts
+++ b/polygerrit-ui/app/utils/patch-set-util.ts
@@ -6,6 +6,7 @@
   ParentPatchSetNum,
   PatchSetNumber,
   BasePatchSetNum,
+  RevisionPatchSetNum,
 } from '../types/common';
 import {RestApiService} from '../services/gr-rest-api/gr-rest-api';
 import {EditRevisionInfo, ParsedChangeInfo} from '../types/types';
@@ -107,6 +108,16 @@
   return;
 }
 
+export function getShaByPatchNum(
+  revisions: {[revisionId: string]: RevisionInfo | EditRevisionInfo},
+  patchNum: RevisionPatchSetNum
+) {
+  for (const [sha, rev] of Object.entries(revisions)) {
+    if (rev._number === patchNum) return sha;
+  }
+  return undefined;
+}
+
 /**
  * Find change edit base revision if change edit exists.
  *