Project Logus
Expand description
Logus
A GitHub application based on the Probot library for automating the collection of information in projects related to pull request events. Designed for installation within an organization.
Usage
Creating and Running a new instance
- install the Node environment
- run the following commands inside the source code directory:
npm install- install all necessary packagesnpm run build- transpile TypeScript code to JavaScriptnpm start- start the server handling the GitHub application
- register the GitHub application
- install within the organization
- restart using the command
npm start
Using a running instance
- Install the GitHub application within the organization
- Configure the settings
Configuration
The application's organization-level configuration can be done by adding a .github/logus.yml file to the .github-private or .github repository within the organization.
Storing the configuration file in the .github-private repository requires granting the application access to this repository in the organization's settings – https://github.com/organizations/YOUR-ORGANIZATION/settings/installations
Sample configuration logus.yml:
projectTitlePrefix: "monitor-"
openPullRequestDateProjectFieldName: "Open Date"
firstReviewSubmitDateProjectFieldName: "First Review Date"
lastReviewSubmitDateProjectFieldName: "Last Review Date"
lastApprovedReviewSubmitDateProjectFieldName: "Last Approve Review Date"
reviewIterationNumberProjectFieldName: "Review Iteration"
addPullRequestAuthorAsAssignee: false
projectTitlePrefix- the prefix of the project title where the information will be entered.openPullRequestDateProjectFieldName- the name of the field column where the creation date of a pull request by a user who is a member of a team with a name containing the keyword will be entered. The repository in which the request was created must be linked to the team. Optional parameter.lastReviewSubmitDateProjectFieldName- the name of the field column where the date of the last pull request review submission will be entered. Optional parameter.firstReviewSubmitDateProjectFieldName- the name of the field column where the date of the first pull request review submission will be entered. Optional parameter.lastApprovedReviewSubmitDateProjectFieldName- the name of the field column where the date of the last positive pull request review submission will be entered. Optional parameter.reviewIterationNumberProjectFieldName- the name of the field column where the number of currently completed pull request reviews will be entered. Optional parameter.addPullRequestAuthorAsAssignee- a parameter that determines whether the author of the pull request should be automatically assigned as an Assignee. Default isfalse.
Contributing
We welcome contributions! Please read our Contributing Guide to learn about our development process and how to propose changes.
Modules§
- behaviours/addAssigneeOnPullRequestOpened
- behaviours/behaviour
- behaviours/logDebugOnAny
- behaviours/messageVariable
- behaviours/updateProjectOnPullRequestOpened
- behaviours/updateProjectOnReviewSubmitted
- graphql
- graphql/mutation_addAssignee/addAssignee
- graphql/mutation_addAssignee/addAssigneeGenerated
- graphql/mutation_addProjectItem/addProjectItem
- graphql/mutation_addProjectItem/addProjectItemGenerated
- graphql/mutation_updateItemDate/updateItemDate
- graphql/mutation_updateItemDate/updateItemDateGenerated
- graphql/mutation_updateItemNumber/updateItemNumber
- graphql/mutation_updateItemNumber/updateItemNumberGenerated
- graphql/mutation_updateItemText/updateItemText
- graphql/mutation_updateItemText/updateItemTextGenerated
- graphql/query_getProjectId/getProjectId
- graphql/query_getProjectId/getProjectIdGenerated
- graphql/query_listOpenedProjectsInOrg/listOpenedProjectsInOrg
- graphql/query_listOpenedProjectsInOrg/listOpenedProjectsInOrgGenerated
- graphql/query_listTeamsInOrg/listTeamsInOrg
- graphql/query_listTeamsInOrg/listTeamsInOrgGenerated
- index
- logusContexts
- organizationConfig
- projectFieldValueUpdater