Skip to content

Releases created from API using project access token is not having author_id

On checking logs for the production data, we noticed that releases created using API with project access token is creating releases without author_id

Observed bot users with project access token creating releases from logs for the problematic projects noted in production data.

Screenshot from logs

But when checked with Rspec it was working fine:

diff --git a/spec/requests/api/releases_spec.rb b/spec/requests/api/releases_spec.rb
index c050214ff50..9bc286ba2ae 100644
--- a/spec/requests/api/releases_spec.rb
+++ b/spec/requests/api/releases_spec.rb
@@ -854,11 +854,29 @@
         end
       end

+      context 'when a project token is provided' do
+        let(:user) { create(:user, :project_bot) }
+        let!(:project_member) { create(:project_member, user: user, project: project) }
+        let!(:project_access_token) { create(:personal_access_token, user: user) }
+
+        it 'creates the release for a running job' do
+          job.update!(status: :running, project: project)
+          post api("/projects/#{project.id}/releases"), params: params.merge(private_token: project_access_token.token)
+
+          expect(project.releases.last.author_id).to be_nil
+        end
+      end
+

Validate the same if it is always the case when project access token is used or is it an edge case and fix the same.

Edited by Bala Kumar