Просмотр исходного кода

fix(release): Fix missing projectId in the URL (#20295)

Priscila Oliveira 4 лет назад
Родитель
Сommit
412008b3b0

+ 3 - 2
src/sentry/static/sentry/app/components/deployBadge.tsx

@@ -12,12 +12,13 @@ import overflowEllipsis from 'app/styles/overflowEllipsis';
 
 type Props = {
   deploy: Deploy;
+  projectId?: number;
   orgSlug?: string;
   version?: string;
   className?: string;
 };
 
-const DeployBadge = ({deploy, orgSlug, version, className}: Props) => {
+const DeployBadge = ({deploy, orgSlug, projectId, version, className}: Props) => {
   const shouldLinkToIssues = !!orgSlug && !!version;
 
   const badge = (
@@ -36,7 +37,7 @@ const DeployBadge = ({deploy, orgSlug, version, className}: Props) => {
       to={{
         pathname: `/organizations/${orgSlug}/issues/`,
         query: {
-          project: null,
+          project: projectId ?? null,
           environment: deploy.environment,
           query: stringifyQueryObject(new QueryResults([`release:${version!}`])),
         },

+ 8 - 2
src/sentry/static/sentry/app/views/releasesV2/detail/overview/deploys.tsx

@@ -14,16 +14,22 @@ type Props = {
   version: string;
   orgSlug: string;
   deploys: Deploy[];
+  projectId: number;
 };
 
-const Deploys = ({version, orgSlug, deploys}: Props) => {
+const Deploys = ({version, orgSlug, projectId, deploys}: Props) => {
   return (
     <Wrapper>
       <SectionHeading>{t('Deploys')}</SectionHeading>
 
       {deploys.map(deploy => (
         <Row key={deploy.id}>
-          <StyledDeployBadge deploy={deploy} orgSlug={orgSlug} version={version} />
+          <StyledDeployBadge
+            deploy={deploy}
+            orgSlug={orgSlug}
+            version={version}
+            projectId={projectId}
+          />
           <TextOverflow>
             <TimeSince date={deploy.dateFinished} />
           </TextOverflow>

+ 1 - 0
src/sentry/static/sentry/app/views/releasesV2/detail/overview/index.tsx

@@ -149,6 +149,7 @@ class ReleaseOverview extends AsyncView<Props> {
                         version={version}
                         orgSlug={organization.slug}
                         deploys={deploys}
+                        projectId={project.id}
                       />
                     )}
                   </Side>

+ 9 - 2
tests/js/spec/components/deployBadge.spec.jsx

@@ -22,13 +22,20 @@ describe('DeployBadge', function() {
   });
 
   it('renders with icon and link', function() {
+    const projectId = 1;
+
     const wrapper = mountWithTheme(
-      <DeployBadge deploy={deploy} orgSlug="sentry" version="1.2.3" />
+      <DeployBadge
+        deploy={deploy}
+        orgSlug="sentry"
+        version="1.2.3"
+        projectId={projectId}
+      />
     );
 
     expect(wrapper.find('Link').props('to').to).toEqual({
       pathname: '/organizations/sentry/issues/',
-      query: {project: null, environment: 'production', query: 'release:1.2.3'},
+      query: {project: projectId, environment: 'production', query: 'release:1.2.3'},
     });
     expect(wrapper.find('Badge').text()).toEqual('production');
     expect(wrapper.find('Icon').length).toEqual(1);